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, July 27, 2010
Yes Men Fix the World
Posted by
Vagmi
at
11:45 AM
0
comments
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.
Posted by
Vagmi
at
10:49 PM
1 comments
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.

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.
Posted by
Vagmi
at
6:47 PM
0
comments
Labels: clojure, lisp, y-combinator
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.
Posted by
Vagmi
at
5:59 AM
0
comments
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.
Posted by
Vagmi
at
1:34 AM
1 comments
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?
Posted by
Vagmi
at
5:51 AM
2
comments
Labels: fun, markov chain, ruby
Tuesday, December 08, 2009
The problem with certifications
There was a question on ILUGC today to which I responded. I am reposting it as a blog entry.
You should first understand how certifications work from the perspective of a vendor who offers such certification say Microsoft, Redhat or SAP. The vendor has an economic interest in selling his product to a company. The company which buys a product (or a service in case the of Redhat) wants to know if the product/service they buy can be used by people they are going to employ. This is where the brilliance of marketing sets in.
They con the students and the candidates in the job market that there are several jobs awaiting them if only they clear the certification in their technology. They then go and talk to all the colleges and institutes like NIIT and convince them to market the certification and give them the necessary materials to make it a course. They then contact book authors who fill in pages and pages with mind numbing facts about the technology. The institute in the meanwhile has started tailoring a course and claims that it can get you from a dud to a certified professional in 3 months. As with any statistical distribution in a country with a billion people, a sizable few take up the certifications. The first few batches are always tough. Only the good guys clear the first 3 or 4 batches. But good guys like to share knowledge. So they share the dumps with the world.
The vendor does nothing to oppose this as they need that pool of skills in the market. After they have got enough number of people with the piece of paper with the name of the vendor and a printed signature of the CEO/founder of the company, the marketing department gets busy making powerpoint slides. The slides have graph of stating the number of people who have finished the certification and how easy it would be for their customers to find the right skills. And since the numbers (supply) are aplenty and the licensed customers are a few (demand), by the laws of economics, they should have no problem in finding people with the right skills (and a cheap pay).
The mindless HR then goes and "recruits" people with certifications. So if you notice, if you are a good candidate, you can lower your value just by getting certified. There are alternative means to improve your employability. You can start contributing to open source for a start. Do not pick difficult projects. If you cannot find a project, try building something. Try creating a simple webapp or a game. I am seeing too many freshers with "Biometric AI-Driven Neural Network Enabled Grid Based Path Finding World Domination Engine" on their resumes. And they want me to believe that they did it in 3 months without being able to write fizz buzz in their favorite language.
As an employer myself, I would recommend you to do the following. Take up a small project. A small pong game or a simple webapp that solves your problem and document all your learnings in a blog. This will make you a better writer and a better programmer. Use open source technologies. Apart from being the best choice in terms of freedoms that you get, you also get to interact directly with better programmers in mailing lists like these.
To pioneer a change, I, on behalf of Artha42, am ready mentor a select group of students every year. Your work will be entirely open sourced. I promise that you will not write a single line of proprietary code. That said, we are not Google. We are a small startup with limited resources. We cannot hold something as large as the Google Summer of Code. But we can do something smaller. If you are interested in such an internship opportunity, do drop in a line to careers
Posted by
Vagmi
at
4:15 AM
3
comments
Labels: artha42, certification, rant
