BackupPC and Bare Metal Restore of Windows 7+

It has been five years since I posted BackupPC and Bare Metal Restore of Windows XP, which has been surprisingly popular.  However, Windows XP has been out of official support for quite a while now, and the same techniques, although they can be made to function with newer versions of Windows, are no longer ideal.  On the plus side, there are better options for bare metal recovery now.

First, it’s worth mentioning that BackupPC is a system designed to back up files, not images, so recovery is going to be slightly imperfect.  While the files themselves can be completely recovered, the ability to recover file permissions is limited, so that it may not be suitable for a server with complex file permissions or where security of the data is paramount.  File based backups are particularly good for the case where files are lost or damaged (often through user error) but not well suited to complete system recovery — and catastrophic media failure is often an opportunity to clean out the debris that tends to accumulate over time with computer use.

So, while the ideal vehicle may have been a different backup method, such as an image backup, it’s still quite possible to recover with just the files, as I outline here.  To complete this task, you’ll need a little more than twice as much space as the system to be recovered — it can be in two different places, and that isn’t a bad idea for performance — installation media for the system to be recovered, access to either HyperV or a VirtualBox virtual machine (VirtualBox is free), and the drivers necessary for the system to be recovered to reach the storage.  For example, if it’s on a network share, network drivers may be necessary (even if they’re built in to Windows 7.)

Step 1:  Build a local tar file using BackupPC_tarCreate

This is probably familar as being the exact same step one as before; I note that using gzip to save space or I/O appears to slow things down.  At any rate, this is best accomplished from the command line, as the backuppc user:

BackupPC_tarCreate -t -n -1 -h borkstation -s C / > borkstation.tar

“borkstation” is the name of the host to recover, “-n -1″ means the latest backup, and you’ll obviously need to have enough space where the tar file is going to store the entire backup, which will not be compressed.  Note the space between the “C”, which represents the share to restore, and the “/”, which represents the directory to restore.

Step 2: Prepare base media

The point of this step is to get the drives partitioned the way you want, and as before, it will just be wiped out, so it doesn’t make sense to worry about much except the partition scheme and whether or not it’s bootable, so a base installation will do.  You’ll want it to be able to access the network (or whatever media is being used) as well.

So, in a nutshell, you install an operating system similar to the one you’re recovering. It doesn’t need to be identical, so you can, for example, use a 32-bit version to recover a 64-bit version, or what have you.  You just need a basic, running, system.

Step 3: Back up the system

Yes, the idea is to create a system image of the base system you just installed.  The data will be discarded.  This can be done from Control Panel->System and Security->Backup and Restore->Create a System Image.  This image either needs to be placed somewhere the VM can get to it, or moved there.

Step 4: Mount and erase the drive image

The backup image created in Step 3 is a directory called “WindowsImageBackup” that contains a folder for the PC, along with a lot of metadata and one or more VHD files.  These VHD files are virtual hard drives that can be directly mounted in supported VMs.  You’ll need a VM image that’s capable of understanding the filesystem, but it doesn’t need to match the operating system being recovered.  For VirtualBox, the VHD file can be added to the Storage tree anywhere; it can be left in place, but it will grow to the size of the total of all files to be recovered, so plan accordingly.

For Windows 7, it’s probably easiest to clean it out by right-clicking on the drive (that maps to the VHD) and performing a quick format.  While it’s possible to leave the operating system and other files in place, this usually causes all kinds of permission issues recovering matching files and can result in a corrupted image, so it’s simplest just to clean it out.

Step 5: Extract backup files to the drive image

This step requires that Cygwin be installed on the VM.  A stock install of Cygwin is all that’s really needed, but there’s an important change to make to fstab:

none /cygdrive cygdrive binary,noacl,posix=0,user 0 0

This is necessary because tar’s attempt to restore acl’s to directories doesn’t quite match the way Windows expects things to be done, and without adding “noacl” to fstab as above, tar will create files and directories which it doesn’t have access to, and will experience failures trying to restore subdirectories.

After making the change and completely closing all Cygwin windows, open a Cygwin window, navigate to the destination drive, and run tar on the archive created in step one.  (A shared drive will make it accessible to the VM.)

tar -xvf /cygdrive/z/borkstation.tar

“Z” in this case is the Windows drive which is mapped to the location of the archive; the path simply needs to point to the correct file.  This part takes a while, and since the virtual image needs to expand on its host disk, there will be a lot of I/O.  It helps to have the source archive and the destination VHD on different media.

