How to get a refund for the unused copy of Windows that is chained to your new laptop

Serge Wroclawski tells us how to get the Windows tax back that you pay with almost any laptop on the market, whether you want Windows or not. I’m not sure if this strategy only works for the USA, though.

I have a few personal experiences with this problem. I have tried several times to get my money back for unused Windows licenses, and every time I was told it’s impossible. One afternoon, I insisted enough to be put through to Microsoft Switzerland’s licensing person, and he himself told me it’s impossible to get your money back, even though Windows’ very own license agreement says you will get cash back if you don’t need Windows. It’s a horrible situation. They sell you a product you don’t need and then trap you in legalese when you want to exercise your right of returning it for a refund.

Sometimes they claim they don’t even need to stick to their own license because of “differing contractual obligations between Microsoft and the OEM.” But so what? Any ties between OEM and Microsoft are not the customer’s problem. The customer is only bound by the EULA, not by any contracts between MS and the OEM. Did the OEM let itself be bullied by MS’ scare tactics like a spineless jellyfish? So what, that’s not my problem.

A friend of mine and I once spoke to one of the largest IBM resellers in the germanophone part of Europe about this. Their answer? “No, you can’t return your copies of Windows, but if you buy more than 50 laptops we can downgrade the XP Pro that’s included to a cheaper XP Home.” Friendly, but completely useless and against your very own license agreement.

This makes me angry because it’s very clearly in illegal territory, and it’s one of the ways Microsoft makes much of its money. And even though it is illegal, it is tolerated because no one has so far challenged Microsoft in court about it (in Switzerland).

Article is at, found via Slashdot.

PS: “Just don’t buy a laptop with Windows preinstalled” is not an argument, by the way. Most laptops are not available without Windows. Consumers should not be restricted in their choice of laptops by the Microsoft tax.

Some brainlessness in rsnapshot

I love rsnapshot, for the most part. It’s one of the most efficient and straightforward incremental backup solutions I’ve ever used — much more reliable than some of the commercial solutions I’ve tried. It leverages the power of GNU cp, your filesystem, rsync and others and smashes them all together into a big happy chunk of reliability.

However, it must contain some idiocy, and I guess it’s somewhere in parse_config_file. I just set up another server, the same way I usually do, but it needed a slightly different rsnapshot.conf. So I edited the one that was there and known to work because it automatically comes off my server images. Afterwards I wanted to do a test run of each of the backup intervals, because that’s what you do. But rsnapshot didn’t agree. It didn’t disagree either. It didn’t do *anything*.

The next step was to increase its logging verbosity and look for hints in syslog. Interesting: It seems to read its config file successfully and it even writes a pid file. Next, it checks for stale backup directories it might have to rotate. That means it parsed its config file and is happy, no? No! The thing wouldn’t copy anything into the backup. Not a single file!

As a last resort, I straced one of those test runs but forgot to include the tracing of child processes. That probably would have given me more of a clue — the way it was, it just added to my confusion.

In the end I decided to unpack a fresh, distribution-approved config file from /usr/share/doc/rsnapshot/examples and to make the required changes by hand. I retested while already preparing to submit a bug report, when… It worked! The thing performed all the backups reliably, packed up and went to sleep until cron wakes it up tomorrow.

There must have been **some** character **some**where in my config file that deeply confused rsnapshot, confused it so much that it claimed the config file syntax was OK but silently refused to work.

Perhaps config file parsing in rsnapshot has to be rethought. The way I see it, this is sad indeed. It’s the least reliable bit in an otherwise very reliable package, but it’s always the weakest link that breaks the chain, and other assorted age-worn sayings.