Categories

List of Good Windows Tools (free)

I work on a Windows PC primarily because it is relatively cheap and effective. Granted, a Linux distribution on a PC is even cheaper, but the hassle factor can often times outweigh the benefit. For the most part, using a Windows machine just works. You can’t really say the same for Linux. For example, installing a new software package or trying to get driver support for your hardware can at times end up being a nightmare. It doesn’t make sense to use a tool that requires more overhead and maintenance than the amount of actual work done with it.

At the other end of the spectrum are Macs. They are even more streamlined and also have that “it just works” quality, but they come with a unreasonably large price tag. I’m just not enough of a fan boy to justify using a Mac over a PC. The flashy (oops, I should probably say ‘pretty’) effects are nice, but I can do without them since a nice user interface doesn’t always need to be a spectacle. An effective tool is all I’m in the market for.

However, the point of this post isn’t to argue why Windows, Macs, or a Linux distro is better for general development work. The whole idea is to list some applications I use frequently enough to justify bringing them up. It just so happens that I use a Windows machine to get my daily stuff done.

So, on with the list (in no particular order)…

~

Firefox

Firefox

Uses: Internet Browser, file transfer, web development

If you’re in the market for a secure, extensible, easy to use, opensource, free browser, Firefox is your best bet. The interface is good and you can run it on multiple operating systems. So, when you get used to it on your Windows box, you can also use the same User Interface (UI) on your Linux or Mac machine.

In addition to pretty good HTML standards, the browser has been around for a while and has a large plug-in development community, which has made some of the most useful features for a browser. Some of the plug-ins I regularly use are:

  • Adblock Plus – Blocks ads from being seen and makes the internet a more friendly place.
  • FireFTP – Simple FTP client built into your browser.
  • Firebug - A web developer’s best friend.
  • All-in-One-Gestures – Allowing you to interact with the browser by using your mouse as a magic wand and can end up being faster than using hot keys.
  • Download Statusbar – Integrates downloads into a status bar instead of a popup window.
  • Tree Style Tab – Moves tabs to the side and allows nested tabs so you can quickly recognize related browsing pages.
~

Google Chrome

Google Chrome

Uses: Internet Browser, web development

Chrome is another browser I use almost more frequently than Firefox. It is a very nice, fast, robust, light web browser. It doesn’t leak memory like Firefox and creates a new process for each tab further encapsulating the effects of a rouge webpage or poor JavaScript implementation.

In addition, Chrome makes a good attempt at adhering to web standards and since it’s built with WebKit it’s at the forefront in supporting many of the HTML5 specifications like WebSockets.

It also has a good extension library and I’ve installed many that are similar to the Firefox add-ons like Smooth Gestures and AdBlock

~

Webit

webitUses: Basic text editing and spell checking

Webit is a little trick I’ve done to make a very simple text editor that has instant spell check. It is basically an HTML file that contains a text field area that can be used for typing. Since both Firefox and Chrome have spell checking in text areas, you can see any misspelled words flagged with a red wavy underline.

I have a version saved on my hard drive and one hosted online for those times away from my home PC. Feel free to use Webit online or download it.

Update: There’s a very simple online text editor called QuietWrite.  It is a basic notepad with a wonderfully streamlined interface and the ability to back up your notes (as well as a nifty revision viewing feature).

~

Notepad++

Notepad++Uses: Simple text editing, development IDE, remote file editing

There are a lot of good simple text editors out there for Windows. I continually use notepad.exe for quick file editing, but I’ve found Notepad++ to be great for staring and writing code. Textpad is another good shareware editor and has a fast ‘Find in Files’ search, but you can’t beat Notepad++’s price (free/opensource).

The interface is full featured, has good syntax highlighting, search keyword highlighting, and good plug-in support. One such plug-in I use regularly is NppFTP for editing files on a server. This way I don’t have to leave my editor to transfer a file over FTP only to make a small change.

~

VLC

VLCUses: Media player, music, video, media format conversion, mp3 streaming

I like to listen to streaming MP3′s and don’t like WinAmp (and hate Windows Media Player even more). VLC is perfect for streaming and more. You can listen to music, watch video, and even transcode your media files. It’s one hell of a tool.

~

7-zip

7-zipUses: File compression, file archival

For compressing files, 7-zip has been better than Win-Zip and WinRar since it’s free, doesn’t have annoying nag messages, and supports many compression formats like tar and encryption.

~

Gimp

Uses: Advanced image manipulation, graphics editor, photo format conversion

I’ve been a fan of Adobe Photoshop for a while, then I found Gimp (GNU Image Manipulation Program). It you can do everything you can do in Photoshop with Gimp and it has a similar interface and terminology. The user interface may be very unintuitive at times and requires a bit of trial and error. But, the fact it is free opensource software makes the hassle unbelievably worth it, especially when Adobe Photoshop being priced at $700.00.

