A serious case of one-downmanship

While researching nLite (I’m thinking about rebuilding a PC), I found a page about two Germans exploring the true minimum system requirements of Windows XP.

I won’t spoil the ending, but one of them managed to accidentally discover the world’s slowest Pentium.I used to enjoy that kind of tinkering but really don’t have time for it anymore, especially when you’re talking boot times of 30 minutes.

At any rate, it was very interesting to see what these two tinkerers could do, even if I’m not too keen on running XP on anything less than about 1.5 GHz these days. I run a Pentium D system at work, which probably runs around 2.6 GHz, and it’s a slug. But that’s probably mostly because they insist on foisting Office 2007 on us.

But sometimes that work PC feels like one of the PCs on that web site must.

How to use compression to help life with an SSD

Since pretty much everyone thinks my love of SSDs is insane, I’ll throw another insane idea on top of it: using data compression. It makes sense. Doing it selectively, you help performance, while saving space. At a much higher cost per gig, that saved space is very nice to have.

Here’s why compression makes sense. Under many circumstances, an SSD can saturate your IDE bus. Then you run into the 56K modem problem. The bus is saturated, but you want more speed, so what do you do? Compress the data. Although data compression makes people nervous (shades of DoubleSpace I’m sure), modems have been doing this for two decades. Why? Because it works.

So while your drive is happily shoving 200 megs per second through your IDE bus, if you can compress that file by 20 percent, guess what? You’ll get 20% better throughput.

CPU usage is the main objection to this. But in my experience, NTFS compression uses 20-40% of a recent (P4-class or newer) CPU when compressing. That’s the hard part. When decompressing, overhead is a lot less. The objections to NTFS compression really date to the days when 200 MHz was a fast CPU.

I don’t recommend just compressing your whole disk. Selective compression is a lot better. There’s no use trying to compress data that’s already compressed, and a lot of our data is.

Use the command COMPACT to do the job for you. Here’s my sequence of commands:

CD \
COMPACT /S /C *.doc *.xls *.rtf *.txt *.1st *.log readme* *.bmp *.wav *.wmf *.bat *.cmd *.htm *.html *.xml *.css *.hlp *.chm *.inf *.pnf *.cat

If you have other compressible files, of course you can add those.

This is a one-time event, but you can schedule it to happen daily or weekly if you want. Just put the two lines in a batch file and create a scheduled task to run it. The command will skip any files that are already compressed. While the compression itself doesn’t take a lot of CPU time, scanning the drive does, so you might want to run it while you’re away if you’re going to schedule it.

Don’t bother trying to compress your My Music or My Pictures directories; that data is all highly compressed already, so all you do is tax your CPU for no reason when you compress that kind of data. Of course the main reason people buy 1 TB drives is because they have hundreds of gigabytes of music and movie files. It’ll be a while before storing that kind of data on SSD is practical. In that case, buy an SSD to hold the operating system and apps, and a conventional drive to hold all that data.

Some people compress their C:\Program Files directory. This can work, but some programs are already compressed. I would be more inclined to experiment with subdirectories on a case-by-case basis. Try compressing one program directory, see if it packs down any, and if it does, great. If not, uncompress it and move on.

UPX does an outstanding job of packing down program files but it’s not completely transparent. I found enough programs didn’t run afterward that I gave up on it. NTFS compression is a lot less effective, but a lot more transparent. As long as you don’t compress your swap file or hibernation file (and Windows will warn you incessantly if you even try to do that), you won’t break anything with it.

If you enjoy tinkering with things, by all means feel free to experiment with UPX. There was a time when I would have probably done it, but given a choice today between playing with data compression or playing with metalworking tools, I’d rather play with my metalworking tools.

But I do really like this SSD. For the first time in a very long time, I can sit down at a computer running modern software and it still feels fast.

The effect of registry optimizers on a run-of-the-mill PC

So I had a chance to try a registry optimizer out on a typical PC. It’s a 2.7 GHz Celeron, made by HP, restored with the factory restore discs. So it was as pristine as any consumer HP PC ships from the factory.