If permission restrictions aren’t important to you, now’s the time to right-click the destination drive within the VM, and grant full rights to “Authenticated Users.”  This should be sufficient to prevent any lingering permission side-effects.

At this point, the VM should be shut down so the VHD is released.  (It’s a bad idea for more than one owner to access a VHD at the same time.)

Step 6:  Clean up

Aside from the files themselves, there are a number of things stored outside the files that need to be cleaned up.  The “hidden” and “system” attributes, for example, have not been preserved.  For most files, this doesn’t matter much, but Windows has “desktop.ini” files sprinkled all over the filesystem that become visible and useless unless corrected.  This is easy to do from the command line:

cd \
attrib +h +s /s desktop.ini

The mapping of “read only” attributes is unfortunately, somewhat imperfect, and the “read only” bit in Windows may be set for directories for which the backup user did not have full access.  Notably, this can cause the Event service not to function properly, so its directories need to have their read-only bit unset:

attrib -r /s windows/system32/logfiles

attrib -r /s windows/system32/rtbackup

Though it doesn’t seem to cause issues to just unset the read-only bit on the entire system:

attrib -r /s *.*

One ugly thing that’s stored in the NTFS system but not in any files is the short names that are generated to provide an 8.3 file name for files with longer names in Windows.  These are generated on-the-fly as directories or files are added, which means that the short file names generated as files are recovered may not match short file names as they were originally generated.  For the most part, short file names aren’t used, but they may appear in the registry as references for COM objects or DLL’s, and the system won’t function properly if it cannot locate these files.

The simplest way to track these down is to load the registry editor (“regedit,”) select a key, then use File->Load Hive to load the recovered registry from windows\system32\config on the drive image.  Then, searching for “~2” “~3” and so on will yield any potential conflicts between generated short names.  While the registry can simply be updated, it’s usually easier to update the generated short name, which can be done from the command line:

fsutil file setshortname "Long File Name" shortn~1

Note that switching the short names of two files or directories takes three steps, but since short names can be anything at all, this is relatively straightforward.

The last piece to do is file ownership/permissions and ACL’s.  Since none of this is preserved in a file backup, I find it easiest to right click on the recovered image and give full control to “authenticated users,” to prevent problems accessing files.  Your mileage and security concerns may vary.

Step 7:  Recover the image

The simplest way to do this is to boot the system to be recovered to the vanilla operating system installed to produce the image, and use the same Control Panel to select Recovery, then Advanced Recovery Methods, then “Use a system image you created earlier to recover your computer.”

This can also be accomplished from installation media, which is handy if anything goes wrong.  Rather than installing a new operating system, selecting “Repair your computer,” then moving on to Advanced Recovery Methods, should also be able to restore the image.  If you use this method, it may be necessary to manually load network drivers before being able to access shares.

Note:  after the image is restored, the system may complain about not being able to load drivers, and claim that the restore failed.  I’m not sure why this occurs, but it doesn’t seem to matter.  Reboot, and the system should be mostly back-to-normal.


I Hate You, Ventra

tempChicago’s transit system has had a few farecard systems:  over the past decade, a magnetic stripe system has coexisted with the Chicago Card (and Chicago Card Plus) contactless smart card system, an RFID system for electronically paying for bus and train fares.  The Chicago Card system is actually quite a decent design, where a rider can tap the card against a touchpad on a bus or turnstile, and set it up to automatically reload itself at set low balances.

This is being replaced by Ventra, which is also an RFID card, but with several important additional features designed by the criminally insane.  First, you’ll notice the debit Mastercard logo which appears on the Ventra card — this has two important implications.  The first is that instead of using a Ventra card at all, you can instead pay for your ride with any regular debit or credit card with an RFID chip, right?  That’s got to be handy.

Well, sort of.  Since most regular debit or credit cards won’t record, or more importantly, notify a turnstile about a transfer you just took, you’ll be paying full fare for any bus-to-train or train-to-bus or any other permutations of transfers for which you’d normally be entitled to a discount.  So consider yourself screwed there.

