Developers need to have fast machines! Today I just returned from a week of holidays at Kos (Greece). Amazing! So you might imagine that returning to work is usually less pleasant ;), but that changed when I opened Outlook and saw the email from our systems department that my new developer machine setup was ready.
I'm a big proponent of the fact that devs need to have fast machines. Otherwise they'll find themselves in the context-switch problem. Basically you start an activity (i.e. start a build, fire up the dev web server,..) and when it usually takes more than 3-5 secs (without any feedback) you start getting annoyed and probably after 10-15 secs you'll start looking for another one (while waiting). And then usually after a couple of minutes you realize you totally lost what you were doing before. That's a problem as it throttles the developer's productivity, not to mention that you'll never be able to enter "the zone"
Anyway, this post is not intended to be about those facts, but should rather serve as a reference (for myself and possibly also for others) for the tools I'm using to perform my day to day work. I'll also try to keep this list updated over time while I add/remove tools from my set.
List of Tools
- Chrome Dev Channel (as default browser)
- Firefox (latest release) - Mostly using the following plugins
- Launchy - Open Source Keystroke Launcher. Although since Win7 this is to some degree build-in, I still prefer Launchy (due to its customization possibilities) and probably also because I lived with it now already since win2k.
- Dropbox - Personally for me still the best cloud storage tool.
- WhizMouse - OSX like mouse scrolling behavior for Windows. You won't actively interact with this app, but once you get accustomed to its behavior you cannot live without it any more.
- Git - Participate in the social coding
- Eclipse - For Android development mainly and because of some of Eclipse's XML validation tools.
- VirtuaWin - Virtual Desktop Manager (useful especially if you're used to having multiple desktops like on OSX and Linux)
- Apache Web Server - Handy webserver as a 1st-level "router" to your IIS/Node "backend" webserver and for serving static files.
- VLC - For seamless multimedia play-back.
- Hardcopy - For easy screen capture.
- Paint.NET - Enhanced paint
- Sublimetext 2 (Dev Builds) - An amazing source code editor. Some of the plugins I use:
- Notepad++ - Although I start using Sublime more often, this tool is still indispensable for some operations.
- Google Talk - Still useful 'cause it gives you instant messaging with your Google buddies + Gmail Desktop notifications
- TeamViewer - Nice for collaborating with others through screen sharing.
- Visual Studio (so far links for VS2010) - Well, the IDE for developing .Net apps. Here's a list of extensions and add-ons I use
- TFS Power Tools - Explorer integration and other useful TFS related stuff