My Programming Toolkit

I got back to being a technologist in early 2013 after years of focusing on my career as a “Technology” Manager. I got to do some coding in Python at work but more interesting was the time I spent over weekends playing around with open source languages and tools at home.

This is when I read “The Pragmatic Programmer: From Journeyman to Master” by Andrew Hunt and Dave Thomas – a book I should have read at the beginning of my career. It nevertheless gave me several “aha” moments as I connected with the basic mistakes I committed as a programmer. In particular, I enjoyed the chapters around “The Basic Tools”. I remembered how I always used vi as my code editor and carried my personalized vimrc profile along with unix-like command like interface for Windows.

I created my own development environment and enjoyed the weekends and holidays working on my personal pet projects. This carried on for about 2 years but after I signed up for a new job, I started to focus on setting up things at work and could not spend time on my personal technology projects. After about three years, I logged back into my personal development environment. I started with upgrading Eclipse and VirtualBox to latest versions. Surprisingly, I did not feel as rusty as I did three years back.

The list of installed software I had documented helped a bit but realized it will be more helpful for future to also document the nitty gritties involved while going through the setup. Hence this blog!

My tools:

IDE: Eclipse – having started my career as a Java developer and wanting to setup my personal development environment with 100% open source stack, Eclipse was a natural choice. I was amazed at how the ecosystem had matured over the years, with excellent plug-ins to deal with all development needs. A far cry from the days I was a programmer when I had to write code using gvim, compile on the commandline and debug using print statements!

Editor: vi (Vrapper plug-in) – I believe in “The Power of Plain Text” and appreciate an editor that forces discipline. During my early programming days, it was annoying to use vi with the constant switching between editing and command modes. But after I got used to it, I am yet to find a basic editor to beat it! Vrapper plugin brings in the power of vi to Eclipse code editor.

Source code version control: git – EGit plug-in provides git integration for Eclipse. I started my career with cvs but this is one area that has evolved over the years with git emerging as the leading open-source distributed version control system.

Language plug-ins:

Java: JDT – Eclipse started with Java and I always installed it with JDT by default.

Python: Pydev

PHP: PHP Development Tools (PDT)

Virtualization: Oracle VirtualBox – helped me get back in touch with unix / linux. And also enables to test java programs in linux environment. I have Ubuntu desktop on my virtualbox.

Unix-like command line interface: Cygwin

Git repository sharing: SCM Server

Desktop sharing: TeamViewer

Document editor: LibreOffice

LAMP stack runtime: XAMPP