In addition, one of the popular uses of RFID technologies is to leave the devices in one’s wallet/purse/etc and wave it at the reader.  This is, shall we say, a really bad idea if every card in your wallet is going to pay for your train ride every time you walk through a turnstile.  Since a Ventra card is doing what an RFID Mastercard would be doing plus exchanging data about transfers, it’s actually a bit slower — perceptably so, if I may judge from the number of people giving themselves the Heimlich on the turnstiles while attempting to use their Ventra card.

On to the second implication of that Debit MasterCard logo:  the Ventra card can also be used as a debit MasterCard — not that the same debit balance used to pay for the train might also be used to buy a sandwich, or even that you can link the card somehow to your own bank account, but that you can set up a new, separate, prepaid debit account, because apparently you’re a raving lunatic who would rather spend hundreds of dollars on fees than carry around two cards, one for riding the train, and another one for buying sandwiches.  If you truly can only lift one card and have no need of extra money, you’re probably still better off with just a regular credit card.

In August, I got an email that I’m being transitioned from my working Chicago Card Plus to Ventra, along with a note that the balance from my Chicago Card would be moved to my Ventra card “as soon as” my Ventra card was activated.  In September, I received a Ventra card, with a letter referring to an email that supposedly had an access code that I’d need to activate it.

If I were a sociopath designing a card activation, I don’t think I could do better than online activation that makes you type in a lot of information in order to ultimately direct you to a help line, where the help line makes you type in your card number and other identifying information, places you on hold for a while, before announcing that the lines are all busy and maybe you should try activating online.

Over the course of several days, I took a spin through this circle of sadistic incompetence, but was rescued when I finally did get an activation email.  Well, rescued from the phone, anyway — it turns out the psychotic web designers spent a lot of time making a fairly pretty graphic of a spinning thing for you to look at for ten minutes before the web site tells you there’s some kind of error, and it can’t make the mandatory changes it requires you to make before allowing you to continue.

So the “immediate” balance transfer from my Chicago Card has been at least two weeks, and despite my customer service inquiry to the sociopaths at Ventra, there has been no response.  Not that I’m in any kind of hurry.


PC Repair and Sunk Cost Fallacies

We have a Gateway Profile 5.5 that we bought used at a Hamfest.  While not the latest or greatest, it was at least a solid workhorse of a machine, until it suddenly switched itself off.  When it came back on, the screen presented only this:

This system's cooling fan is not operating properly. Please check fan operation. 
Your system has been halted.

It probably wasn’t worth a lot of money to fix, so I made the natural assumption that one of the fans had either failed or was clogged with dust.  I thoroughly cleaned the interior, checked the fan bearings, cleaned the heatsinks and replaced the heat sink compound.  It worked for about a day before I got the same message, from which it absolutely refused to recover.

One of the fans was a relatively expensive squirrel cage fan, but fine, if it took new fans to make all this worthwhile, then I’d buy brand new fans.  The PC booted all the way, but wouldn’t run a full burn in test without shutting itself down.

The other possibility was that the sensors on the motherboard were defective.  Motherboards for the system were available, but at a premium relative to their capabilities due to their proprietary nature.  Fine.

As of this moment, to fix this problem, I have gone through:

  • 4 motherboards (2 refused to boot, 2 with the same fan message)
  • 2 sets of fans
  • 2 power supplies
  • An I/O board
  • A hard drive
  • A CPU
  • Two sets of RAM

In a very literal way, there is nothing left of the original PC except the LCD screen and a plastic shell, leading me with several possibilities:

  • This is a common problem due to a failure of a component on the motherboard
  • Through some relationship bordering on magical, the problem is caused by the LCD (or even more unlikely, by the case itself, somehow.)
  • I am exceedingly unlucky, and have experienced the same type of failure on multiple components within the same short period of time (or I manage to keep buying defective parts.)

The worst part is, even though I’m well aware of the sunk cost fallacy and that any further attempt to repair this PC is likely to result in nothing more than a time consuming way to dispose of money, the pile of parts which should be a functional PC instill an overwhelming desire in me to fix this PC, and once and for all find out what’s really wrong with it.

Probably ghosts.


Kindle Lending Library List

I’m fond of the Kindle Lending Library, but it can be somewhat awkward to use — both returning books and locating books isn’t as simple as one would hope, the process generally being “search for a book and then see if it happens to have a lendable Kindle edition.”  While this is great if I know what book I want, sometimes, I just prefer something free to plow through.  Without further ado and for future reference, this link will show all Kindle Lending Library books and allow the results to be searched through in a sane way:


[not over] Packing for Travel

