I don't think the baby's face is that important

Apropos of my passing mention of that brilliant Hays/Efros scene completion technique, here's "Seam Carving", a very crafty image resizing technique:

PDF with more info here, home page with MOV version of video here.

(Via.)

Welcome to Vista. Now buy new hardware.

Aaah, this takes me back.

Install new version of Windows, discover that now some of the hardware for which you paid good money does not work any more, and will not ever be fixed. Buy new stuff, sucker. Thank you for playing.

Actually, one of the problems listed in the PC Perspective piece is exactly the same as it was back in the Win98-to-Win2000 days. Apparently positional audio won't work in many games in Vista, ever.

The same thing happened when people with Aureal Vortex-2-chipset sound cards upgraded from Win98. The sound card still worked, but only in stereo mode, and that was the end of it, no matter how hard you tried.

The Vortex 2 had much better sounding positional audio, then, than any alternative. It still sounds good today. But you've got to run Win98 to hear it.

(There might have been Win2000 drivers eventually, except that Aureal went bankrupt around the time Win2000 was coming out, after a legal battle with... Creative. Their assets were then bought by... Creative, who had no particular interest in the Vortex chips. And now, the wheel turns...)

To be fair, the parallel's not really a perfect one. Games that supported the Aureal 3D sound API and also the newer and crappier Creative one could be returned to proper functionality, back in 2000, if you bought a Creative sound card to replace your Vortex 2. Today, games that support both Creative's now-mature but still-somewhat-crappy API and the newer OpenAL standard should Just Work on your existing Creative card. Regrettably, though, the grand total of commercial games that support OpenAL at all appears to be 77, including some big names but excluding many others. Those others will have 3D sound on Vista only if they're patched to support OpenAL, which is Not Bloody Likely for nearly all of them, but is I suppose a bit more likely than it was back in 2000.

Ryan's complaint about his print server now being a paperweight reminds me of what Win2000 (and every other NT-series Windows version) did to ATA CD changers like this one. They were and are very cool pieces of hardware - six discs in barely more space than a standard single-disc drive! - but they were killed dead by WinNT and later. Win2000 expected you to manually mount and unmount the discs, rather than just switching 'em automatically like Win98 did. It was much faster to use a single disc drive and carry the rest of your CDs around in a wallet.

Microsoft have a Vista version of their Hardware Compatibility List ("currently only compatible with Internet Explorer 6 and above"), and an Upgrade Advisor you can run to see if there's stuff in your PC that's explicitly non-Vista-compatible. Anybody who is for some unfathomable reason thinking about getting Vista at this early date (what, you want to be absolutely totally tip-top ready for DirectX 10 games the very day they come out?) should, at least, run the Advisor.

On drilling down into the HCL to see what Creative sound cards are listed, I note that the answer appears to be "none". There's a small list of chipsets, not one of which is from Creative. So I suppose you should be grateful that your Creative card makes a noise at all.

The Advisor will also not save you if the insoluble problem that's waiting for you is that the print server on the other side of your house will never work with Vista. And it won't say a thing about software, including your non-OpenAL games.

Merry freakin' Christmas

On the first day of Christmas, the universe gave to me...

Woo freakin' hoo.

...a big fat Macintosh disk error.

