Programmer’s tools

Here are some of the tools that I currently have installed on my dev machine. Most of them are freeware or have free versions available.

IDEs

  • Visual Studio 2003 and 2005 – The essential IDE for any professional windows developer, I only have C# and C++ installed btw to keep resource usage to a minimum. The Visual Studio series are some of the best IDEs I have used, everything can be easily customized and the whole product has great automation and command line support, for e.g. instead of searching for a file to open in the Solution Explorer, you can simply open the command window and say “open <filename>”, you even get autocomplete help for all commands and filenames. If you don’t have Visual Studio 2005 professional, you can get the freely available Visual Studio Express editions which are good enough for most purposes.
    • Addins

    • DevMetrics – Allows you to generate project statistics like LoC, Cyclomatic Complexity etc.
    • GhostDoc – Fantastic add-in that generates comments.
    • TestDriven.Net – Great support for Test Driven Development without ever leaving the IDE.
  • Eclipse 3.2 – Great IDE for Java development. One of the things I disliked about it is the number of configuration options you have to make to customize a basic install. An alternative that has better defaults out of the box is NetBeans 5.5 but I found that to be a bigger resource hog than Eclipse and finally uninstalled it.
  • Aptana – This is the new kid on the block, targeted at web developers, this IDE provides great support for HTML, CSS and JS editing and debugging. The latest milestone 8 release incorporates a Javascript debugger that is integrated with firefox and also works with FireBug. Another awesome feature is the content-assist(intellisense) for javascript files. In fact the content-assist is so cool that for core js methods it actually shows the DOM level compatibility and supported browsers as well.

Editors

  • Notepad++ – I like Notepad++ for primarily for its visual appeal and keyboard shortcuts that are more or less like VS.Net, which I find quite comfortable to work with. Also this is the one editor I use most frequently for editing plain text. This rocks as a Notepad replacement.
  • PSPad – This is a great programmer oriented editor, it has tons of functions that you can use to make editing code easy, like code explorer, hash generator, lorem ipsum generator, autocomplete, char codes, inbuilt hex editor, file comparer, macros and tons more. Also PSPad has excellent multifile and project support.
  • Komodo Edit 4.0 – Stripped down version of Komodo IDE, but still has the most useful functions of editing and intellisense for dynamic languages like Perl, PHP, Python, Ruby and Tcl; plus has support for browser-side code including JavaScript, CSS, HTML and XML. I found the intellisense for JS, CSS and HTML to be lacking when compared to Aptana.

Debugging

  • Microsoft Debugging Tools for Windows – Includes WinDbg and the console debuggers, useful for some low level windows debugging.
  • OllyDbg – I use both OllyDbg and WinDbg , OllyDbg has a more intuitive UI, but WinDbg is more powerful in the commands that it provides, not to mention that for .Net debugging there is no other alternative than WinDbg

System monitoring

  • SysInternals tools – One of the first tools I install on a new system, awesome set of utilities from Mark Russinovich and Bryce Cogswell, Mark is one of the authors of the best book on windows internals, aptly named Windows Internals. Process Explorer is an essential replacement for Windows Task Manager, Autoruns to get rid of those pesky startup items and a whole host of other things that delay startup, and process monitor to monitor registry and filesystem activity of a process are the top 3 tools from this suite that I use.
  • Microsoft Network Monitor 3.0 – Sort of like ethereal but with Microsoft branding, great for examining low-level network traffic to debug communication issues.
  • Fiddler 2 – Awesome tool from Microsoft to intercept HTTP traffic.

.Net

  • Reflector – Absolutely essential for a professional .Net developer, decompiles .Net assemblies and has a host of wonderful plugins.
  • Snippet Compiler – A nifty little tool to quickly test out code snippets, without creating a full fledged VS.Net project.
  • Regulator – Essential companion to any sort of regular expression work, initially written by Roy Osherove.

Image Editing

  • Paint.Net – I use this as my standard image editor, Paint.Net replaces GIMP which I used to use a couple of years back.
  • IrfanView with plugins – Best tool for image viewing, has tons of plugins and the base application allows gives you the most information possible about an image and has excellent support for the most basic of image manipulation functions.