I recently stood in the airport security line, watching the passenger in front of me struggle with wangling his things into five bins, awkwardly shoving those plus a rollerboard and duffel bag down the belt.  “How long are you going for?” I asked.

“Oh, just the one night,” he said, noticing my one backpack and one bin (for the laptop. ) “Did you check your bags?”

“Heavens no, I’m only going for four days.”

As one who travels frequently, and has for a while, I make it a rule not to carry more than one bag unless I really need to, and with rare exceptions, I never do.  I realize some people may have medical conditions that force them to travel with special shampoo or dozens of shoes, or can’t lift enough to carry around a bag without wheels, but in my observation, people carry around a lot more than they actually need to.

I recently went through my travel kits and shed about a pound of stuff that is becoming less necessary:  an ethernet cable, a VGA cable, a few audio cables.  I’ve added a DVI cable to what I carry — it seems that hotel televisions will either accept this input (sometimes with a little fiddling) or be so antiquated or locked down that no connection is possible.

I do follow a few simple rules to keep things efficient:

  • Every cable is retractable.  This eliminates tangles and clutter, making packing quicker as well as reducing bulk
  • Everything but clothes in kits.  This serves a few purposes:  it’s easy to find things and tell if something’s missing in a small kit, and each kit serves a specific purpose.  So if I know I’m going to a country with non-US power, I can grab that kit, and I can leave the airplane power kit at home if I know the airplane doesn’t have power outlets (or it’s a short flight.)  It also keeps all the stuff from rubbing on each other.  I use colorful Guatemalan bags for each group of things.Kits
  • Check the weather.  While no forecast is perfectly accurate, it’s senseless to pack everything from a short-sleeved shirt to a parka “just in case.”
  • Stop carrying anything you don’t use.  I periodically go through everything I carry, and if it went on a trip with me and I didn’t use it, it’s probably not going next time.  (There are a few things that are handy to have and compact, like a lens cleaning cloth, that survive the purge, but not many.)
  • Clothes get rolled or bundled.
  • Don’t carry things the hotel has.  If there’s any doubt, it’s worth confirming, but carrying around a hair dryer or iron is pretty ridiculous for most destinations.  I’m usually fine with hotel soaps and shampoos, and carry a small amount of paper shampoo just in case.
  • As few devices as possible.  This is getting easier and easier, as one smart phone can eliminate almost everything else, but I still see people traveling with phones, mp3 players, laptops, DVD players, e-readers, tablets, hand held games, those massive Bose headphones, piles of media and god knows what else.
  • Devices that are as small as possible.  I’ll bring up the massive Bose headphones again — don’t get me wrong, they’re very nice, but they’re a lot to carry around.  Personally I take noise-canceling earbuds, which fit in a shirt pocket.  Laptops are a touchy subject, but there’s little reason to lug around a huge screen if you can plug it into one when you need it, and I’ve seen more than one person struggle with a laptop so large it couldn’t reasonably be opened in the space allowed by a plane seat.
  • Both hands empty.  This has a lot of implications, but essentially, if you have to carry something in your hands, it’s something you have to put down to use your hands, or learn to juggle.  If you’ve ever seen somebody carrying a bag in each hand take a phone call, you know exactly what I mean.  It’s one of the many reasons I prefer a backpack to a bag with rollers.
  • Use the “three things” rule.  People can generally keep track of a grand total of three things at a time, so (for example) it’s best not to have more than three things at a time out from your bag on the plane.  Kits are helpful here, since remembering three kits is three things, and you can check to make sure your kits contain the items they should without losing track of a long list of things.  (My memory is quite good, but I have better things to expend mental effort on than keeping track of a larger number of things.)

The breach that keeps on giving

In what should be old news by now, back in June, LinkedIn‘s servers were breached, leaking around 6.5 million user names and passwords.  Hackers were then able to determine (for the most part) what passwords were associated with the hashes and accounts.  While this may have compromised LinkedIn accounts, the greater problem is with any other accounts that happen to use the same username and password.

In my case, the only such pair was LinkedIn and, which was a bit sloppy on my part, but since I’m not in the habit of re-using passwords at all, it hadn’t occurred to me, nor had it occurred to me that this would present a problem until somebody managed to send an express package from the Ukraine, charging my account for it, to the tune of $60 or so.