It helped. You’d think the opposite, of course.I used NTregopt. There’s no point in paying for a registry optimizer.

It ran for what seemed like a very long time, and it trimmed about 11% off the size of the registry. Not a lot, but this was a fresh PC (supposedly). More importantly, after running it, boot time decreased by a good 20 seconds, and once it booted, I had a wee bit more memory available.

I also ran JK-Defrag on it. What it found wasn’t horrible, and it only took about 15 minutes to clean it up.

So the stock HP computer runs more nicely now. And if one were to remove all the HP crapware that comes with it (remember, it’s only crapware if you won’t use it), that will help, but doing a registry optimization and a quality defrag will help even more. Not quite as much as a fresh Windows install slipstreamed with the current service pack and all patches, but for most people, close enough.

Utility programs are no substitute for adequate system memory and a respectable graphics subsystem. That’s probably why people who build new PCs twice a year don’t think much of them. But for the rest of us, utility programs in skilled hands can squeeze more life out of an aging PC. I’d be willing to submit the six-year-old Compaq I’m using to type this as Exhibit A.

Registry optimization

I gave my Windows 2000 system a little tuneup today. Nothing major, but it feels peppier now, and didn’t take all that long to do. Nor did it require any expensive utilities.

This works with Windows 2000, XP, NT4, and Vista. For Windows 9x advice, you’ll have to turn to an old critically acclaimed book written by someone you’ve never heard of.First, I ran Ccleaner, which does a general cleanup of temporary files and obsolete/incorrect registry entries. It found more than 300 MB of garbage to get rid of. Be sure to run both the file and registry cleanup, as they’re separate buttons. It found a lot less in the registry that needed to go.

Stage 2 is to run NTregopt. I recommend downloading the all-inclusive collection from Donn Edwards, which includes NTregopt, plus the Sysinternals system file defragmenter and the excellent JK-Defrag. NTregopt packs the registry, removing the empty space formerly occupied by now-deleted entries. In my case, it reduced the size of the registry by about 200K. Not a lot, but I don’t do a lot of installing/uninstalling on this system.

Stage 3 is to run the Sysinternals Pagedefrag, which is included in the Donn Edwards bundle. In my case, most of my registry files were in nice shape, but one of them was in a startling 28 fragments. Pagedefrag took care of that.

Of course, while you’re at it, it doesn’t hurt to do a general defragmentation. JK-Defrag is fantastic–much better than most commercial programs, and it’s free. In my younger days I might do a quick defrag both before and after registry optimization, but one defrag afterward takes less time and should usually suffice.

The registry optimization took about 10 minutes total, including the reboot. The disk defragmentation took another 45 minutes, but there was no need for me to sit and watch that.

The system boots faster now. It also feels peppier, but since the registry wasn’t in horrible shape, I’m guessing the defragmentation did more to help system speed than the registry work. Getting rid of 300 megs of garbage and moving a few gigabytes of rarely used data files to the end of the disk to make room up front for the stuff you do use makes a difference.

The nice thing is that optimization like this used to require a $99 software package, like Norton Utilities or Nuts & Bolts, and both of those packages also installed some junk that really did a lot more harm than good (like Norton Crashguard, which I used to call Norton Crashmaker). I devoted an entire chapter of the aforementioned book to installing and using utilities suites while keeping the problem-causing stuff off your system.

Today, you can download and install two files that do it for free and stay out of your way except when you need them.

Escape from Windows 98

There’ve been a few times that I’ve met someone who was stuck in an old Windows 98 PC because it had all their software and data on it, it was set up the way they liked it, they may or may not have all the installation media, and it would take several days’ worth of labor to set up a new one like the old one.

So usually in that situation I just bubblegum and duct tape the system together as best I can.

No longer. Not now that I’ve discovered PC Mover.PC Mover is a Laplink product. It’s really pretty simple. Set up the old PC and new PC on the same network (ideally the new PC should be as pristine as possible), install and run PC Mover on the new PC and follow the prompts. Eventually it will tell you to install and run it on the old PC. Follow the prompts there, and it will do its very best to move all of the programs and data to the new PC.

