Thursday, November 26, 2009

IE is being mean to me again

Exactly my sentiments.



BTW, Artha42 is also hiring talented and passionate developers. Drop in a like to careers artha42 dot com, if you are interested.

Wednesday, November 11, 2009

Artha42 is hiring

Artha42 is hiring. I have been conducting a lot of interviews lately and am completely dissappointed at the state of freshers coming out of engineering colleges. They spend 4 years supposedly studying IT and Computer Science and cannot answer a simple question like fizzbuzz. Come on. I completely agree with krishashok on this one. Chennai does have concentration camps and they are the bane for a creative society.



If there are guys wanting to work in a fun, passionate and challenging environment, please send your profile to careers artha42.com.

Wednesday, October 07, 2009

Modifying Radiant's Database Mailer

Radiant's Database Mailer is an wonderful extension that can quickly set up mailer forms and add stuff to the database too. But they have tried to do some serious magic to ensure that arbitrary structures can be imported by defining them in the config/environment.rb. That is a bit too hacky for Rails to handle.

If you decide to change the structure any time later, you cannot migrate those changes. That is quite a bummer. The crazy part is you cannot uninstall Database Mailer after that either. It keeps reporting an "undefined method set_schema_version" error. To uninstall it you have to manually nuke the form_datas (isn't data already plural?) table and related attachment tables. You also have to remove the migrations in the schema_migrations table manually. Can someone suggest a better alternative?

Saturday, September 26, 2009

Getting to tolerate Radiant

I have been working with Radiant for the past couple of days. It is definitely impressive. But I simply hated the fact that you need to work within the confines of the browser's textarea to fill in content. This is just plain lame. I am so used to Vim that typing within that small window is just plain irritating. You can of course copy paste stuff from and to vim but that is equally lame. Luckily there are a couple of ways you can work around this.

The first being the "Its all Text" extension. Its all text enables me to type anything that I type in a text area in vim. It is actually pretty cool.

The second being radiant-file-system-extension. It allows me to use the file system and version content with git. Happy hacking with radiant.

Wednesday, April 29, 2009

Git Branch on the command prompt

It is sometimes very useful to know the git branch you are working on right from the command prompt. You can do this by editing the ~/.bashrc file.



This will show up a prompt which looks like this and fails gracefully when you are not on a git repo.


vagmi@deepthought:~/work/testproj[master]$ git checkout new_feature
Switched to branch "new_feature"
vagmi@deepthought:~/work/testproj[new_feature]$ cd ..
vagmi@deepthought:~/work$


This saves a lot of "git branch" when you are coding.

Wednesday, April 22, 2009

Liquid and Sinatra

Liquid is a templating language used when you need safety for your templates. I was planning to build a CMS and Liquid fit the needs of a templating library really well. I also like Sinatra for its simplicity. Unfortunately, Sinatra did not have support for liquid yet so I went ahead and built one. You can get that from my liquid topic branch on github.

There are few significant changes that you need to care about when using liquid instead of ERB or HAML.


  • None of the local members or class members declared will be available in your template

  • The locals hash is respected even for the layout.

  • You have to use {{ content }} in your layouts, instead of yielding.



And finally a "hello world" sinatra app with liquid.



Do let me know if you like it.

Wednesday, April 15, 2009

Wednesday, April 01, 2009

Lets build something already

Have ever had the feeling that when you wanted to get started with something, something else had to be done first. If you are a lone hacker banging out code, you are probably fine as you know what you are building. You do not ever have to write it down. But in teams it is vitally important that everyone knows what they are actually building.

This is where product managers and project managers come in. They are supposed to have a holistic view of where the project is and where it is heading to. They are the communication hubs who deal with all sorts of information about a project and protect the team as virtual filters. The team then gets information from a single source. But you might ask what happens when there are multiple project managers and product owners but no developers in a planning meeting. The meetings tend to be something like this.



Fortunately, there is an easy way to deal with this. Get building something already. It is far easier to figure out if the presented solution fits your needs than to speculate on how it would look like. So to all the teams that are suffering from this analysis paralysis, this is my advice. Stop discussing and start building.

Wednesday, February 11, 2009

An interview with Ayn Rand

Objectivism is very relevant, especially in today's context.

Part 1





Part 2





Part 3



Sunday, February 01, 2009

A video on the monetary system

Apart from the conspiracy theory part in the end, this is by far the best explanation of the current monetary system.

Wednesday, January 07, 2009

India, say hello to Corporate Greed

I was browsing the net about the Satyam fiasco when I saw this. What infuriated me were the comments on the blog. They are asking people to stick to the company. This is the time the talented people should extend their middle finger and say FUCK YOU to the management. Make sure you enunciate that properly. It works best if told in groups. Tell it with enough intensity to make them die in shame.

Stay with Satyam... Are you crazy?? Jump the ship now. Don't commit a career suicide. If the man had an ounce of dignity he would not have jeopardized the life of so many people. Indians do not have social security. If a guy in India does not have a job, he is literally on the streets.

Ramalinga Raju was sure as hell not maintaining family accounts. The CFO, other senior managment and the financial/controlling staff would have known this. I am sure PWC would have spotted this and would have been duly silenced. Corporate Greed has entered India.

If you are a good programmer, you would not have joined Satyam in the first place. But if you are there, jump now. You may not get a raise, but what the hell. You can get out of the depressing situation and have a chance a save your soul.

The following days to come in an organization like Satyam would be extremely depressing and would be enough to demotivate a motivated soul. It would be full of bureaucracy where mediocrity will reign supreme. Sounds like a fun place to work?? Hell no. If you you are a rockstar coder, this is your chance.

Get out of the hell hole now.

Wednesday, December 24, 2008

An accidental trip to erode

I am blogging from Hotel Le Jardin. This hotel is amazing and has free Wi-Fi. The breakfast was one of the best I had. How I got here is a topic of another blog post. It was a completely unplanned travel. More on this later. If you are anywhere around this area, Hotel Le Jardin is definitely the place to stay.


View Larger Map

Free WiFi Rocks. :-)

