Setting up my Developer Machine
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 Generic Stuff
- Chrome Dev Channel (as default browser)
- Firefox (latest release) – Mostly using the following plugins
- Firebug
- JsonView
- FireQuery
- DownThemAll!
- 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
- GitHub for Windows – From the GitHub team
- msysgit
- 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
Generic Editors
- Sublimetext 2 (Dev Builds) – An amazing source code editor. Some of the plugins I use:
- Sublime Package Control – A package manager for Sublime Text
- Sublime TFS
- Zen Coding – Write HTML tremendously fast
- JS Format
- Notepad++ – Although I start using Sublime more often, this tool is still indispensable for some operations.
Communication Tools
- Pidgin
- GTK+ Runtime
- Skype
- 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.
.Net Specific
- 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
- NuGet – Package Manager
- VSCommands for VS2010
- Productivity Power Tools
- TestDriven.Net
- TFS Power Tools – Explorer integration and other useful TFS related stuff
Other useful resources
- Must have tools for Windows – From .Net Code Geeks
- Scott Hanselman’s 2011 list of tools
Reference: Setting up my Developer Machine from our NCG partner Juri Strumpflohner at the Juri Strumpflohner’s TechBlog blog.