Google Analytics

Saturday, January 1

The Technical Resolutions for 2011

When running you own company, every year is full of new challenges and learnings. And so was the 2010. However looking back, I am feeling that I didn't gain so much on the technical side.


The two major things that happened on this year were e-books and the launch of online distribution. Our e-book platform is in the first iteration and still very primitive. We have identified many issues by now which will get fixed in the installment. Online Distribution required a lot of overhaul to the basic pricing mechanism which meant bunch of new Drupal modules. And as the year ends, I am just about wrapping up the new sales dashboard which was long overdue!

We also worked on couple of interesting projects over the summers with 2 interns both of which were in Python/Django. One of them made further improvements to blog2book platform. It is a shame that it has not been pushed to production yet. Primarily due to the memory troubles we are having on VPS and which I have been unable to resolve with Apache. The other project was also close to my heart but has been deprioritized for the moment. We cannot stretch ourselves too thin. Right? :)

The third set of technical work came from the consulting gig where I am working on some NLP/ML stuff. For the first time, I worked with Lucene and returned to Java after a gap of few years. Lucene is a nice technology and replacing the Google CSE based search on is high on my agenda for the next year. Also did some work on Anaphora resolution which I hope will bear fruits in 2011!

So apart from Lucene, I mostly struck to the well known grounds of Drupal and Django. Not to say that there are no technical challenges in those two but a geek always needs new toys to play with :). So for the next year, I have made a list of technical stuff I want to explore:

HAML, SAAS & CoffeeScript
Basically HAML, SAAS and Coffeescript are better ways of writing HTML, CSS and JS respectively. I have the basic idea about the first 2 but never used them in my projects. This year I will try them out in some live project.

Explore SproutCore, Backbone.js
Some of the coming projects on will be heavy on client side. I have been eyeing both SproutCore and Backbone.js for some time. Not to get my hands dirty :)

Learn Haskell - write a non-trivial application in it
Since I started learning Python last year, my affection for functional programming has been increasing. In fact, I have started using more and more array_reduce, array_map and array_filter combined with closures in PHP as well. Also returning back to Java has only made me more impatient with the verbose languages. So time to dig into some Haskell, I say!

Explore Git. Release at least one open source project on Github
Yes, shame on me. But I am a SVN user and I like Trac. However Git combined with Github is more then a version control system. It is now a social system and I am already feeling left out. Need to got on it asap.

Explore the android platform. Develop at least one app.
I bought a LG One P500 Android phone couple of weeks back. Already addicted to Angry Birds :). But it looks interesting as a platform. Also constrained resources == more fun programming.

Learn SQL better. Learn MySQL better. Learn all about database optimization.
So I have never run a Explain on any sql query. Part of the blam must go to Drupal where I survived 1.5 years and many modules before writing any database queries. But now that I am doing more DB stuff in Drupal also, this will change.

Finish reading Beautiful Code. Read Founders At Work.
Beautiful Code was one of my rare impulse purchase online. Have read few chapters and enjoying it. If I manage to finish it within 2011, I will buy Founders At Work.

I know it doesn't look very ambitious. Most of this stuff is already old and past the cutting edge. But let's say this is the lowest to which the bar is set. Let us see how high can I go.

On this note, I wish all of you a very happy and productive new year! Hack on!