While I’m kicking myself for this, it could have been a lot worse, even if I were to use the same password for email, which would then have allowed hackers to intercept “lost password” requests for all the accounts I have which don’t use the same passwords.

The lesson I take away is that even accounts I consider “unimportant” because they’re not linked to credit cards or can be used to make purchases should be given random passwords rather than common, disposable passwords.  And, of course, chaining accounts is bad.




Home Water Treatment Plant

Home Water Treatment Plant

Pump, filters, valve

Water in Chicago comes straight from Lake Michigan, and is pretty decent quality in general. Most houses do not have water meters, which I suspect leads to very little incentive to conserve water.  During the summer months, especially during lawn-watering season, it’s not unusual for our water to dwindle to a mere trickle.  A few spot measurements indicate that our water pressure is normally about 30 psi, but can drop to 15 psi or less at points during the summer.  In practical terms, this means that the shower stops if somebody turns on the kitchen faucet.

Meanwhile, my wife requested that I put in a system to remove chlorine from the water, for various health and hairstyle reasons.  Even with large, high-flow filters, this necessarily results in a pressure drop through the filters.

Cramped space

Pressure Reduction Valve

After a number of calculations, and toying with ideas such as placing the hose outlets upstream from the system so as to not bother filtering water that goes on the lawn (a bad idea for an active system, which could potentially draw water into the house from the hoses) I settled on a design which has worked beautifully for months.

In order from the inlet, the system consists of:

The order is important — placing the booster pump after the filters, for example, would mean that the pressure going into the filters could be as low as 15 psi, and therefore as low as 5 psi before the pump.  That’s too low — the pump would refuse to operate — or worse, become damaged.  Water can be pushed, but it can’t be pulled.

Booster Pump

Booster Pump

The pump adds 40 psi, so that if intake water pressure is 30 psi, the pressure at the first filter should be about 70 psi.  I’ve never measured intake pressure above 35 psi, and 75 psi is still comfortably below the filter housing maximum recommended pressure.  The pressure reduction valve ensures that intake pressure to the house doesn’t exceed 50 psi.  Measurements demonstrate that this is remarkably consistent, regardless of variations in intake pressure.

After all this, water in the house tastes pure and clean, the pressure is consistent and wonderful (we can water the plants, run the dishwasher and take showers at the same time.)

After all this work, the main thing I’d do differently is consider smaller filters.  The 4.5″ x 20″ filters are huge.  Each one holds a bit over 5 gallons, which is about 40 pounds of water.  I was primarily concerned with water flow and pressure drop, and bigger filters are better, but I doubt the difference would be noticeable for say, a 2.5″x 20″ filter, which would be a lot easier to change and handle.


Unhelpful Reviews

Like many modern consumers faced with a variety of possibly arbitrary choices, I find it useful to consult with others who have purchased similar items.  The Internet brings with it a plethora of unbiased and helpful product reviews, collected and categorized by retailers, bloggers, and, well, fake sites set up to sell stuff.  The Internet also brings with it reviews for which I fail to understand the motivation entirely; reviews that are so intensely unhelpful, they actually damage other reviews by being averaged into the ratings.

My journey started when it was time to replace our snow blower.  I don’t know what it is about snow blower reviews that attracts retards, but these are a sample of reviews that people felt the need to take their time and write:

1.0 out of 5 stars WORX SNOWBLOWER, March 4, 2011


Well, you haven’t helped me select a snowblower, but you have announced to the world that you’re kind of a jerk. Was your original plan to use it for the snow, then return it?

There were equally helpful positive reviews to balance this out:

5.0 out of 5 stars snow blower, December 17, 2010
I can tell you that it not long after I ordered it, it arrived. However, I guess purchasing it was a bit of insurance. No snow as of yet, but I am ready when it does.

You ordered it, and it arrived? I guess if you’re impressed by this, it may call for a review, but this is slightly less helpful to people than reviewing the box it came in based on color choice.

Later, I noticed it’s possible to review a product that’s still in the box, based on your unshakable belief in the brand:

5.0 out of 5 stars still in the box, haven’t even checked it out yet, November 1, 2010
to this day i still have not taken my rangefinder out of it’s box, but real soon, i’m sure i will enjoy what it can do for my hunting, it’s Nikon, i have several more Nikon products and that is why i ordered this rangefinder, if i didn’t beleive in the Nikon name then rest knowing i would have already had it out and checking it, i have not to this day ever had trouble or returned any Nikon product

