Tuesday, August 31, 2010

First Track Call Taxi - Epic Fail

I have got royally screwed by the First Track Call Taxi company. I cannot imagine a more irresponsible call taxi service. I was supposed to be picked up at 4 AM by a driver by the name "Nethaji" but was however informed by the driver upon my calling him at 4:10 AM that the vehicle broke down and he is not picking me up. I called the "office" to only find out that they had trusted that the driver had called me several times while I can vouch that I was awake from 3 AM packing awaiting the phone call from the driver. This level of incompetence is simply staggering. But this is the age of buyer beware. Just because an entry has a "JustDial Guarantee" it does not mean that you are guaranteed a service, let alone good service. It is just guaranteed to be available as a search result. It is quite clear that I will not be using the services of this firm henceforth. Do not deal with these guys. They are simply not worth your time.

@JustDial - Please remove the guarantee from their entry and publish this as such. I am not sure if they are masquerading as a call taxi firm and are doing something else. Please note that I am not complaining about the quality of the service. I just did not receive any service at all. In that sense, the JustDial Guarantee does not mean anything to me. Also, let me give you a free SEO tip. Please generate a different URL for each item.

Tuesday, July 27, 2010

Yes Men Fix the World

This is by far the best movie/documentary I've ever seen. Yes Men deserves a special mention and should be viewed by everyone. This sort of a film can never be published by a corporation steeped in the free market system. The YesMen have made an excellent decision to publish it via thepiratebay.org. The documentary is a very hilarious take on some of the very serious issues that is haunting the world today. A few people in the system have gotten unimaginable money and clout over the affairs of the state. Globalization has made our systems so complicated that no one individual can actually figure it out. Yet it seems that America is making decisions for the rest of the world. A nation where bills and laws are marketed by lobbyists who have deep pockets. This is a perfect recipe for a disaster.

This movie portrays some of the evils of capitalism (that I often find very hard to articulate) in a very simple and effective manner. This movie is a wake up call for us. I guess this is the day of tapes and sting operations. However, in a country like India where one's civil rights are under question, there is no guarantee for one's electronic rights. But I firmly believe that an open medium such as the internet is essential if we still have to retain the freedom of speech.

You can download the movie from the YesMen website. Do not forget to make your donation. I made mine.

Tuesday, May 25, 2010

My hacking playlist

This is my hacking playlist. My brain has registered these songs really well. For some reason, these help me get in the zone.



Happy hacking.

Friday, February 19, 2010

The magic of Y

I have always been a fan of lisp. I spent my fair deal of time with emacs and emacs lisp. Scheme and Dr.Scheme have always fascinated me. I am searching for a good excuse to put Clojure into action. However, I am sometimes blinded by the awesomeness of Ruby which I do a lot as a part of my day job. But Lisp is too beautiful for my mind to ignore. One of those things that interest a lisp hacker is this concept of fixed point combinator.


A fixed point combinator (or fixed-point operator) is a higher-order function that computes a fixed point of other functions. A fixed point of a function f is a value x such that f(x) = x. For example, 0 and 1 are fixed points of the function f(x) = x2, because 02 = 0 and 12 = 1. Whereas a fixed-point of a first-order function (a function on "simple" values such as integers) is a first-order value, a fixed point of a higher-order function f is another function p such that f(p) = p. A fixed point combinator, then, is a function g which produces such a fixed point p for any function f:

p = g(f), f(p) = p


or, alternately:

f(g(f)) = g(f).


Shamelessly ripped from Wikipedia


One of the best papers I had read so far is the Why of Y(pdf). This derives the Y combinator and I thought it was beautiful derivation. However, the author uses terms like currying which is interpreted by my indian mind as a tasty gravy rather than a technique to break down a series of arguments to multiple function calls. But then I read Peter Krumin's derivation of Y combinator. This is just magical. He takes small baby steps with working scheme code and does not mix up terms used in indian recipes. This is by far the best derivation of Y-combinator I read in years.


Y combinator


Disclaimer: I haven't read The Little Schemer yet. I am now looking for a good excuse to use scheme/clojure for my next project.

Friday, February 12, 2010

Statistics is important

This is important.


The population of india
- 1.148 Billion
The population growth rate - 1.58%
Number of people that will be added this year - 1.8 Million
Population of chennai - 4.34 Mio

So we will add almost half of chennai in the next year. In this rate, the number of years it will take for us to double our population is approximately 45 years. Think about it. Do you really want to have children? We do not have enough resources to feed the entire country at this point.

Monday, January 25, 2010

Logarithm to any base in ruby

Ruby's Math module includes functions for a natural log (log to the base e) and the common log (log to the base 10). If you have to have a log to an arbitrary base, you have to write your own. Doing so is trivial.



I will probably explain the theory behind this another day.

Wednesday, December 23, 2009

Markov Chains

You know developers have an itch to implement something cool that they learned about. No can say it better than XKCD.



I learnt about Markov Chains today.

In mathematics, a Markov chain, named after Andrey Markov, is a discrete random process with the Markov property. A discrete random process means a system which can be in various states, and which changes randomly in discrete steps. It can be helpful to think of the system as evolving once a minute, although strictly speaking the "step" may have nothing to do with time. The Markov property states that the probability distribution for the system at the next step (and in fact at all future steps) only depends on the current state of the system, and not additionally on the state of the system at previous steps. Since the system changes randomly, it is generally impossible to predict the exact state of the system in the future. However, the statistical properties of the system at a great many steps in the future can often be described. In many applications it is these statistical properties that are important. - From the wikipedia entry on Markov Chains


It was so cool that I decided to do something with it. So I wrote a simple helper that generates articles for the app that I was testing. Here is the code in all its glory. It is not the fastest piece of code and is a memory hog, but who cares?



This is how you use it.



And this produced this fine article. Isn't this cool?