My programming toolkit

Post written by Deepak Surti

Posted: 10-Dec-2011

My programming toolkit consists of:

  • Touch Typing
  • Editing: vi (according to me, Emacs is lame)
  • Document Creation: Latex
  • Programming: Lisp, C, Assembly, HTML, CSS, Javascript,detective
  • Shell Scripting
  • Mastering the usage of *nix desktop (Mac OS X) and server (Linux Ubuntu LTS)
  • Compilers Internals design (Lisp only, optionally C)
  • Algorithms, Data Structures
  • Digital Electronics
  • Fundamentals of Networking, OS and Math for CS

Anything other than above is forced upon me by circumstances. For example, when I had to work in Java, I created a setup centered around vi and ant/maven. When I had no access to vi, I used Eclipse IDE with vi plugin.

With this toolkit, I am confident enough that I can tackle any kind of project. The most important thing is to do it. Whatever be the resources I use for learning, if I am not doing, not producing; its a waste. So when I learnt vi, I went and used it in my workplace.

In my honest opinion, to adopt such a counter culture toolkit requires willingness to put in the effort, hours of hard work to learn the tools, and energy to crush consequential resistance. But then I realized that most of all it needs courage on my part (other than minimum latent ability). So whenever in a quandry, I just measure myself on the courage scale and I get a pretty good guess as to how far can I go.