Git Is Gone In OS X Mountain Lion

gitThis blog post is for a very specific group of people who cared enough to notice that git command line tool is not working on their brand new MacBooks with Mountain Lion! If that sentence didn’t make sense to you, then you are probably at the wrong place. I got my new Mac last week and I wanted to clone some code from Github. So I opened the terminal to clone it and behold, “git” is apparently not a recognized command! I have already installed the latest developer preview of Xcode (version 4.6 DP3), so what went wrong here? It turns out that we need to manually install the git command line tools. We still live in a world where git is not an integral part of all the systems! Xcode 4.6 doesn’t install the command line tools by default, and Git is one of the tools included in these command line tools. Anyway, there’s a simple fix for it.   Continue reading “Git Is Gone In OS X Mountain Lion”

How To Build A Web Crawler?

webI was reading an article the other day and I came across the term “web crawler”. The context in which it was used got me a little curious about the design of a web crawler. A web crawler is a simple program that scans or “crawls” through web pages to create an index of the data it’s looking for. There are several uses for the program, perhaps the most popular being search engines using it to provide web surfers with relevant websites. Google has perfected the art of crawling over the years! A web crawler can pretty much be used by anyone who is trying to search for information on the Internet in an organized manner. It is referred to by different names like web spider, bot, indexer etc. Anyway, that article got me thinking about building a web crawler. I just wanted to fiddle with it and see how much time it will take to get something working on my machine. It turned out to be quite easy!   Continue reading “How To Build A Web Crawler?”

Perceiving The Perceptron

multi layer perceptronIf you are hearing the word “perceptron” for the first time, it sounds a lot like a futuristic robot which can perceive things right? Well, that’s not exactly what it means! Perceptron is a machine learning algorithm for supervised classification. It is one of the very first algorithms to be formulated in the field of artificial intelligence. When it first came out, it was very promising. But over the following years, the performance didn’t exactly reach the expectations. It was studied for many years and the theory was modified and extended in a lot of ways. Now, it has become an integral part in the field of artificial neural networks. So what exactly is a perceptron? Where do we use it in real life?   Continue reading “Perceiving The Perceptron”

Reimann Hypothesis And Its Connection To Cryptography

Over the centuries, mathematicians have been involved in solving some of most complex problems. But what is the motivation behind that? The pursuit of truth! But The Clay Mathematics Institute thought that there should be a little more than that. So to celebrate mathematics in the new millennium, they established seven Millennium Prize Problems. The prize money for each problem is one million dollars. That’s pretty exciting! These were some of the most difficult problems over which many mathematicians were racking their brains. Reimann Hypothesis is one of them. The interesting thing about this particular problem is that it has far reaching consequences in the field of modern cryptography and internet security. Now how can an obscure and complex mathematical problem affect cryptography and internet security?   Continue reading “Reimann Hypothesis And Its Connection To Cryptography”

Onion Routing

I was recently reading some literature about data encryption and I stumbled across an interesting concept. The classic secure communication model is the one where the sender encrypts the message and sends it across the network, which is then decrypted at the receiver’s end. In real life, this is done over several networks and several routers. This method works well because we assume that the routers are completely secure and they do exactly what they are told. Now what if a router is compromised on the path? An attacker will be able to monitor all the traffic that goes through it. Once the attacker gains control of the router, many bad things can happen like decryption of secure messages, false communication, leakage of sensitive details etc. How do we prevent it?   Continue reading “Onion Routing”

The Power Of A/B

Designing a website is more of an art than a science. There are a million different ways to design a website and achieve a particular goal. We want our websites to eventually become popular and make money. Once the site is designed, it cannot be stagnant for long either. But how do we know if the users will like the new design? User base is critical and losing them is very risky. Once the users lose trust, it’s very difficult to earn it back. We want to take the guesswork out of website optimization and enable making decisions based on real data. By measuring the impact of the changes, you can ensure that every change produces positive results. So how do we do it?   Continue reading “The Power Of A/B”

Near Field Communication (NFC)

Near Field Communication (NFC) is a form of contactless communication between devices like smartphones or tablets. Contactless communication allows a user to wave the smartphone over a NFC compatible device to send information without needing to touch the devices together or go through multiple steps setting up a connection. This is very fast and convenient. NFC technology is popular in parts of Europe and Asia, and is quickly spreading throughout the United States. It is very useful to people who are buying things at a grocery store, businesses looking for faster and secure payments methods for customers, friends touring some unknown place, etc. So what exactly is the technology behind NFC? Is it any different from bluetooth?   Continue reading “Near Field Communication (NFC)”

The Butterfly Effect

This blog post is a continuation of my previous post on Chaos Theory. Although it is not required for you to read that post to understand this post, it would be better if you glance through it once. All of us have heard about the Butterfly Effect. It is one of the very famous examples given in the field of chaos theory. I should also give credit to the movie “The Butterfly Effect” for popularizing this term. So what exactly is butterfly effect? Is it just a theory? Where does it happen in real life?   Continue reading “The Butterfly Effect”

Chaos Theory

Chaos Theory is a mathematical sub-discipline that attempts to explain the fact that complex and unpredictable results can and will occur in systems that are sensitive to their initial conditions. Some common examples of systems that chaos theory helped understand are earth’s weather system, the behavior of water boiling on a stove, migratory patterns of birds, or the spread of vegetation across a continent. The Butterfly Effect is one of more famous examples of chaos theory. I have discussed more about it here. Chaos occurs in nature and it manifests itself in various forms. Chaos-based graphics show up all the time, wherever flocks of little space ships sweep across the movie screen in highly complex ways, or whenever amazing landscapes are displayed in some dramatic movie scene. It is used a lot in movies to generate obscure background using computer-generated chaos art. So what exactly is chaos? How does it work?   Continue reading “Chaos Theory”

Python Development In Eclipse

As your code gets bigger, effective code management becomes an integral part of your project. This post is about setting up Python development environment in Eclipse. Most of the Python developers will already be aware of this. For those of you who are not, read on. Eclipse is an IDE which supports many different languages. It has plugins for various different frameworks as well. We will discuss about how we can set up everything from scratch. Once you set everything up, you will be able to run and debug you Python code easily. It provides many different options and it has a nice UI too.   Continue reading “Python Development In Eclipse”