With Gimp, you get features like filters, layers, transformations, good image file format support, and much more.  It has its drawbacks, but it remains a useful open source tool for intermediate photo editing.

~

VMware Player

VMware PlayerUses: Virtual machines, software test, debugging, security

VMware player is another one of those very powerful free tools on my machine. It is a hosted hypervisor that virtualizes operating systems. So, this means you can run a Linux distro on your running Windows PC (no dual boot or bootcamp… see VMware Fusion). This can be very useful if you want to have a simple Apache server running for web testing. You can also run another copy of Windows and use it for testing installs of untrusted apps or to protect your main machine from viruses.

One of my many uses of VMware Player is to run a version of Windows and install my tax software inside it every year. This way I don’t need to worry about Intuit’s DRM problems and I can back up the virtual machine (it’s just a file) for next year’s taxes so that the environment is clean every time I use it.

VMware Player and Workstation is one of those applications you really should know about. It is indispensable for development and security. There are other features I won’t go into, but they are worth looking at (like Snapshots and Unity).

~

Synergy

SynergyUses: Multiple computer input, kind of like a software KVM switch

Have a desktop PC and a laptop? I bet you’d love to control both with your single keyboard and mouse. Do they have different OS’s like Windows, OS X, or Linux? No problem.

There’s an application called Synergy that allows you control multiple computers’ keyboard and mouse inputs. It is similar to a KVM switch but it doesn’t deal with video and you don’t need to physically switch anything when changing which computer you want to interact with.

Say you have two computers next to one another and they are both running Synergy. All you need is one keyboard and mouse. Once you define the edges or borders of linked computers, you only need to move the mouse across the edges of the screens to change which computer has keyboard and mouse focus. It is seamless and effortless. It’s also free.

~

WinMerge

WinMergeUses: Diff’ing code, finding differences in files, merging two files, finding bulk changes in directories

WinMerge is one of those tools you want to use if you want something more than a unified diff. It is also a good replacement for the p4merge (from Perforce) tool if you’ve been using that.

WinMerge is simple to use and can integrate into source versioning tools like TortoiseSVN.

~

WinDirStat

WinDirStatUses: Uncluttering your file system, locating space hogs, map your directory tree, see hard drive usage

If you’ve had a hard drive for a while, it’s going to get cluttered. WinDirStat lets you take a peek into your filesystem and see which files and directories are taking up too much space.

The visualization of the used space is nifty on WinDirStat. The only quirk with the freeware is the Pac-Man progress meters. Other than than, this software is indispensable.

~

TrueCrypt

TrueCryptUses: File encryption, virtual hard drive, security

If you want an easy and free way to encrypt data on Windows, you should try TrueCrypt. With it, you can create a file on your file system that is fully encrypted and is mounted to your file system dynamically like another logical drive. From that point on you can simply drag and drop your files onto this virtual drive and rest assured they will be encrypted with common encryption algorithms (256 Bits).

Also, if you are even more concerned about your data, you can create a ‘hidden’ volume at the end of an encryption file. This allows you to have two encryption partitions in one file. So, if someone is forcing you to decrypt the volume you can open one end for them, thus giving you “plausible deniablity,” as the TrueCrypt people say.

TrueCrypt is useful for the traveling developer wishing to protect IP.

~

DropBox

DropBoxUses: Collaboration, file system mirroring, file sync, smart phone sync

This surprisingly useful application lets you distribute your documents and files across all your computers and even your smart phone. It’s integrated into the Windows explorer and it’s free for the first 2GB of data.

DropBox has been very useful collaboration tool since you can share a directory with another user and keep the files mirrored for all users. Not only that, you can drop files in a public directory, then generate a public link you can send to anyone you want to be able to download the file.

~

SysInternals (Process Explorer, PsKill, DiskMon, DbgView, et al)

SysInternalsUses: Windows debugging, administrative operations, general debugging, system monitoring, view handles, view loaded DLLs, it’s a freaking Windows swiss army knife…

How could I list tools for Windows and not mention SysInternals? I can’t. These tools are a must for anyone trying to develop on Windows or just troubleshoot problems.

One of my favorites is Process Explorer, which is basically a replacement for taskmgr.exe, except that it provides more information like a nested process list, loaded DLLs and handles, the command line string of how an executable was launched, and much more. This should be the first thing you install when your grandma wants you to fix her computer.

There are many other tools created by SysInternals and they are all excellent. They were all high quality tools even before Microsoft bought them out. Mark Russinovich has done so much for Windows developers that he should be given a medal for reducing the number of headaches and broken monitors.

~

Putty

PuttyUses: telnet client, ssh client

Putty is a free telnet and ssh client. It’s simple and extremely useful.

~