
You can make a letter a number, a number a function, and any other change your needs dictate. SharpKeys lets you assign a new meaning to any key on your keyboard. Reversing any unwanted changes is just as easy, which makes this program a nifty tool if you have a need for it. It's a neat way to switch to a new keyboard layout or simply prank your friends. Now, whenever I want a fully functional shell from my desktop, I just hit that key combination and it All Works (TM).SharpKeys lets you reprogram your keyboard without requiring any Registry hacking skills or any other tricks. "C:\Documents and Settings\slightlyoff\Desktop\puttycyg\putty.exe" -cygterm. Once I extracted it and ensured the Puttycyg directory was in my windows PATH, I created a desktop shortcut to the putty.exe included in the distribution and configured the shortcut (right-click) to read:

Enter Puttycyg, a small hack on the venerable Putty SSH client for windows that provides an option to launch a local Cygwin session in lieu of connecting to another system. Having cygwin is nice, but having a terrible shell with Cygwin? Not so nice. Not sure why it's not built into Windows, frankly. If your key-mapping preferences swing some other way, SharpKeys can likely handle that too. Instead of fugly registry hacks, SharpKeys allows you to map the dreaded and useless "Caps Lock" key to something actually useful. It's kind of comforting that the Cygwin home page hasn't changed perceptibly in nearly a decade. Here's how I got it done with Windows: Do the MSFT Patch Dance This is all relatively straightforward to do on Linux and OS X. I fully admit that my personal programming proclivities are not normal, but to be reasonably productive I need a Unix-like shell, a terminal that works (can be resized, has reasonable VT100 emulation, etc.), and the ability to fix the "Caps Lock" key to do the right thing – namely, have it fire the "Ctrl" key instead.

The truly dispiriting thing, though, is how badly cmd.exe still sucks.

The default install contains roughly nothing useful, and even getting a development environment going requires grabbing the likes of cygwin, Visual Studio, and a zillion patches from Microsoft. Windows XP is truly a horrid desktop OS, particularly if you're a programmer.
