While I’ve been a huge fan of Scott Hanselman’s Tool List, but was pretty disappointed in the 2011 list in that it lacked conciseness. Below is a short list of software I use on a very regular basis, install on pretty much every PC that I can, and are all tools I know very well. Of course there’s a lot of commercial software I use too, but below are the ones you can download freely.
- Notepad++ This is the Notepad replacement for me, and makes a great code editor.
- Cygwin This utility gives you many of your favorite *nix commands under windows like grep, head, etc, many interpreters like perl, python, bash, etc, and a wide range of many other utilities. Powershell, which is now bundled with Windows is often touted as an alternative, but does not have anywhere near the number of utilities/scripts available. Additionally Powershell gives significantly different names and parameter names to similar Linux utilities, forcing you to learn two different command sets if you work with Linux too. So, if you’re using Linux at all, Cygwin is the way to go.
- Robocopy comes with Windows now. Beyond just copying files from one place to another, I use it to back up my important code/documents to a separate drive every night at 3am.
- VirtualBox My favorite virtualization software. I no longer have any PCs dedicated to running Linux for testing or development work. There are lots of virtualization options out there, I chose VirtualBox mainly for it’s USB support.
- Virtual PC This used to be my virtualization software of choice, I keep it around because I still have some old VMs I never converted over.
- 7-Zip This has been my archive software of choice for many years now. Previously it was WinRar, which is a commercial program. Even though I own several licenses for WinRar, I no longer feel a need to use it as 7-Zip does everything I need now.
- Foxit This is a PDF reader, an alternative to Acrobat Reader. I switched to this reader from Acrobat many years ago due to the fact that Acrobat was becoming so bloated. I also don’t like reading PDF files in my browser, and attempting to configure Acrobat to only open as a separate process wasn’t reliable, seems it would always somehow revert to opening in the browser.
- Combined Community Codec Pack This is a codec pack that makes fairly certain you’ll be able to play almost any video you come across. Downloading videos is fairly rare now days, but I still install this on every fresh Windows install I come across.
- Synergy allows you to use the same keyboard and mouse across several PCs. You just move the mouse off the edge of the screen on one computer and on to the screen of another.
- Thunderbird I haven’t yet given up on a local e-mail client. But I do have all of my e-mail forwarded to GMail too. I actually still receive a lot of e-mail, and more than Google allows me to store. Not to mention I have 15+ years of e-mail history stored locally.
- Arduino The Arduino IDE for working with electronics. Before the Arduino came along I was using SDCC for the PIC. Working with Arduinos is so much easier for me, and does pretty much everything I need.
- Processing The Processing IDE. Uses a similar language as the Arduino, and is the de-facto language many people use to interface a PC to an Arduino. I can’t say I write a whole lot of programs using this, but mostly use it to run other people’s programs to interface with an Arduino.
- CDBurner XP Software for buring CD/DVDs. The name makes it sound obsolete, but it works with Win7 and Vista, and burns DVDs too.
- Dimension 4 A program to synchronize your PC’s clock with an atomic clock over the Internet. There is functionality built in to Windows to do the same thing, but this gives you more control. The Windows functionality is difficult to verify if it’s working properly without just changing the clock time and waiting an hour to see if it’s fixed. D4 also has the added feature in that it graphs all of the adjustments made, so you can see how (in)accurate your clock is.
- Eclipse This IDE should need no introduction. I use it only for Java development, and often still use Notepad++ instead for small, one off programs.
- Free Download Manager For downloading large files that may fail, or that you want to schedule to download at a later time.
- Frhed A free and Open Source Hex editor.
- Oracle Java JDK Needed to develop Java applications. I have no real reason for using the Oracle JDK over any other, other than it’s just what I’ve always used.
- Linux in a virtual machine – Ubuntu Server Many things are just easier with Linux, especially if you work with other Linux servers. Every PC I have will have at least one “utility” Linux VM, this is in addition to any sandbox or development Linux VMs.
- WinMerge A graphical version of the “diff” utility. It compares two text files and highlights the differences between them.
- cmdhere.reg This adds a context menu to Windows Explorer allowing you to quickly open a command prompt at the location you’re viewing. Additionally, I also create a shortcut to CMD.EXE on my desktop, and assign the hot-key CTRL-ALT-D, to open a command prompt.
- Putty An SSH client for connecting to the many Linux systems I use.
- SpaceMonger A utility to visually show you what is using up all of the space on your hard drive. The old 1.4 version is free. Another purely free similar application is WindirStat, but not quite as good of a UI IMHO.
- RealVNC Software that lets you remote control another Windows [or Mac, or Linux, etc] PC from anywhere you can open a TCP connection. There is Remote Desktop built in to Windows now, but Remote Desktop has a lot of limitations like the fact that it blanks out the screen on the host PC when it’s remote controlled, and you have to log out the current user if its an account with a blank password. I do use Remote Desktop when I log in to other Windows servers, where I don’t actually want to control what’s on the screen of another system, but I use VNC when I’m connecting to other desktop PCs.
- Firefox My browser of choice. The only other browser I’ve spent much time with is Internet Explorer, which I feel hides too much information from developers. Other browsers like Chrome and Safari seem to lack the wide range of plugins Firefox has.
- Visual Studio Express Well, I don’t actually use the Express version which is free, but if you don’t want to buy the whole thing [or your employer won’t buy it for you] then Visual Studio Express is a great way to program in C#.