I literally set up Mom’s old Windows 98 PC and her new(er) Compaq Evo D51C (running Windows XP), set the options, watched for 30 minutes, then went out and spent an hour mowing the lawn. About 15 minutes after I came back inside, it was finished. Now that I think about it, I’m pretty sure her Windows 98 PC only has a 10-megabit NIC in it, so under what I would consider reasonable conditions, the migration would have been faster.

Now I wish I’d thought to change the NIC out.

But at any rate, at the end of the process, I rebooted the new computer and it came up looking just like her old PC. Her desktop looked the same, all her data was in the right place, and her old programs ran.

System-level stuff like antivirus and CD burning software won’t transfer, but that’s not PC Mover’s fault. Utility software is usually very OS-specific, and if I manually tried to install the Windows 98 version of Norton Antivirus in Windows XP, it would tell me to get lost. She can install her scanner, and XP will detect her printer and take care of setting that up for her.

When I ran PC Mover, I selected the advanced options and deliberately de-selected stuff I knew she wouldn’t need, in order to speed up the transfer and lessen the likelihood of something going wrong. But I’d be reasonably comfortable just letting it run on autopilot.

The resulting system does have some unneeded cruft on it, but I can live with that. Windows XP is worlds better than Windows 98 ever was, and this Compaq is newer and probably better than her old computer too. Maybe running CCleaner would help with the junk, but for now I’m just going to leave well enough alone.

PC Mover costs about 40 bucks, but I think it’s worth it. The last time I worked on someone else’s PC, I charged $50 an hour (which is probably too little, considering what a lawnmower mechanic or plumber charges). It would probably have taken me 4-6 hours to do what PC Mover did in two, and that’s assuming I would have been able to locate all of the old installation media.

Whether you need to move data and programs to a new PC running XP or Vista for yourself or for someone else, I think PC Mover can make the job a lot easier for you. It worked so well for Mom’s PCs, I’m thinking I ought to use it to migrate a couple of old PCs I’ve been keeping around to newer hardware.

Dave switches to Office 2007

I switched to Office 2007 on Friday.

The reason given was that updates to Office 2003 were failing to install, so the remedy was to install 2007. The change happened Wednesday night. I was out of the office Thursday, so I had a nice surprise waiting for me when I returned on Friday.First impression: What’s that blinky thing in the upper left hand corner and how do I make it stop? I hate blinky things. I thought Microsoft understood that blinky things are bad. First order of business: Search Google for "turn off office 2007 blinky thing." No relevant results.

In desperation I clicked on the blinky thing to find out what it is. Ah, it’s a File menu replacement. Mercifully, it quit blinking after I clicked on it. If it hadn’t, that part of the screen was going to get covered, possibly by a sticky note, but just as likely with blood or a bullet hole.

Second impression: This is Office For Morons. The old Word and Excel menus, aside from the blinky thing, are gone. They’re replaced with tabs, and clicking tabs brings up a series of oversized, Barry Bonds-esque toolbars that contain a bunch of related functions. The result is that it wastes a lot of screen space, and while maybe I’ll use 50% of the functionality in there, now it takes extra mouse clicks to get to it.

Most of the ctrl-key shortcuts still work. Unfortunately after a day of using it I don’t know which ones do and don’t, and I don’t know which ctrl-key shortcut unconditionally formats the hard drive so you can make a note not to hit that one.

Out of habit, I hit alt-i in Excel to bring up the insert menu. If you can fly blind, that works.

Mercifully, the overhaul is unfinished. Outlook and Publisher still retain an old-style menu structure for the most part. I can’t speak for Access because I don’t think I’ve launched Access since July 2001.

I really don’t like Office 2007. The desktop support person says I’m being stubborn. Part of that may be true–I’ve been using Word and Excel since at least 1993, and I learned those easily because every other graphical word processor, spreadsheet, and indeed, every other graphical application I’d used since about 1989 used a very similar structure for its menus and toolbars. In effect, I’ve been doing things one way more than half my life now, and all of a sudden I have to do them differently.

