Monday, October 31, 2011

Supercharge Programmer Productivity

As someone who programs for a living, I spent a few months looking for ways to develop rockstar programming skills (like this guy)--something that would give me an edge over the rest of the amazing programmers out there. 

Tools such as Vi/Emacs and the nifty shortcuts they offer only carried me so far. Really what I wanted was to be more productive. This translates to more functional code in less time. I wanted to design a program by mid-morning, code the core classes before noon, write wrappers and extensions after lunch, and wrap things up with a bow before the end of the afternoon.



These four principles below are the secret:
  1. Learn to type more accurately
  2. Learn to type faster
  3. Find ways to type less
  4. Use IDEs whenever possible


Although I hated to admit it at the time, I realized that I needed to work on two core computing skills--typing speed and typing accuracy.


Before I Started:

Before I started, I used this tool (which I have no affiliation with) to profile my typing speed. I clocked in at an embarrassing 40 words per minute with about 70% accuracy. This meant that I not only typed slowly, but was constantly hitting the backspace button to fix my blunders.


The Plan:

I decided to practice my typing for about 15 minutes every day (right before I quit using my computer for the day). My plan was to do this consistently everyday for eight weeks to see if I could feel a difference.


For Those Who Crave Immediate Gratification:

After three weeks, I noticed an increase in my productivity levels on the computer. Not just in terms of coding, but also in the speed of my email responses, the time in which I could put together a powerpoint presentation, and write detailed documentation. 


When I checked the metrics on the website again, I clocked in at 80 words per minute with 80% accuracy. This was 2X my stats two weeks go.


To Sum it all up, these four principles below are the secret:
  1. Learn to type more accurately
  2. Learn to type faster
  3. Find ways to type less
  4. Use IDEs whenever possible

Sunday, October 30, 2011

MongoDBsnp: Stub Code for Getting DBsnp into a NoSQL Database

I've been wanting to experiment with MongoDB and NoSQL for a while now. I decided to load dbsnp data into a mongoDB database. It worked!

However, after learning more about the appropriate use cases of NoSQL and how they contrast with the appropriate use cases for SQL, I decided that I don't have any immediate applications I can incorporate MongoDB into just yet.

I've uploaded my code here:
https://github.com/ngopal/mongoDBsnp/

You will, of course, need to download mongoDB from the mongoDB website.