(When it's doing an operating system update, and it goes to sleep in the middle of it, and then it won't wake up again, that's bad.)

I know very little about fixing Macs.

Well, I knew very little.

Now I know that when it boots to a blue screen (then a different shade of blue with a pointer, then the first shade of blue, repeat until bored), and the problem's not an incompatible login item, and this procedure ends when fsck announces that the volume could not be repaired, and five million Web pages say that the next step is to try fixing the drive with DiskWarrior, but the computer will not boot from your DiskWarrior 4 CD (that you got from the only place you can get commercial software from on Christmas Freakin' Day, nudge nudge), no matter how hard you hold C on startup, and the Mac goes into target disk mode just fine, but the only device you then get to see on your Windows PC via MacDrive as you hopefully try to copy files off it is the optical drive which still contains the apparently perfectly valid DiskWarrior CD, so you have to boot with the mouse button held down to get the bugger to eject, and you then plug in some random spare drive via a FireWire doohickey, then install OS X (v10.4) again to that drive, you can then boot the computer from the external drive, put the DiskWarrior disc in again, fail to run DiskWarrior because of some folderol with permissions, fix that, eject and replace the disc, run DiskWarrior again, then it'll hang the whole operating system at "Step 9: Waiting For Mac OS X system services to complete...", and you figure that maybe that's because your old hard drive is overheating, so you'll point a little USB fan thing at the drive and power cycle everything yet again, and now the drive runs a lot cooler but it'll still hang at exactly the same point, leaving the computer unable to do anything but blank its screen according to its default power settings...

...then you're screwed, right?

I'm thinking that the first thing we should have done with that computer when we went to my mum's place for Christmas was, perhaps, to make that first backup she'd never gotten around to, not to click "yes" to the months of queued-up update requests and then leave the room.

But we didn't, and now it's like this, and I'm thinking all I'm going to be able to do is try an erase-and-reinstall of OS X on the munged hard drive, destroying all of my mum's un-backed-up data.

And, if that doesn't work, go shopping for a new hard drive.

Unless one of you has a better idea.