The other irritating thing is that under the old system, I could live in Word and Excel for weeks at a time without taking my hands off the keyboard. I had the ctrl-key shortcuts for most of the things I do memorized, and for the things I didn’t have memorized, I could hit alt to bring up the menus and usually I could find what I needed in less time than it would take to grab the mouse–especially in Office 2000 and 2003, where the menus initially come up in abbreviated fashion, showing only the last few functions used. Office 2007 is going to force the mouse and me to get reacquainted, and that’s going to slow me down.

Arguably the new interface is easier for a beginner to learn. There are two problems with that. One, this user interface treats you like a beginner forever. And two, that dumbing-down is for no good reason because there are very few beginners out there anymore, and the few beginners who are left are teenagers, who didn’t really have any problem learning the old interface.

The nicest thing I can say about Office 2007 is that some Microsoft executive took a dump in a box and decided to shrink-wrap it. This isn’t going to compel people to upgrade. If the idea is to sell new versions of Office, this might work though. If Office 2009 includes an option to use the old menus, it’ll sell like crazy to the fools who blindly bought this. Especially if it comes out sometime this year.

Identifying what processes are talking on your Windows box

If you’re curious whether a particular piece of software might be spyware, or you have some other reason to believe your computer might have been compromised and might be talking to something it shouldn’t be, there’s a quick and easy way to find out besides using the standard netstat -an command.

Windows XP and 2003 (and, presumably, Vista) have the netstat -o command, which tells you what IP addresses your computer is talking to and on what ports, plus it adds the process IDs that have those ports open. There’s a hotfix to add that functionality to Windows 2000, but it appears you have to demonstrate a need for it in order for Microsoft to provide it.

Regardless, I like the Sysinternals tool TCPview better. The most important thing it does is give you the names of the application, instead of the process ID, using each port. That saves you from having to run task manager and figure it out yourself. It puts everything in a GUI window, making it a little bit easier to scroll around, and it also tries to resolve the IP addresses, which can be nice. So if all you have open is a web browser pointing at Google and you see processes talking to web addresses you’ve never heard of, you have reason to be suspicious.

The next time someone complains to me that a computer is running slow, once I think I’ve cleaned off the spyware I think I’ll run this utility just to see if there might be anything left.

A big time test for Nlite

I saw an XP Myths page this weekend, and although I don’t agree with its assessment of XP’s security, most of it seemed credible. It said XP can do fine on as little as a 233 MHz Pentium with 128 MB of RAM.

I whipped out a P2-266 with 192 MB of RAM to see.The specs are humble, to say the least: P2-266, 192 MB RAM (upgraded from 96 because XP kicks into some kind of "reduced functionality" mode with less than 128), and a very old Seagate 1.2 GB hard drive.

I installed XP with lots of pieces, like Media Player and the Internet Connection Wizard, removed, although I did leave in Internet Explorer.

Initially I formatted the drive FAT, since FAT does perform about 20% better than NTFS on limited hardware. The problem was the cluster size got me. Formatted FAT, I had about 100 MB free when the installation was complete, which is dangerously low. Converting to NTFS brought that up to 170 MB, and gives the option to compress some items to get some more space.

Performance wise, it’s not as bad as it sounds. Windows boots in 1 minute, 15 seconds after defragmenting the drive. Considering this 1.2 GB drive probably dates to 1996 at the latest, that’s awfully good. Memory usage was 96 MB, so you’d be able to run an application or two on it, although a modern web browser would feel claustrophobic after a while.

If I were actually going to try to use this computer, I’d put a decent hard drive in it–the newer the better, of course.

I would also want to upgrade the memory to 384 MB, which is the maximum this one supports. A cut-down XP seems to do just fine in 192 MB of RAM, but it wouldn’t do so fine with antivirus software loaded.

I still think a cut-down Windows 2000 is a better choice for this type of machine, but it’s certainly possible to run XP on it. With either OS, though, I would use Nlite to remove as much of the fluff as possible, to give yourself some space for whatever it is you really want to do with the machine. I think it would make a good PC to run educational software for kids, for example. And it’s nice to have a choice of something other than Windows 98 for that.