Browsers and Add-ons

  • Firefox – Standard browser.
    •  FireBug – One of the best ff add-ons for web developers. Supports DOM and CSS manipulation on the fly which really cuts down on the development time.
    • Javascript Debugger – Great for debugging javascript
    • Web Developer toolbar – Another useful web developer centric add-on
  • IE 7.0 – Can’t help it.
    • IE Developer toolbar – MS’s answer to Firebug, more limited in functionality though.
    • Tamper IE – For intercepting HTTP GET and POST requests. Great for security testing.
  • Opera – For testing, love the speed dial.

Utilities

  • SlickRun – Extensively used to launch most tasks that I do on a daily basis. This is a small window that floats on your desktop, which you can use to launch applications and commands. Very lightweight and stable.
  • Launchy – A recent addition, but this has now become my fav and most used util, this is like spotlight on the Mac OSX if you’ve used it, basically allows you to quickly launch applications, documents and files. I’ve never had to open up my programs menu since I’ve started using this. A must for every power user.
  • WinMerge – For resolving conflicts and for checking file differences.
  • Stickies – A free desktop post-it like notes tool. Recently released but quite good. I was using TurboNotes free edition before switching to this.
  • Clean Sources Plus – I use this on almost a daily basis to clean out my vs.net code tree with all unnecessary files and folders like .suo, .user, bin, obj etc.
  • Foxit PDF reader 2.0 – This is seriously fast, makes you wonder what the Adobe people are upto.
  • xPlorer2 Lite – An excellent replacement for the standard windows explorer, has tab support, multi-panes and tons of useful utilities.
  • WinDirStat – For finding out where your hard disk space is going.
  • ClipX – This is another one of those small utilities that make life so much easier. This basically works like an extended clipboard and remembers everything you ever copied to the clipboard, including images. highly customizable and works with all applications, simply press Ctrl+Shift+V(default) and up pops the last 25 items you had copied.
  • Startup Delayer – It took me a while to understand the concept of this, but it really works. Basically it allows you to time when each of your startup applications will launch after the machine starts up, also it shows a small progress bar at the top, which allows you to pause or stop the startup of the tasks if needed.
  • Daemon Tools – For loading all those ISOs into a virtual CD-ROM drive. Has support for SafeDisk and other copy protection mechanisms if you’re into gaming.
  • Microsoft Virtual PC 2007 – I use this to have a clean WinXP system, where I can test out various things.
  • VMWare Server – A truly professional Virtual machine application. I found this to be less resource intensive than VPC and also the guest image has better performance when run on VMWare as compared to VPC.
  • CamStudio – For making flash demo movies of your application.
  • WinRar – My preferred archiving tool.
  • 7-Zip – Another archiving tool, I use this mainly for commandline scripting of archiving actions.
  • CCleaner – Cleans out crap from your system, like temp files, invalid registry entries, browser caches etc.
  • FolderShare – For sharing files between you own PCs and keeping them in sync.
  • KeePass – Allows you to keep all your secrets safe, I use this to store all my online passwords. Has great support for USB based operations as well so that you can carry all your important passwords on a USB.
  • Windows Install Cleanup – For cleaning up those corrupted installations. If you ever run into windows installer errors because of a corrupted or unfinished installation give this tool from Microsoft a try.
  • IcoFX – Icon editor.
  • WinSnap – Screenshot taker.
  • Gadwin PrintScreen – Another screenshot taker. Predecessor to WinSnap.
  • Safe Add-Remove programs – A really fast alternative to the windows add/remove programs. The only downside is that you need to be careful with Microsoft product installs, since they tend to be spread out across multiple entries when seen through this tool.
  • w.Bloggar – What I am using to write this post.
  • TortoiseSVN and TortoiseCVS – For accessing source of the various internal and open source code repositories.

Misc

  • NSIS – For whipping up a quick windows installer.
  • Atmosphere Lite – Listen to natural sounds and relaxing waves, great for concentration while working.
  • Foobar 2000– Lightweight and excellent music player from one of the developers on Winamp. Great for listening to music while working.