Nick Berardi's Essential Software for 2008

Every developer has their favorite tool collection that they must have in order to survive while developing software. The list below is indispensable in my day-to-day activities and that is why I am sharing it with my readers. My list was inspired by Scott Hanselman's own list of tools that he uses. However I would be really interested to see what Scott's actual list is since it would be almost impossible to touch each and every tool once a week as he claims. Because many of them serve the same purpose.

The goal of my list is to keep the tool list up to date with my current tool set. So if I stop using a tool it will drop to the bottom of the list in a section called Not Using Anymore.

Creative Commons License This list is licensed under a slightly different license than the rest of my site. So please do not reproduce this work in it's entirety. I would rather you link to http://www.coderjournal.com/essential-software/, because work like this takes much of my time. And I am going to do everything that I can to make sure the links stay relevant and up to date. You have this pledge from me, because the links below are also my source for downloading these tools.

Development Tools

  • Notepad++ This is a great program because it will open up any text based file and allow for quick editing. Also has built in context menu integration.
  • WinMerge This is still my favorite merge application, I know others have a growing following. But this is my chosen merge application because many of the others tools, check for and integrate this tool with their own to provide a free collaboration toolset.
  • PuTTY PuTTY is a wonderfully portable tool that doesn't require an installation and can easily allow you to make SSH connections to any source that you may need to. I personally use it to create a tunnel in to my home network, which provides me complete access to all my computers via remote desktop with out exposing them on the internet.
  • PowerShell PowerShell allows for some advanced script processing and is readily being integrated in to many Microsoft projects. Now is a great time for developers to jump on board.
  • Reflector Reflector allows you to peer in to the .NET assemblies and view the code in your preferred language.
  • CodeSmith Great tool for generating any type of code that you may need from a template.
  • Fiddler This tool is one of my favorites because it allows me to watch the HTTP requests and view the headers. Fiddler acts as a proxy between for your HTTP connections.
  • NRegEx This JavaScript based tool RegEx evaluator is a great way to quickly test your regular expressions.
  • RhinoMock I have just started using RhinoMock for my unit testing and it really is an amazing piece of code.
  • WireShark WireShark use to be called Ethereal and monitors all network connections that pass through your network card.
  • Microsoft Network Monitor Microsofts answer to WireShark.
  • URL Rewriter and Reverse Proxy This is my own URL Rewriter and Reverse Proxy that I have developed. It uses the Apache style mod_rewrite syntax, so it should be familiar to most developers who have worked with Apache in the past. It is not very hard to understand so anybody can easily pickup the syntax.
  • Microsoft Best Practices Analyzer This is a great tool that analyzes your setup on your server and makes recommendations around best practices.
  • Visual Studio Team System 2008 Team Foundation Server Power Tools Extra power tools that provide access additional tools that were not shipped with the Gold Version of TFS 2008. It also includes an Team Foundation Server Analyzer that makes sure you server is setup properly.
  • Visual Studio 2005 Team Foundation Server Power Tools Same as above only for TFS 2005.
  • Team Foundation Server Administration Tool This is a great tool that lets you set permissions for each project in your server. Sometimes the permissions aren't set correctly for each project for all the servers required, including SharePoint, SQL Reporting, and TFS. This can occur in installations were users are not defined by groups.
  • Visual Studio Express Don't think this one needs explaining.
  • SQL 2005 Express Don't think this one needs explaining either.
  • GhostDoc This is a wonderful tool that lets you document your source code pretty quickly. One thing I really love this tool for is that it helps me make self documenting code, because inorder for GhostDoc to work the methods and properties have to have some English flow to them.
  • TortoiseSVN Great tool with Windows Explorer Integration that allows you to work with the SVN source control server directly though Explorer.
  • AnkhSVN Lets you work with the SVN source control server by integration with Visual Studio.
  • Consolas Font Pack This is a wonderful font that is very easy to read. It is highly recommended for Visual Studio. I use it as my default.
  • SmartFTP A great FTP program.
  • Paint.NET This is one of my favorite projects currently on the internet. The developer of this application is constantly pushing C# to the limits. And does a great job with usability. It also has 99.9% of everything I require from a graphic editor as a software developer. The 0.1% that is missing is Icon support.
  • Microsoft Virtual PC This is a must have for any developer, especially when you are required to run operating systems that are not your current install.

Firefox Add-On

  • LinkedIn Companion for Firefox LinkedIn integration for keeping track of contacts.
  • StumbleUpon Great add-on that allows you to find sites you never knew you wanted to find.
  • IE Tab This is probably one of my favorites because it quickly lets me switch back and forth between Firefox and IE without ever leaving the Firefox browser.
  • User Agent Switcher Allows you to change the User Agent of FireFox with a quick drop down menu. I usually setup a User-Agent for Google Bot to see how websites react and change to the search engine.
  • Google Browser Sync Keeps your bookmarks in FireFox synced between your work and home PC.
  • Firebug Firebug is a must have for any professional web developer. It allows deep access to the HTML in a nice tree structure and event displays code that is generated by DHTML and JavaScript.
    • YSlow Grades your website and provides some useful hints on improving your score.


Other Software That Makes My Life Easy

  • Mozy *** My Review *** Everybody should back up their computer, and Mozy provides unlimited backup for $4.95 per month. Also Mozy Pro allows you to backup your SQL Server and Exchange installs.
  • Skype Great for making VOIP calls to your friends and family. Also many contractors are starting to use this as their primary communication especially over seas.
  • Picassa Very good program for keeping track of your family photos.
  • Gtalk I love it because it has a very small foot print.
  • Google Pack Get a whole host of software provided by Google and it also updates other common programs for you, such as Skype, FireFox, Acrobat, and others.
  • 7-Zip I mainly use this on my Servers because it provides better and quicker support for archiving of Zip files than the built in Windows Zip Archiver.
  • PowerArchiver I became disenchanted with WinZip about 4 years ago, and I happened to stumble across this application that had the look and feel of WinZip but provided support for 7-Zip, RAR, CAB, ZIP, GZip, and many others.
  • Virtual TI-89 Because every once and a while you need to graph out more complex equations.
  • CCleaner It's a very good idea to clean your registry every Spring. It is really amazing the speed in boot time when Windows doesn't have to load a bloated Registry.
  • Ultimate Boot CD Wonderful set of tools.
  • WordPress I use it on Coder Journal, and even though my forte is .NET I still haven't found a better blogging application.
  • Windows Live Writer Allows for quick and easy posts.
  • Deamon Tools Quickly mount and dismount ISO images for your favorite software.
  • LinkedIn Outlook Toolbar Allows you to keep your Outlook Contacts in sync with your LinkedIn network information and connections
  • gSyncIt Allows me to keep my Google Calendar in sync with Microsoft Outlook, so that my wife always knows what is going on during the day. Also has the added benifit of syncing stuff from Google to Outlook when she wants to add something to my calendar.

Nick Berardi

Entrepreneur, Microsoft MVP, ASPInsider, co-founder and CTO of @CaddioApp, Father, and @SeriouslyOpen host