(Yes, I'll buy a legit copy of DiskWarrior when the shops are open again to sell me one, if anybody thinks it will actually have any value to me.)

Note that "Take the computer to the friendly staff of the Genius Bar at your local Apple Store!" does not qualify as "a better idea", unless you also send me the money to fly to a country that has Apple Stores in it.

Here in Australia, our Apple retailers appear to favour the more rugged "Jeez, Yeah, That's Buggered. Wanna Buy Another One, Mate?" Bar.

Continuation of a theme

Apropos my previous mentions of this sort of thing, I couldn't resist piling on about this Lifehacker post. It's headlined by a simply excellent example of a user interface exploding into a Wain mandala of peripheral detail.

(My answer: A mere 15 active extensions, including of course the excellent ClumsyFingers. Plus a few zombies that don't work with Firefox 2, none of which I've found myself actually missing.)

Click here to be annoyed

It is, indeed, not at all unreasonable to expect an automated system which knows what you did wrong and how to fix it to fix it for you, rather than to just officiously tell you to try again.

On the other hand, if an automated system that knows how something can be done better, yet also knows that you cannot do it better in your current situation, it should avoid encouraging false hope.

USB dumbness

Others have pointed this piece of genius out before, but I think it bears repeating.

Achtung! Eine Schpywaresuche!

The nice people at Prevx, makers of the software which (you may recall) was the only darn thing that saved me from adware purgatory, have a malware database which you can search by filename. This won't help with crapware that generates genuinely randomly named files, but a lot of crapware doesn't do that.

I found Prevx by doing a plain old Google search for the name of an unwelcome DLL, but you can also search it more directly:

Spyware Files SearchType a filename!

The jotti.org scanner lets you actually upload a file for analysis by multiple antivirus programs, while the Prevx scanner just works by filename. But neither of them cost anything, and the Prevx database is better than that of any combination of "antivirus" programs I've seen.

Full disclosure: Prevx don't have an affiliate program, but they've said they'll tip me a buck or two if I send them lots of traffic (and, thereby, generate some sales of the full Prevx1 application. Prevx1 has a fully functional trial period, though, so it can get you out of your current jam for free).

They've also given me a Prevx1 license for free.

I'll try not to spend that all in one place.

NOTE: Prevx have now changed their software so that, like various other commercial spyware killers, it finds infections and then refuses to fix them until you pay up. (And my old license key doesn't even work any more.)

3.8 trees per day

Because I Just Don't Learn about responding to people's news-announcement e-mails, please find herein my review of Uniblue System's "newsworthy and highly topical" LocalCooling software.

LocalCooling interface

(Mmm, alpha transparency. Picture of woogle not included in standard install.)

LocalCooling is software for Windows PC power saving. According to the press release, "if enough people join in, the Local Cooling Community could seriously cut CO2 emissions from computers".

Not that computers themselves actually emit carbon dioxide, of course, but the power stations that run them usually do.

Global warming, LocalCooling. Geddit?

LocalCooling is from the makers of the harmless but largely useless SpeedUpMyPC, which is one of those apps with "273 Five Star Reviews!" because it's got an affiliate program and all the reviews are from penny-ante sites (like mine) that want to cash in (a temptation I've managed to resist. Feel free to throw me a tip in appreciation of my shining incorruptibility).

If you want software to clean your Windows registry, disable useless things in system startup and so on, there's plenty of excellent freeware you can use. Commercial system-speedup utilities often do more than the freeware does, but they very seldom do anything extra that actually needs to be done. Voodoo memory management twiddlers, for instance, are extremely popular among grunty dads and other Power Users, but (a) Windows' memory management has actually been very good in every version since Win2000 and (b) memory's so cheap these days that you'd do better to put the $US30 you're considering spending on memory-optimisation software towards the price of another whole gigabyte of RAM, which'll set you back less than $US100.

Aaanyway, LocalCooling restricts itself to power management. It's got a slick and easy to use interface, but the single functional difference between LocalCooling and the normal Windows Power Options is that LocalCooling lets you set your PC to shut down if it isn't used for X hours (or even minutes, which could be a good way to annoy someone).

To make that setting more useful, you can tell LocalCooling to not shut down before a particular time (presumably resetting at midnight or something; I was never clear on when you were allowed to start feeding mogwai again, either). You can also tell LocalCooling to never shut the computer down if some particular single application is still running.

If you're in the habit of forgetting that you've left your computer on, then I suppose this could be of some use. But it's not as if the standard Windows power saving features don't already have standby/hibernation options. A stood-by PC only draws a few watts, and a hibernated PC draws no more power than it would if it were "off".

Like many modern appliances, PCs are never really "off" while they're still connected to a live power socket. The "vampire" draw of all those little red standby lights all over your house, not to mention the watts used by old heavy linear plugpack power supplies and the smaller but still non-zero number of watts drawn by newer lightweight switchmode plugpacks, can add up to a significant amount of juice.

But I don't have a problem with "off" PCs keeping that one little LED lit on the motherboard and waiting for things like wake-on-LAN signals that will never come, because that extra power also maintains the system BIOS configuration data. Loss of the "CMOS" config is not nearly as big a deal today as it was back in days of yore when losing it meant your computer forgot about all of its hard drives, but it can still be a pain. Modern PCs also have easily replaced lithium coin cell battery backup for CMOS data, instead of the nasty rechargeable or soldered-on lithium batteries that a lot of old PCs had, but that battery will last effectively forever {like, ten years plus} if the PC's got wall power all the time.

Anyway, only if your PC is unable to hibernate is turning it off really a better option. There's no power drain difference at all.

And... that's about it for LocalCooling's actual functions. It lets you set monitor and hard disk sleep timers as well, but so does the standard Power Options.

LocalCooling also has a neat-o tracker that shows you how many "Trees", "Gallons" (of oil) and "kilowatt-hours" you've saved by using it, but this tracker suffers the most common failing of bad science - arbitrary measurements. Not entirely arbitrary, since it's calibrated in watts, but it's got arbitrary fudge factors for the number of watts your PC consumes.

(And also for how those watts convert to trees and gallons, but that doesn't matter much.)

LocalCooling identifies your CPU, monitor, hard drive(s) and graphics card, but it can only actually have a clue about the real power consumption of the CPU and graphics card. Even then it is basically guessing, because it can't tell how hard either is working.

It evaluates my Manchester-core Athlon 64 X2 as being good for 59 watts of power consumption, which is a reasonable enough average figure for a well-used computer. But there's a big difference between idle and working-hard power figures; an easy 50 watts for something like my computer.

Since, like a lot of nerds, I run distributed computing software 24/7, my CPU usage is pegged at 100% all the time and that extra fifty watts ought to be added on.

This is something that a future version of the LocalCooling software could do (this one is only v1.03), since CPU usage is easy to measure and map with moderate accuracy against processor type. But it doesn't do it yet.

The same applies to the video card. Modern high powered 3D cards really are high powered when they're doing complicated stuff in 3D mode, but not when I'm sitting here typing text.

LocalCooling estimates only 20 watts for my GeForce 7800 GT. That actually seems to be something like its idle power consumption, with full-blast 3D mode consumption up around 60 watts (Nvidia specify the 7800 GT as an 85 watt card).

LocalCooling could build a proper database of monitor power consumption, too. They have to depend on Windows' opinion of what monitors are connected being correct, but beyond that they currently just take a wild-ass guess about how much power each monitor consumes. For my 21 inch Samsung CRT they reckon 70 watts, which is OK for a 21 inch LCD, but is a significant under-count for my monitor (which is specified at 125W, but probably more like 100W most of the time). 70 watts would be way off if the "21-22 inch Screen" they detected was actually some old three-foot-deep NEC behemoth.

Oh, and LocalCooling doesn't yet seem to know if you've got multiple monitors. It only notices the primary. That's bad.

LocalCooling makes a couple of less objectionable guesses, too. It assumes each of your hard drives draws eight watts, which may or may not be an overestimate but doesn't matter a whole lot, since the difference won't add up to much unless you've got a bunch of 10,000RPM drives or something.

LocalCooling also tacks on an extra 15 watts for "everything else" - system fans, motherboard chipset power, expansion cards and so on. That's fine; few enough users have a wind tunnel PC full of 30 watt Delta fans.

LocalCooling also doesn't seem to have any integration with the low power modes that various modern processors have. They can step down to a lower clock speed or even voltage on demand. Of course, you should be able to make that stuff happen anyway, possibly with integrated Windows drivers and maybe with extra software from Intel or AMD, but LocalCooling is happy to duplicate the basic Power Options features, so it ought to do this too.

One day we may be running PCs with hardware monitoring that can actually track the current being drawn from the power supply, perhaps even with some granularity so you can see how much juice each subsystem requires.

We're not doing that now, though, so it's impossible for software to really accurately track system power.

LocalCooling could definitely do a considerably better job of it than it does, though. I hope it does in future versions. At the moment all it does is let you join a "community" of people all vying to see how much power they can save. Which is good. But the actual power saving numbers are pretty much random, and LocalCooling does not, currently, actually do anything of importance that you can't do with plain unvarnished Windows.

My Adware Adventure

You know what I did for, oh, about sixteen straight hours, a few days ago?

I hunted adware.

I'm so ashamed.

I ran one little program I shouldn't have. Firefox 2.0 did actually give me its "dude, I really wouldn't download stuff from here if I were you" warning about the site, but I did it anyway. I trusted the file to be harmless just because a couple of virus checkers said so. In the adventure that followed I found out about an "online malware scan" page that lets you submit any file for easy multi-checker analysis - not that that would necessarily have helped.

Anyway, that's all I did. Executed one little program, saw one brief flicker of a command prompt window, started my descent into heck.

Because one little slip like that is, of course, enough to allow the corpsefelching murderbait who make their money by frightening grandmothers into paying for things like System Doctor and WinAntiVirusPro to leap upon my computer in much the same quivering, sweaty way that I imagine they leap upon small children. And, needless to say, their own mothers.

All I got were adware pop-ups and a few dumb-ass toolbars and such desperately attempting to install themselves, but this nuisance-level problem was extraordinarily persistent.

I'm sure some of you are familiar with the symptoms. You run one or another spyware killer, and it finds various problems and gets rid of them (the mania of anti-spyware programs for describing 90% of all known cookies as a screaming-klaxon "infection" is a subject for another day...), but you know you haven't actually dealt with the problem, because weird-named DLLs and EXEs that you can't delete keep popping up in windows\system32. And crap in the registry matching those files' names, of course. You can delete the registry entries, but they always come back, as do the files, if you or your spyware-killing software manage to delete them.

I have, however, finally gotten rid of the problem, by using an excellent tool that I didn't previously know existed. This is probably the outside scoop for most of you, since my skillz are sufficiently 1337 that I haven't even had to think about installing any sort of anti-malware app since Ad-Aware was the one and only option (digression: Word, Ray!). But perhaps you haven't been keeping up with the malware/anti-malware arms race for the last couple of years either, and I've suffered The Curse of 1001 Reboots for a couple of days. So I figure you all ought to share some of the pain.

What I tried before I found the one tool that worked:

Spybot-S&D, which successfully spotted all of the crap being dropped, but did not spot the dropper, so it all kept coming back.

Ad-Aware, which doesn't seem to be much use any more.

Windows Defender, which was worthless. Windows Defender used, of course, to be GIANT AntiSpyware before Microsoft took it over, and people spoke well of that, so I can believe that it's useful for something. Didn't do dick for me, though.

The Ewido online scanner. Which found something, I think, but didn't fix the problem. I have no clear memories of it, since I was hitting my head on the desk pretty hard around then.

Oh, and the Trend Micro online spyware scan, which I gave up on after it had been running for twenty-six hours without finishing.

Avast and AVG, neither of which noticed anything. They're antivirus programs rather than spyware/adware spotters, but these categories are blurring together.

HijackThis, over whose logs I diligently pored. I knew what every single thing in there was, and not one process had anything to do with the churd-gobbling malware.

A Knoppix boot disc, which didn't help much because it can't write to NTFS disks.

A BartPE boot disc, which was more useful, but still didn't really get me anywhere. You can install anti-malware programs as plugins for BartPE, but they generally don't work very well, because they look for malware on the running system. That, of course, is the clean BartPE environment from which you just booted, rather than the dirty hard disk Windows install from which you just didn't.

If you're dedicated enough to put together a BartPE disc containing a registry editor that can load a registry other than the one it booted with, then you can boot BartPE and load the registry from your hard drive and screw around with it. But this was starting to seem like entirely unnecessary effort to me, because I was going to find the people responsible for the spyware and do something to them with, oh, I don't know, maybe a salami slicer, after which I would presumably be put somewhere where my computer would not be available anyway.

Booting BartPE or some other NTFS-capable alternative OS allows you to look at the files created by the malware when they're not multi-locked by important Windows processes (you can only unlock such files by killing those important Windows processes, and then your computer's broken and can't go on to actually do whatever it was that you wanted to do to the now-unlocked files). Looking is about all you can do, though; if you delete them they'll come back when you restart, and many of them are automatically deleted by the spyware as the system shuts down, anyway.

Various spyware uses this horrible strategy now. It's like a highly evolved version of the old Robin Hood And Friar Tuck story.

Oh, and in case you're wondering, yes, I booted into Safe Mode. Oh, boy, did I boot into Safe Mode.

I became quite intemperately angry about all this. My computer is, to a large extent, where I live. Many crapware victims are fairly mystified by even a perfectly working computer and so aren't necessarily especially irked when windows advertising fraudulent antivirus programs keep popping up, because hey, that's just one more thing they don't understand.

When you do understand and expect the correct behaviour of your computer, though, this sort of thing is like someone breaking into your house just to piss on your bed.

And this crapware may be as persistent as herpes, but apart from that it's not even well-written. One of the pop-ups I kept getting was a series of Firefox tabs (which probably wanted to be Internet Explorer windows) that were obviously getting their "URLs" from some file that wasn't being parsed properly. The result was an attempt to open this, and some other HTML header stuff that Firefox I'm Feeling Luckied into http://www.xhtml.com/en/xhtml/reference/, http://www.strict.com/ and http://www.5,.com/.

This made it feel as if the person who kept breaking into the house and pissing on the bed was doing that because he actually wanted to steal the TV, but did not know what a television looked like.

I suppose if you investigate spyware for a living you build up some tolerance for the sheer subhuman exterminability of the people responsible. But I'm not quite there yet. You strap 'em into Old Sparky, I'll throw the switch. Or, more realistically, join the queue for my chance to do so.

Anyhoo, after all this, I stumbled upon Prevx1, when I searched for the name of one of the numerous strange DLLs that kept appearing in my system32 directory.

(Malware writers don't yet, at least, seem to have figured out how to give their files misleading dates. So if you order files by Date Modified, you can easily see the ones that were created on the day when your computer got the clap.)

Prevx1 is a commercial product, but it's got a fully functional trial period - it's not one of those stingy programs that scans for ages, finds a long list of scary problems, then tells you you've got to pay if you want them fixed.

[UPDATE: At some point after I originally wrote this post, Prevx morphed their software into "Prevx CSI", which is now the same "ransomware" as many other commercial spyware killers. It finds infections, but won't kill almost any of them until you pay for a license. I have no idea whether the new version of Prevx currently works any better than the genuinely free anti-spyware options like Ad-Aware and Spybot S&D. Actually, I suspect SUPERAntiSpyware to be the best of the freeware crop, as of mid-to-late 2008.]

It brings to malware-hunting the collaborative user-network approach that's already been employed in spam-fighting. This approach only works better than the traditional kind of virus-definition-file system if you've got a well-connected network of users, but Prevx1 does.

And Prevx1, finally, worked.

It cleared that adware right up, leaving one still-mildly-locked but easily deleted file, and a few deactivated files and pointless registry entries, plus their symptoms like an unconnected Add/Remove Programs entry for some toolbar or other. Oh, and a few more of those cookies that Spybot and the rest think are such a big deal. CCleaner tidied most of the unconnected registry garbage for me.

Anyway, if I'd tried Prevx1 first, none of the other crap would have been necessary. A regular user would be happy with the unadorned result of the Prevx1 scan.

Without Prevx1, though, it would have been damn close to impossible to clean the computer from this one, single, 28-kilobyte-file-induced infestation, without formatting the boot drive and reinstalling.

Since Prevx1 managed to fix it, I presume someone with spare time, an outboard registry editor and a few Sysinternals tools could have done the same thing. That rules out most of the people who're paid to clean up spyware for others, though, and sure as hell rules out nearly every plain old user who would like to clean their own computer.

Plenty of spy/ad/whateverware infestations are less horrible than mine, but I'm willing to believe that a lot of them are a great deal worse, given the enthusiasm of ordinary users for (a) sticking with the default Windows root access and (b) installing every darn thing they see, just to see whether the little Desktop Stripper will get it on with BonziBuddy and the Crazy Frog.

In the olden days, support people who just told callers to reinstall Windows were taking the easy way out. They may have had to do it, given the number of callers they had to get through, but reinstalling was still not by a long shot the optimal recovery strategy for almost any problem.

These days, though, I think it's quite likely that many spyware infestations just can't be fixed by any means less annoying than nuking from orbit. Prevx1 fixed mine, and perhaps it'll go from strength to strength and become the go-to guy for all such problems for the foreseeable future, but I wouldn't bet on it.

Given this fact, and also given the vast amount of time wasted and pain caused by crapware of all kinds, I suppose it would still be uncharitable of me to suggest that the persons responsible could benefit greatly from, say, having a glass turkey baster jammed up their penis, which could then be struck smartly with a club hammer.

I've had a while to develop some perspective now, though, and I'm afraid I really can't see another way.

UPDATE: As I mention here, Prevx have a malware database which you can search by filename.

Herewith, a thingy to do that from here:

Spyware Files SearchType a filename!