Every developer is picky. We’re all picky about everything. We like most things “just so”. Nowhere is this more apparent then our development environment. Not only our physical workspace, but, even more so, our virtual workspace. I am more rule than exception.
In this first part, I’ll cover my Monday morning startup, the layout of Windows, and a few essential utilities.
First of all, you must understand my geekdom knows no bounds. I experiment and screw with new setups. I have no problems messing things up for the possibility of working better. I’m lazy, so efficiency is a must. (Another article about laziness is surely forthcoming.)
My computer automatically starts up on Monday mornings an hour before I get into work. Our corporate virus scanner is cranky and if it misses it’s daily meal because it was powered down, it will be sure to do a full scan first thing in the morning. This is essential. Hearing my hard drive crunch through it’s entire contents for an hour, not to mention the stress on my computer, will drive me up the wall.
That’s novel and all, but here is where I surpass in geekiness. On startup, a console application starts up and allows me to launch the apps that I’ll need that morning. This came about for a couple of reasons. When I login, there is a lot of heavy stress applications to get running before my computer begins to ‘idle’ and I don’t have the greatest workstation in the building, so I have to make due. Being able to run exactly the applications I need makes sure I spend the least amount of time waiting as I can. Sure, I can launch the applications another way, but this puts the stuff I know I’ll need right in my face and ready for me. Besides that, I can manually stagger when I launch the applications. Since launching some apps take a few minutes to load during the login stress (I’m looking at you Visual Studio), it lets me load the lightweight stuff first. I can then start working on something quickly.
You’ll notice that the task bar stretches completely across the screen. This brings me to my first essential application, UltraMon. I’ve used UltrMon for years. Of the applications that I’ve purchased for myself, this is, by far, been the most worthwhile. Anytime I sit down at a workstation that doesn’t have it I IMMEDIATELY notice. Snapping maximized windows between monitors by clicking/flicking the titlebar has got to be my most common action and Windows just doesn’t handle it by itself. (even Windows 7, sadly) Also, as you’ll see in Part 2, spanning windows across monitors plays into my workspace. If you have multiple monitors and don’t have UltraMon, you are missing a lot.
The last essential I’ll cover today is the free keyboard launcher, Launchy. I’ve configured my Launchy hotkey to be Win+Space, as to not interfere with Visual Studio’s keyboard shortcuts. I love being able to Win+Space and just start typing the application to launch. Since i like to experiment so much, I’ll have a lot of applications installed. No, really … a lot. I used to organize my start menu into sub-menus, but I always had problems quickly finding the application I needed. Launchy solved that (and them some).
For quick file edits, I use TextPad. It’s simple and doesn’t have any bloat. A good text editor is a developer’s best friend and there are many excellent apps to choose from. I go with TextPad purely out of preference. It doesn’t have any feature that I can’t live without that others don’t have. It’s just the one that I’m used to. I’ve tried others, but have been turned off for some reason or another. Usually because of lack of decent regular expression support or find in files with regexp, or something along those lines. I use a lot of regular expressions to take care of tedious text tasks and to even generate redundant code for me. That’s what’s important to me and I won’t bash on anybody else for not using TextPad.
Here’s a quick list of the other applications I cannot live without, but don’t really need any explanation (in no particular order):
That’s it for today. In Part 2, I will cover my development environment and focus closely on my configuration of Visual Studio.