Whether you're a developer or a windows power-user, you'll have a tool box of apps
you install as soon as you get a new PC. I believe there's nearly always a good
free tool out there that will do the job so I've put together my list of tools in
case there's someone out there that hasn't yet stumbled across one of the great
utilities below.
In an attempt to make this list more useful to the public at large, I've started
with the less technical tools and worked my way up to the really development based
tools.
I won't be covering all of the full featured apps that I use as a developer - if
you're a .Net developer then trying to develop outside of Visual Studio is always
going to make your life more difficult. Of course, there are other alternatives
like MonoDevelop or
SharpDevelop, but I've never had to explore them so don't really have all
that much in the way of opinion on them.
General Utilities
- Hotkeybind
This is the utility I most miss when I'm using someone else's PC and all it does
is let me specify hotkeys to launch the programs I use most often. Personally, I
think the Windows key is tremendously underused - it's a modifier key but almost
nothing hooks into it, so just like you can launch Windows Explorer by pressing
Win+E, I've set Internet Explorer to launch on Win+I, Firefox on Win+P (from when
it was Phoenix) and Outlook on Win+O. Once you have it, you can't help but wonder
why you can't set it up as part of the OS itself.
- PowerMenu
This is another brilliant little utility that I really miss when I don't have it
and want to use it (though I don't use it anywhere near as often as hotkeybind).
It adds the "Always On Top" and "Minimize to Tray" function to any window - very
handy for pluging things into calculators and following lists of instructions without
needing to keep switching windows (also handy for putting installers that take a
long time off of your task bar).
- Portable Apps
Great if you're working on a number of different PCs (or if you keep getting bounced
from PC to PC in a new job while you're waiting for yours to turn up). You can still
have firefox/chrome, your favourite non-microsoft e-mail client and OpenOffice available anywhere you
are.
Office Software
- Open Office
Day to day, you still probably want to be using Microsoft Office if you're in a
corporate or office environment, but that doesn't mean you shouldn't have Open Office
as well if you can spare the space on your PC.
"Why would I need two pieces of office software?" I hear you ask! Well,
it's for those rare times when office completely refuses to open a file it believes
to be corrupt. Rarely is the file actually all that corrupt and since OpenOffice
had to reverse engineer their ability to open MS Office files it's alot more forgiving
about file formats that aren't quite perfect. So you have a "corrupt" office file,
all you have to do is open it in OpenOffice, then save it back out and, like magic,
Office should be able to open it. Okay, so 225MB or so seems a pretty hefty download
just to recover the odd file, but you'll thank me when it saves your ass 5 minutes
before deadline time!
It should also be said that when you're working at home for personal word processing
and the like, there's just no need for all the power of Word so you shouldn't really
have to shell out for it when OpenOffice is freely available.
- Evernote
This is a really useful note taking utility. Organise notes into multiple notebooks
and synchronise your notes over the web so you have access to them wherever you
are (there's even an iPhone/iTouch app). One of the really handy features is the
ability to take screen shots or clippings of sections of your screen by right clicking
on the system tray icon for it and selecting "Clip Selection" (for the surprisingly
high number of people that don't know this and don't have Evernote, the "Print Screen"
button copies a screenshot of your computer to the clipboard and holding Alt and
pressing "Print Screen" copies an image of the current Window to your clipboard.
There's a couple of great alternatives if you don't get along with Evernote:
- OneNote (not free)
While I like Evernote, I started out using OneNote which I think this just beats
Evernote (though there's not much in it) for it's notebooks organised into multiple
pages. Like Evernote, the tray icon also provides you with a screen clipping utility
for screenshots
- Google Notebook
I don't absolutely trust the security of Google owning all my notes, but it sure
is a handy thing to have some notes available whereever I am, with a set of logon
details I know I'm not liable to forget. Combine it with the
Google notebook firefox extension and it's pretty handy if you haven't got
evernote installed on the PC you're working on.
Anti-Virus
Graphics
- Paint.NET
It's astonishing how often you can be called on to do basic photo editing if you
have any graphic design skills whatsoever, even if it's not in your job description.
Less astonishing is that no one ever wants to pay out for Photoshop for you. Paint.NET
is a pretty good replacement if you aren't working with images and aren't expected
to be a graphic design pro. You can't expect a pro to work with it, but it'll let
an amateur do all of those simple gradient blends, threshold selections and colour
inversions that you need for a basic logo design.
CD Burning
- imgBurn
This is a great little CD/DVD burning tool that does what it's supposed to do; no
more, no less. Why you can't burn an iso to a disc as part of the basic Windows
functionality is a bit beyond me, but it doesn't matter when you have imgBurn. A
great little utility that means you don't have to let Nero put all those background
services and irritating add ins on your windows explorer right-click menu.
Media / MP3
- Windows Media Player as an MP3 ripping tool
I used to use cdEx to do all my MP3
ripping (and indeed this is still a great backward compatible tool that can retrieve
Track Info automatically) but then I had a look at Windows Media Player 11's tool
for CD extraction. DRM free, choice of format, automatic Track Name and Album Art
retrieval without user intervention and, most importantly, if you have it in "Rip"
mode it can be set to rip the CD automatically as soon as you insert it in the drive
which is a huge time saver if you're ripping your entire collection. Compare that
to the evil foulness of Apple's ITunes, which lacks a lot of Album Art and requires
manual steps and a subscription in order to download the art on new albums and Media
Player wins hands down. It's just a shame the iPod Touch is so shiny that even I
was eventually persuaded that I wanted one (it still bugs me that it won't shuffle
by album though).
- Winamp
Unlike one of the more modern fruit based music players, winamp doesn't mess with
your MP3 collection, write stuff all over the MP3 tags or leave gallons of hidden
folders everywhere. Winamp can be controlled from Vista's sidebar, sit in the unused
title bar space or just be controlled entirely from the system tray. It's the way
a music player should be - heard but not seen.
File Backup / Synchronisation
- Foldershare
I find this to be great little utility for quietly keeping a small set of folders
synchronised between a few devices. It means I can work on my personal web development
projects whenever I get a chance without really worrying about which machine I'm
on. Of course, if you want it to always be up to date then you probably need one
machine that's always on but since I pay for a virtual server to get my hosting
that's not really all that difficult.
- Syncbak
This is a great little tool for scheduling automatic FTP backups, notably because
you can set it to e-mail you if it ever goes wrong. However, it's not without it's
faults. I use it for automated backups and the jobs seem to take an incredibly long
time to finish (though that's probably fixed in later "pay for" versions.
- BestSync
I'm considering replacing Syncback with this similar free tool, but I need to test
it first.
-
SyncToy
This is the ideal solution if you're only syncing files between folders in the same
network. Let's you use a number of different modes of synchronisation and specify
what you want to happen in case of deletion or conflicts. Won't let you use FTP
or E-mail failure alerts though.
FTP
Security
- TrueCrypt
I'm not as paranoid as a lot of people but everyone has something to hide. Truecrypt
lets you create Virtual Encrypted drives either as actual hidden volumes on the
disk or stored inside of files, all password protected. It's the best free option
out there and it beats Vista's bit locker any day. Also, if you were particularly
paranoid about keeping your browser habits private, you could always put portable
apps into a truecrypt partition and be pretty damn certain no one was going to be
able to find out what you were up to.
Text Editors
- Notepad 2
This is an excellent little notepad replacement. People will no doubt tell you that
Notepad++ is better
but I disagree (though I'll admit this is mostly on an aesthetics basis. It may
have a few more features, but it's a much messier interface for something that should
be clean and simple. Also, if I'm using notepad I'd much rather have an SDI (single
document interface) than tabs.
- Regular Expression
Editor
Every now and again you'll have to deal with regular expressions and nothing helps
more than having a quick sandbox to play in while you build up your expression if
it's a little bit complex. Don't forget to download the excellent regular expression
cheat sheet from Added Bytes.
System Monitoring
Every so often, something squify is up and you need to find out what's doing the
dirty.
Sysinternals
will usually have a tool to do the job for you.
- DebugView
Montiors the standard output so you can see debug / trace messages
- Process
ExplorerBeats taskmanager hands down, though I've occasionally had trouble running
it on a server
- Process
Monitor
Useful for monitoring file system, registry and process/thread activity
-
Sysinternals SuiteJust get the whole lot in one handy installer.
Web Development
- Firebug
This is that "How did we live without it" web development tool that's
absolutely indispensible and is probably a good part of the reason why web developers
will nearly always support firefox. Javascript debugging, load time analysis, easy
access to all source files, layout highlighting... the list goes on. If you're debugging
your web development, you need this tool.
-
Internet Explorer Toolbar
Okay, so it's a poor man's Firebug but it sure does help when it comes to working
out what that IE specific bug is being caused by.
Code Review
- FxCop
This is Microsoft's code analysis tool - it's in Team System by default but it's
also available as a free download. It's a pretty rare company these days that submits
its staff to code reviews. To be fair, you have to be pretty damn good and at least
mildly pedantic to perform a proper code review, which makes the ultimate chance
to really annoy the members of your team that aren't so good at handling constructive
criticism. That's why an automated tool for it is the ideal solution. Yes, it takes
time to go through and correct everything but it can catch the subtlest of issues
if you're willing to go through the process and it gets easier over time if you
keep using it.
- Microsoft
Best Practices Analyser
Lets you know if you're not playing it by the book with SQL, Biztalk or ASP.NET
security
"Learn by example"
Unit Testing
I'll conceed, I'm not really huge on the whole unit testing thing myself anyway
- don't get me wrong, it's something that I can see the value off, but I also acknowledge
the expense of it. In my opinion, it only really pays off after a long time with
an established and complex product that really requires it. Anyway, here are the
tools I know of for it.
- MBUnit (a replacement for NUnit).
Not everybody uses team system so not everybody has access to Team System's Unit
Testing framework and MbUnit provides a perfectly viable alternative. Personally,
I think Team System's unit testing is better, but I haven't had a lot of exposure
to either to be honest.
- Test Driven.NET
This is a word of mouth recommendation rather than somehting I actually know myself.
Visual Studio integration for unit testing.