After reading John Lam’s blog post “My Dev Kit” where he explains what he uses on a day-to-day basis to do IronRuby, I decided I wanted to do the same…so here’s my take.
I am not a typical developer as I almost never at a desk so my laptop is crucial to my work life. My laptop right now is a HP dv7tmachine. Its a larger machine with a 17" screen and full-size keyboard (e.g. has a NumPad). Its an Intel Duo 2 Core 2.8GHz, 2x320 GB hard drives, 4GB memory (max 8GB but who can afford that right now) and a respectible 512MB NVidia Video card. All this in a tight 7 1/2 lb package (including the tiny power supply). After lugging around desktop replacements (I’m looking at you XPS M1730), this laptop seems tiny.
Since I am usually working in a hotel room, a training center or my favorite coffeeshop, a great travel mouse is key. My choice is the Logitech VX mouse. I love this mouse because it holds the USB dongle inside the mouse and its large enough for my Shrek-sized hands.
The last piece of hardware that is crucial to my Dev Kit are my Audio Technica ATH-ANC7 active noice cancelling headphones. They are over the ear variety and I think they sound better than the over-hyped Bose equivalent headphones.
I run Windows 2008, 32 bit on my laptop mostly because I wanted a 32 bit OS that supported all of my 4 GB of memory. All my Vista drivers work here and the only two things I am giving up by using Windows 2008 is Sidebar (I never used it) and the Mobility Center (which I like but isn’t a big deal). I leave UAC on but use TweakUAC to turn on ‘quiet mode’.
I live in Outlook 2007 as my e-mail client. While I use gmail as my host for most of my e-mail domains, I almost never use the web client (except on my phone) as I prefer to have a locally searchable version of my e-mail on my machine.
Since I write and teach, Word and PowerPoint are critical to my work most days and are open almost as much as my development tools.
When writing, I use SnagIt to take screenshots (and to annotate them when necessary). I also make sure that PureText is installed to do one-key ‘paste-as-text’. Lastly, Paint.NET is a must to do any simple image editing.
To make launching stuff easy, I use Launchy as a simple app launcher. I also add the “Address Toolbar” to my Startbar so I can type explorer or web addresses without launching anything. I use WinAmp, MediaMonkey and Zune to manage my music. One of the benefits of 640 GB of hard drive space is I get to keep all my music on my laptop for quick access. I also use SyncBack SE for my backup to my backup server. I have Live Mesh installed, but I mostly use it for remote access to machines. Lastly, while I have Acrobat Reader for PDF’s, I almost always use FoxIt’s PDF Reader as its so much faster.
Not surprisingly, I use Visual Studio 2008 Team System SP1 as my main IDE. I make sure that i have GhostDoc (to help with documentation) and RockScroll (as an excellent scrollbar replacement) installed as add-ins.
For a general purpose text editor I use NotePad++ as its really configurable and I love the “Open in Notepad++” context menu support. I actually rename it to “Q.exe” so I can launch an editor using my muscle memory of my earliest editor (back in DOS when I did Clipper years ago).
For Silverlight, I make sure that I have the latest version of the Silverlight tools and the Expression tools. While Blend and Visual Studio are my main Silverlight tools, I tend to use Expression Design occasionally to convert any Illustrator files to XAML.
In my bag of general software tools I use:
I typically use TFS and Subversion (depending on the codebase) for source control. I also use NUnit and NAnt for our internal projects.
Another big component of my Dev Kit is Virtual PC as I keep a number of machines on my laptop for different beta’s I am current involved in. I used to keep it all on my main machine but it makes it too difficult to keep up with what code doesn’t work with what other code. I also use a special Virtual PC that has IE 2, 3, 4, 5, 5.5, 6 and 8 Beta installed side-by-side to do regression testing on my sites. (Though I only test against 5 and above any more).
I care barely work these days without an Internet connection so I live with a number of web services:
For blogging, I use custom code that is written into my website to do online editing of my blog entries. This allows me to write and edit my blog wherever I am.
If you have a blog, take up the challenge and tell us what you use.