The Nlite-d Compaq revisited

I installed antivirus software on the Compaq today. As expected, it weighed things down–boot time doubled, to 40 seconds, and memory usage approximately doubled, to 212 MB.

I can’t do much about the memory usage. But half the system memory is still available for apps, which should be fine. Upgrading the memory is always an option for the future. The boot time was fixable.I ran Jk-Defrag, which is probably my favorite utility now. Full optimization didn’t take long on a system with so little on it. I used the option -a7 to sort by filename, which works surprisingly well.

To help the memory usage a little, I yanked the Microsoft Office stub out of the startup group. All that does is preload some of Office at boot time, so Office apps load faster. But modern hardware negates it. With that running, Word loads in about two seconds. Without it, Word loads in about two seconds. Windows XP’s prefetching gives the same benefit for free, so there’s no point in wasting memory on the Office startup piece.

The two changes dropped the boot time to 30 seconds, which is pretty good, especially on a conventional drive. A minute is typical for a stock Windows XP system, even on new hardware. Solid-state drive manufacturers brag about how their products can boot XP in 30 seconds.

I wonder how fast they’d boot if they’d been installed off my Windows CD?

Memory usage and boot time will jump some more when it comes time to actually use the system–scanner drivers and digital camera software need memory and take time to load. But that’s OK. My goal was just to reduce the overhead somewhat, since antivirus software is an absolute requirement these days, and its overhead is only going to go up. I ran across a year-old stash of virus definition files recently, and today’s files are more than 50% larger. The number of viruses out there is growing, and they are becoming more complex.

A Readyboost alternative for XP

I found a reference today to Eboostr, a product that adds Readyboost-like capability to XP. Essentially it uses a USB 2.0 flash drive to speed up your system, although it’s unclear whether it’s using it for virtual memory, a disk cache, or both.

I found a review.I don’t have a machine that’s an ideal candidate for this. The product, from everyone else’s comments on the blog, works best on machines that have less than 1 GB of RAM. If you’ve maxxed out the memory on an aging laptop, this product will extend its usefulness.

My ancient Micron Transport laptop would be a good candidate, since it maxes out at 320MB of RAM and none of the 256 MB sticks I’ve tried in it work, so I’m stuck at 192 MB. But there are two problems: It’s running Windows 2000, and it doesn’t have USB 2.0 slots. Any machine that came with USB 2.0 slots and Windows XP probably can be upgraded pretty cheaply to 1 GB of RAM or more.

I could put XP on the laptop, get a PCMCIA USB 2.0 card for it, and a $20 USB stick so I can use a $29 product to give me Readyboost. But by the time I bought all that, I’d be more than halfway down the road to a newer laptop.

I think a better solution for me would be to replace the hard drive with a solid-state drive. It would cost less than $200, boost the reliability (the latest I’ve heard is that solid state IDE drives will last about 10 years, which is about double the expectancy of a conventional drive), and then everything is on a device with a fast seek time. Plus the drive in that machine is getting old anyway and probably ought to be replaced. I could probably get a solid state drive for about the cost of a conventional hard drive, a USB stick, and this software.

I’m not going to dismiss the software entirely, since it clearly is helping some of the people using it. If you run lots of heavy applications side by side and you’re running up against your memory limits, it can probably help you. And if you can get a good deal on a flash drive (either you have one, or grab one on sale for $20), then there’s little harm in downloading the demo and trying it out for 4 hours. Make sure you stress the system before and after installing to see if you can notice a difference.

If you don’t see much difference, you’re not out much. USB flash drives are incredibly useful anyway. Use it as a cheap and fast backup device. If you do see a difference, then you’ve extended the useful life of your machine.

The mixed results don’t surprise me, frankly. Vista’s Readyboost gives mixed results too. It really helps some people. It has no effect on others. And in rare cases it may actually make things worse.

If you want to try to get some of the benefit for free, you might experiment with redirecting your browser cache, Photoshop scratch disk, and temp files to a USB flash drive. It almost certainly won’t hurt, and could help a lot.