Tuesday, November 18, 2008

HTML Helper Mode and Indentation

This is my third post for the day. I blogged about this and this earlier today. Writing smaller pieces regularly works much better than waiting for the big post. Commenters, do let me know if you like this style better.

I am really irritated with the html-helper-mode's indentation. It flattens the code rather than indenting it. I missed my tidy command from yesteryears when I did not use emacs. But I am coding on emacs now. I do not have to miss anything from within emacs. So, I added a tidy-html function to format the html as properly indented XHTML.



And I absolutely love Gist. It has solved all the quirks involved with posting code on a blog.

Meetings and Boredom continue

I am sitting on yet another boring meeting and have written a script to write it to a PDF. Its not a pretty one but I got it done in 30 mins. That has to count for something. You would need ReportLab and PIL for this.



Beautiful Soup and ReportLab rock.

Meetings and Boredom

I am sitting in a really boring meeting. I was browsing reddit and found a very interesting dilbert script. I am a huge fan of Dilbert and wanted to download Dilbert strips for offline viewing. I know its not entirely ethical but what the hell. I wrote a small python screen scraper to do that. This requires you to download Beautiful Soup. If I am too bored, I will write a script to compose it as a PDF.

Thursday, October 09, 2008

Hello Clojure


; HelloClojure.clj
(import '(javax.swing JFrame JLabel)
(doto (JFrame.)
(add (JLabel. "Hello Clojure!"))
(setTitle "Clojure!")
(pack) (show))


I have a strong feeling that the lisp is all set to make a comeback in the enterprise. Check out Clojure.

Dedicated to all the souls plagued with the horrors of sane concurrency.

Sunday, October 05, 2008

Sunday, September 28, 2008

PMP?.. me?... you must be kidding

I was reading my dilbert strips, when I noticed the ad below.





Seriously! Do they really think that people who enjoy dilbert would like taking a PMP certification exam to become a (better) project manager? People, who know me, know that I have a low opinion of certifications. What they probably do not know is that I have a even lower opinion of these kits that provide improbable percentage of "Unconditional test pass guarantee". I followed the ad and was greeted with the following error.




I did a little more digging to find out about it. They have dropped 50% chance of you passing and the guarantee is no more unconditional. The comments below have "brain dump" screaming all over it.

There is really not much to project management. You have to manage priorities of the stake holders. You have scope, time and cost as your constraints. But what they dont tell you is that you cannot treat people like replacable cogs. The stuff that they teach you in PMP is a bunch of processes and the PMP certification exam is a test of memory. Having a PMP certification does not mean jack about your project management skills. In fact, I would be wary of a person who claims that PMP helped become a project manager. It is not that I have absolute distrust in certifications... oh wait .. I do. They can be cheated very easily. I know of a dozen MCSEs, MCPs (not male chauvinistic pigs), PMPs who do not have a clue of the stuff they have got certified in.

I don't know why organizations pushing for PMP certifications for their employees. I am sure there is some sick demented reason why they are doing so.

  • Hire people with common sense. (This would only work if you have common sense.)

  • Promote your developers with a good aptitude towards management to management.

  • Don't recruit B-School grads who haven't written a line of code straight off the school to do project management

  • And for heaven's sake don't assume that people with PMP certifications are knowledgeable in project management. They have only made PMI wealthier.



If you want your project managers to be better project managers, ask them to read "The Mythical Man Month". That book is quite relevant even in today's context.

Thursday, August 28, 2008