I guess that’s about as good as a review asking you to rate your religion, but you posted this as the review for a product. Then again, a product that can make you feel this good without even opening the box probably deserves five stars.

Amazingly, this is actually a step up from this review:

3.0 out of 5 stars
Sounds like just what I need., February 18, 2011
I haven’t bought this yet but it sounds perfect for my needs because splitting the stereo into right and left channels is what I want.

Putting aside the fact that you’re reviewing it sight unseen, if it’s perfect for your needs, wouldn’t that be 5 out of 5 stars? Did some voice in your head say, well, I shouldn’t give it a bad review just because I don’t have one, and it shouldn’t get a good review because I don’t have one yet, I’d better just split the difference?

And yet, that still seems better than a review that does nothing but convey your level of extreme incompetence:

2.0 out of 5 stars Flimsy Firepit, January 21, 2011
I put this together and it fell apart cmpletely WITH A FIRE IN IT. Later I picked up the pieces and read the manual I noticed that I was supposed to attach nuts to the screws on the inside where you can’t even see them. This should have been in VERY BIG LETTERS in the instructions but all there was was a little diagram and a small note.


Sharing Speakers with Multiple Computers

If you’re like me, you have several devices on your desk that emit audio (or are at least capable of it) — on my desk alone, I’ve got two PCs, a laptop, a Chumby, an iPad, an iPhone, a Mac, and an iPod.

It seems sensible to me that rather than clutter my desk with a cheap pair of speakers for each of these devices, to get one good pair of speakers and connect everything to it.  I have a couple of audio mixers with cables that cost around $10 each in order to properly connect it; at the time, it’s the best thing I could come up with short of building a dedicated device.

N.B.:  y-cables may work okay for a couple of devices, but the signal is attenuated and multiplied, and plugging and unplugging devices from a gob of y-cables is just asking for trouble.

Stoweblank TinyMix

Stoweblank TinyMix

Our friends at Stoweblank produce a high-quality audio mixer that takes the 1/8″ (3.5mm) stereo inputs that all these devices put out, saving a ton on cabling.  As a bonus, it’s USB-powered.

I can hear alerts from my laptop while clicking away on my desktop and playing music on the Chumby, at the same time, plug in and unplug the iPad without causing problems.

In the interests of full disclosure, purchasing anything from a link in this post helps support this site as well.


High Fructose Corn Syrup and Kidney Stones

I’ll be as succinct and as blunt as I can be:  high fructose corn syrup gave me kidney stones.

For nearly ten years, I got kidney stones about once per year, on average.  Kidney stones are probably the most painful thing I’ve ever experienced, and I tried an awful lot of things before arriving at this conclusion.  Eliminating high fructose corn syrup from my diet has eliminated my kidney stones — for several years now.

I’m well aware that anecdotal evidence is not scientific, and I’m just an uncontrolled sample of one, but in my case, there’s no room for any doubt whatsoever.  There’s evidence beyond myself, however, such as the here, here,  and here.

This is prompted by this widely aired, misleading pack of lies:

High Fructose Corn Syrup Advertisement

I reject the assertion that it’s “all natural,” since it’s highly chemically processed, and I also reject the assertion that “like sugar, it’s fine in moderation.”  It’s probably fine in moderation; I can probably slip and have some every now and then without having a kidney stone, but I don’t have to avoid either sugar or honey.

I also object to this sort of snarky advertising — it implies that everybody with an objection to high fructose corn syrup does so on the basis of unfounded rumor that they cannot articulate.  And the answer?  “It’s made from corn!”

Asbestos is all natural, for heaven’s sake, so it’s hardly a strong argument that something that’s natural must be good for you.  It’s also somewhat misleading, because high fructose corn syrup certainly doesn’t appear anywhere in nature, it’s purely an artificial product.

It’s also a political ad, since it’s produced by the “Corn Refiners Association,” which is a group pushing its agenda in Congress.  Shouldn’t it be properly labeled as a political ad?

Tobacco is just as natural a product.  You can pretty much just mentally fill in “tobacco” for everything in the ad and you can see where I’m coming from.

I highly recommend avoiding corn syrup, particularly if you’ve ever had a kidney stone.

And to you, Corn Refiners Association, for shame.  I sincerely hope your thinly-veiled political ads cause a massive backlash, and that consumers educate themselves about the real danger of your health-damaging products.