Needful Things - Windows




Once upon a time all I needed to make me happy on a PC was a boot floppy and a Borland compiler. But things change, needs change, and I lost that boot floppy somewhere along the way.

This is my ever-changing list of what I like to find on any Windows machine I use day-in and day-out. I'm leaving out most of the actual software I use (CAD, CAM, 3D modeler, etc.) Those change depending on the task at hand. But the list below is what I like to have around, no matter.


Mozilla Firefox Firefox is a really nice browser based off the Mozilla Gecko engine. More important, it doesn't run Active-X controls, so it's not nearly as succeptible to attack as IE or similar browsers.
Adobe Acrobat PDFs are some of the more portable files that allow for multiple fonts and extensive formatting. Practically any platform can run a PDF viewer of some sort.
Spyware Blaster Spyware Blaster is one of two tools I use to control spyware on my computer. It works with IE and Mozilla to block the IPs where spyware typically comes in from. It's best when used along with Spybot Search & Destroy. Spyware Blaster blocks Active-X.
Spybot S&D Spybot is the second package I use for controlling spyware on my computer. It does not do Active-X, but it does search out spyware that's installed on a computer, and with the exception of DSO Exploits, it does a good job of removing anything that's there.
Tight VNC VNC allows remote control of a Windows machine from any platform, or a remote X session on a UNIX machine from any platform. Each way of using it has advantages that make this worth looking at. Tight VNC is a spin on VNC that offers new features, better safety, better compression, etc.
PuTTY PuTTY is an SSH client for Windows. It's small, it's fast, it's free, and it talks both revs of the protocol, so it's as secure as you want to make it. It'll do tunneling along with interactive sessions.
Cygwin Cygwin is a Linux-like environment that runs inside Windows. There are lots of things you can use Cygwin for. I run X11 inside it so I can run X11 sessions from Windows. You can run the X sessions either inside their own window (in which case you get a full-blown desktop) or on a window-by-window basis. Fair warning, if you're not already familiar with UNIX, it may be a little cryptic to set up.

Another use I've found for cygwin is for synchronizing disks between a Windows computer and a UNIX system. More on this later.
Tardis Tardis is an NTP client for Windows. It's a great way to keep a Windows clock synced to the grid of NTP time servers worldwide.
Cygwin + ssh + rsync + cron One area where I let computers and paranoia overlap is in computer security. Since moving to Hawaii I've become a lot more lax when it comes to computer security. (Hey, I was one of the weenies at IBM who read log files looking for signs of attacks or sweeps. Relaxing wasn't that hard.)

One area I'm still paranoid about is backups. One of my favorite live-spindle backup schemes is the Network Appliance Filer, a network disk server. Lacking the $50k or so necessary to buy one for my own use, I've come up with some cheesy fixes of my own.

One I have running synchronizes a directory tree on two Linux compuers and my Windows desktop. The laptop lives with me, one Linux machine is at my desk at work, and the third is at home. Unless we're hit by a major disaster, I'm covered. (And in the event of a disaster big enough to destroy all three computers, I will have other things on my mind.)

The upshot is that rsync is used to synchronize the disks on the three machines. The rsync session is run over ssh using key exhange, so it's a reasonably secure connection. All of this is jammed under cron on the UNIX machines, and under Cygwin+cron on the Windows machine. The end result is that every X hours, the directory tree is synchronized between all three machines.

There's an added benefit to this, too. No matter what environment I need the file in, it's there. If I'm at my laptop, the file is on local disk. If I'm logged in remotely to a UNIX machine the files are on a local UNIX filesystem. If I'm at home and the ISP goes out, the files are still local. At no point am I tied to having network connectivity. And if a link is down and a sync event doesn't go off as planned, it'll pick up the next one.

All this comes at a price, however. Unlike the NetApp solution where deletes and name changes are also synchronized, my cobbled-up solution does not do this. If I want to really delete a file, I have to delete all three copies before another sync event happens. Using this scheme is not seamless. It takes awareness of how it operates, and it takes some care and feeding to avoid accruing gobs of files. But for what I use it for it fits the bill.


-- Tom Benedict



Back