My Tools

My brothers are experienced carpenters and I am clear that if you handed them just anyone's tool belt they could go and attack the task at hand do well at it, but I suspect they would be grumbling about the tape measure being in the wrong place or the nails being the wrong kind,..etc. and I also suspect it would be hard to settle into a good flow.

 

Similarly, as a software developer a good chunk of what I bring to the table is of course knowledge, but also important are the habits and tools that I have trained myself to be effective with. These allow for good efficient flow.

Listed here are a most of the tools I use to that end. I have general preferences toward free open source programs because these are tools I can freely "carry on my tool belt" anywhere I may be asked to work. The exceptions are the defacto standards like Visual Studio.

Software Development

  • Microsoft Visual Studio.NET 2008
  • CodeRush from DevExpress
    This is a very slick extension to Visual Studio enhances the editing experience in a big way. There is a free version (CodeRush XPress) which is quite worthwhile and an enhanced pay-for version.
    www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/
  • Notepad++
    As a developer text is my clay, and while I love Visual Studio there are times (about 30 a day) where I just need a good text editor. Free and open source
    http://notepad-plus.sourceforge.net/uk/site.htm
  • TortoiseSVN
    Easy to use Subversion client for Windows. A version of this for Source Safe would remove almost all of my complaints about VSS. Free and open source http://tortoisesvn.tigris.org/
  • NET Reflector
    Visual Studio's object browser on steroids. Free and Paid versions 
    http://www.red-gate.com/products/reflector/
  • NUnit
    My favorite Unit testing framework. Free and open source http://nunit.org
  • Winmerge
    A very nice open source text compare and merge tool. I know geeks how don't use one; can't imagine how. Free and open source http://winmerge.org
  • Ditto Clip board manager
    An extension to the clipboard in WIndows. It keeps your clip history so you aren't stuck with just one. This is a HUGE productivity advantage once you get used to it. I have tried others and settled on this one because it is easy to use and still maintained.  You could argue that this is a general tool but so much of what I do is coding that for me this is a development tool. Free and open source
    http://ditto-cp.sourceforge.net
  • Fiddler 2
    Need to see everything that is passing from browser to server? This is your tool. Free  http://www.fiddler2.com/fiddler2/

Software Libraries

Obviously there is the out of the box .NET framework and one needs to gain a good grounding in this. But to not look beyond just what comes from Microsoft is, I think, a bit limiting. Here are some libraries I find valuable and all are under licenses that allow use with commercial projects.

  • ASP.NET MVC 1 and 2
    I am a MonoRail guy from way back in 2007 (geek time is longer than normal time), but I must admit I have really fallen in love with Microsoft's implementation of Model View Controller. I love the simplicity of the MVC model and it seems I am not alone. Free and open source. http://www.asp.net/mvc/
  • NHibernate
    A mature Object Relational Mapper. http://nhforge.org/Default.aspx
  • Castle Windsor IOC/DI container
    A multitude of benefits come from using the dependency injection pattern; easier maintenance and greater testability being just tow of them. While it can be done without a DI container they have solved a lot of the common problems in a standard way. The Castle Windsor container is one of the more accepted implementations.
    http://www.castleproject.org/container/index.html
  • jQuery and jQuery UI
    My favorite javascript library. A good js library handles a lot of the finicky details, particularly around browser differences, leaving your code easier to read and maintain. jQuery is particularly good at helping to separate the HTML from the scripting. jQuery UI is the widget side of the project. Free and Open source.
    http://jquery.com/
  • FileHelpers Library
    A nice abstraction layer for the dealing with structured data files. For a while the project looked dead but recently it has been showing activity and there is new release candidate.
    http://www.filehelpers.com/

General/Productivity

  • WinAmp
    Gotta have music http://www.winamp.com/player/
  • Firefox
    My default browser. Free and open source http://getfirefox.com
    Plug ins:
    • Firebug: Debugging for javascript. I can't imagine client-side coding without it.
    • Ubiquity: Command line for your browser...still experimental. I think you have to see a demo to get it. From Mozilla Labs.
    • LastTab: I like Ctr-Tab in Firefox to come back to the last tab I looked at...not go in the order of the tabs. This does that.
    • Search Keys: Select Google results with a key stroke
      https://addons.mozilla.org/en-US/firefox/addon/339
  • Bitvise Tunneler
    A very nice ssh client particularly for automating the process of setting up ssh tunnels. Free for individual use.   http://www.bitvise.com/tunnelier
  • Cygwin
    Linux command line and utilities for Windows. Free and open source http://cygwin.org
  • WinSCP
    My favorite S/FTP client. Free and open source http://winscp.net/eng/index.php
  • KeePass
    A very nice password manager. Because that text file with all of your passwords in it is a bad idea. Free and open source http://keepass.info/
  • Google Desktop
    I held back form this one for a long time, but I am hooked now. It does a very nice job of helping me find things and is pretty darn good keyboard application launcher. http://desktop.google.com/
  • paint.net
    I am not a graphics guy for the most part (though I love writing graphics manipulation code), but I do need to tweak an image fairly often, for a button on a page or to pare down a screenshot or whatever. paint.net is to MS Paint what Notepad++ is to MS NotePad. Free.  http://www.getpaint.net/
  • OpenOffice.org
    A free and open source office suite. Can open and save to MS Office files as well as open standards. www.openoffice.org/
  • Windows Powershell
    Microsoft's crack at a competent command line. I am still getting into this but folks like Scott Hanselman speak well of it. Free and built into Windows 7.

Communications

  • Skype
    The 800 pound gorilla of VOIP clients. It just works, which really distinguished it when it first emerged. Pretty good IM also.
  • Gizmo
    Standards compliant VOIP client. Recently acquired by Google, which I find intriguing. http://gizmo5.com/
  • Pidgin
    A free, multi-protocol Instant Messaging client. Supports any of the IM networks I have ever cared about and many I have never heard of. Good set of plugins and runs on WIndows, Mac and Linux. http://www.pidgin.im/
  • Dimdim
    Webconferencing/collabaration software. I have used this for online pair-programming a bit and found it entirely usable. Also good for sales demos. There are free and paid options; the free version has always sufficed for my needs. http://www.dimdim.com/

Servers and such

  • PostgreSQL
    Free and open source SQL server. Decent tooling and well supported. I use this a lot in my personal projects. Still haven't seen it much used in the enterprise space. http://www.postgresql.org/
© 2009 Matthew Nichols | Powered by JoyaTech