Stabilizing FreeBSD as a guest under VirtualBox

One of the things virtualization allowed me to do is retire old hardware by imaging the hard drives and booting it up under VirtualBox. This works great, and is often better than trying to extract everything that might be worthwhile later.
Unfortunately, one of the first things I encountered was some instability in the FreeBSD guest. Once the system crashed spectacularly, I found I could no longer make it through compiling a port or updating the ports tree, and in some cases, it crashed on boot a few times before settling down.

By reviewing logs and experimentation, I settled on a configuration that appears to be rock-solid. With the caveat that I did not specifically identify the problem and that it’s possible my hardware and issues differ from others, here it is:

First, after the FreeBSD guest crashes, ufs can be left in a state where it thinks it can restore consistency using the journal, but that’s insufficient. The approach that works is to force a remount, then fsck twice:

mount -fur /
fsck -y /
fsck -y /

Once the errors are settled down, update fsck so that the “sync” flag is added to any mounts in the virtual container:

/dev/gpt/rootfs   /   ufs   rw,sync    1    1

Reboot, which will help stabilize things, because the next thing you’ll need is the emulators/virtualbox-ose-additions-nox package. (If you plan on using X, you can go for same package without the “nox” extension.) You might want to start with “pkg install” rather than building the port, since the port does require kernel source code. If your system isn’t yet stable, it can be challenging to retrieve this and complete the build — each time your system crashes, go back and fsck as above.

Once this package is installed, activate it in rc.conf:


Shut down the guest and go back to its settings. Set the Storage->Controller Type to “virtio-scsi” and ensure that the guest boots properly. Once I’ve complete these steps, my FreeBSD guests have experienced no instability.


Restoring the Windows 10 Registry

I tend to back up everything, which not only helps in the event of the occasional catastrophic failure, but is also a godsend in the event of doing something stupid. The first step, of course, is taking backups of everything via BackupPC, so if you’ve landed here and haven’t done that … well, go do that. (If you’re in the unfortunate circumstance of having lost your registry without a backup, well, it’s something to remember for next time.)

What you’ll need: a USB stick with Windows 10 boot media. You can download this right from Microsoft. You’ll also need some way to retrieve your backed up files from your BackupPC installation, but that’s pretty easy.

Locate the hive files from the BackupPC host in question — you’ll find them under \windows\system32\config. You can be surgical about this if you know exactly which hives need restoring, or you can go for the nuclear option:


You’ll need them on the USB stick; it’s simplest just to download a .zip file of what you need, then unpack it onto the USB drive. It doesn’t matter where, as long as you can find it later.

Boot from the USB drive (this may require tweaking the boot device in the BIOS) then go to Recover Windows, then go to a command prompt. If you’ve just booted, you probably have an abbreviated C: drive and an X: drive, neither of which is the hard drive you want to copy things to.

list volume
(one of these is going to be your Windows drive, it shouldn’t be too hard to pick out)
select volume [number]
assign letter [unused drive letter]

Now copy the registry files from the backups on the USB stick (probably mounted as C:) right over their counterparts on the drive you just mounted. You might want to make backups first, but that’s up to you.

Reboot, and your registry is back


The Wonderful Lunacy of Cut-Resistant Gloves

I ran across these gloves, and the first thing I noticed was that the picture depicted somebody apparently trying to cut off their own finger.

Don’t try this at home

At first glance, it doesn’t say “these are cut resistant gloves” so much as “you’re going to need a new pair of gloves. Once you get back from the emergency room.”

Most sellers appear to make their point with the common, “you want to perform black magic? Not with these gloves” style of palm-cutting demonstration.

Imaginary blood brothers

Sure, that gets the point across, but what if you want to demonstrate that your gloves are really very cut-resistant? Then you attack your gloved hand with Paul Hogan ferocity:

You call that a knife?

These things are kind of awesome. But what if I want to artfully cut finger and wrist holes in a metal can, and jam my whole hand through it?

Metal can is not part of glove; if you’re creating a post-apocalyptic film, you’ll have to cut your own cans

At least it’s better than depicting that you might need a pair if you have trouble distinguishing one end of a knife from the other:

Hand me that knife, would you?
Just what exactly were you trying to do, here?

It makes me appreciate those sellers of safety gloves who get the point across — that these will help you avoid blade-and-hand related tragedies — by also illustrating that if you’re going to test the limits of your safety equipment, maybe not stake your fingers on the result of a successful experiment:

Okay, you can probably try this at home

Though it seems that something that might be as effective as all of these, is the graphic depiction of somebody who still has both their thumbs:

Delightfully labeled so you’re well aware there are two thumbs

Terrible Drivers

It’s probably no surprise that Seattle drivers are objectively the worst drivers out of hundreds of cities.  In practice, bad driving ranges along a spectrum from merely irritating, like being behind somebody unwilling to make a turn until the road is completely devoid of traffic, to dangerous and stupid, like wandering into the opposing lanes or crossing a bike lane without looking.

To be fair, some of Seattle’s terrible driving is caused by inconsistent and incomprehensible road layouts.  The city is littered with intersections that require special attention, with bike lanes that could literally be anywhere, six-way blind intersections with no markings, left-hand merges, and right-of-way conflicts that take a keen legal mind to correctly ascertain.  Express lanes are usually the leftmost highway lane, proving an incentive (and legal reason) for driving slowly in the left lane without passing.

Given this high cognitive load, there seems to be a large segment of the driving population that gives up entirely, which only adds to the confusion.  To make things worse, the Seattle police don’t seem particularly interested in enforcing traffic laws.

I was recently impressed by a new way to be terrible, illustrated in this diagram:

How not to make a right turn

This is the intersection of 9th and Mercer, an often-busy intersection.  Cars traveling down Mercer are mostly headed to the highway, and it’s not uncommon for people to turn onto Mercer and get stuck in the intersection, blocking cross traffic.  The right lane on ninth is often occupied by people wanting to turn right, anyway.  The left lane on 9th only has a left arrow and markings indicating that it’s left-turn only for the entire block, but as the right lane moves slowly, there’s a fairly consistent group of people who get in the left lane to turn right.  When the left arrow is illuminated, they simply turn across the right lane, blocking both the left and right.  Naturally, this slows the right lane even further, encouraging those who wish to make right turns to follow suit and get in the left lane.  Of course, people who want to either go straight or follow traffic laws are pretty screwed.

Good job sucking, blue car.  You are both a terrible driver and a terrible person.


No, It’s Not Time To Pull Together

Now that Trump has won the election, supporters are voicing a common refrain: it’s time to pull together. Stop criticizing Trump. Accept that he’s the president. Pray that he succeeds. Support him!

Before pointing out what a terrible idea this is, I’d like to take a moment to sympathize with his supporters. These are people who have voted for fantasies and simple solutions; people for whom magic was more important than misogyny, xenophobia, and racism. These are people who have imagined that Trump will do good things, despite all evidence to the contrary, despite his own explicit statements, and despite cabinet choices who for the most part, have spent their careers fighting to destroy the institutions Trump wants them to manage. Understand that theirs is a fact-free fantasy world; feelings are more important than facts and journalists seeking the truth are vilified.

In this fantasy bubble it is understandable that a supporter might imagine that Trump would be an unquestioned leader — that all citizens would bow to the new truth and join in mindless worship of the new king. In this fantasy world, there is no room for criticism — it clashes with “reality,” and threatens to collapse the cognitive dissonance which allows supporters to hold conflicting beliefs. Criticism of Trump is uncomfortable, especially when backed with facts and logic. What supporters are saying is that they do not want to hear it.

This is particularly important, so I shall repeat it: what they are saying is they do not want to hear it. In times past, this has led to violent suppression of dissenting opinions, and this is a very real danger even now. Trump and his supporters have made statements decrying dissenting speech and opinions and taken steps to suppress it. Trump’s own strategy is to devalue and debase it at every turn — among his supporters, it proved an effective strategy, to sow distrust in journalism at large and point them toward bold propaganda.

I therefore return to my main point: pulling together is the opposite of what we should be doing. Instead, we should be seeking the truth, speaking the truth, repeating the truth, whenever possible. We should be criticizing Trump and his administration whenever possible: it’s important to show we’re not along for the ride, we don’t subscribe to the alternative reality that’s been constructed, that instead we believe in actual facts and truth. This is what makes authoritarians like Trump and his supporters particularly uncomfortable. This is why they don’t want to hear it. And this is why it’s so important to say it, and continue saying it.


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.


Cloud Overload

Welcome to the Cloud Era, where data is no longer relegated to your personal PC, but to the ubiquitous and ambiguous “cloud.”  This has a number of advantages, but unfortunately, cloud as a technical term has now been soundly abused (as much as “database”) — used to mean everything from a hosted service (formerly known as a “website”) to a redundant cluster of computers meant to provide resilience in the case of localized failure.

Here I present a brief review of a handful of “cloud services,” by which I’m mostly referring to what I’ll call “cloud drives” — in other words, a service which provides synchronization and storage services for files you put in it.


I’ll start with Dropbox, which is arguably the category leader, and a handy reference point by which to judge other entrants.  Dropbox provides 2 GB of space free to do with essentially anything you want, has clients for all popular platforms, including Windows, OSX, and Linux, as well as mobile platforms like the iPhone, Android and (of all things) the Blackberry.  As with other providers, paid plans increase the storage available and enable use for business.

Aside from the obvious things that one can do with shared storage, Dropbox has a number of features:  First, files can be shared publicly, enabling a handy way of sharing a file with somebody using a URL.  Second, on mobile platforms, Dropbox will automatically upload pictures taken — and on desktop platforms, screen shots.  This is quite handy when combined with the previous ability to publicly share files.

onedriveOneDrive is the offering from Microsoft formerly known as SkyDrive and attached to their Live service — and Passport, or what-have-you.  OneDrive starts with a lot more storage — 15 GB, and has smaller-increment paid plans than Dropbox.  (Smaller leaps in storage for less money.)  OneDrive doesn’t support *nix or the Blackberry.  OneDrive has the same photo upload and public sharing features as Dropbox.

What OneDrive adds is automatic organization of documents and combination with other Microsoft services, like Office 365, and is built in to newer Windows operating systems.  Great if you use a lot of Office or are stuck with a Windows phone, I guess.

googledriveGoogle Drive matches OneDrive’s 15GB storage space, and synchronizes with Google Docs in a fashion somewhat similar to OneDrive — except that Google Docs is free, and documents can be freely edited and collaborated with no other subscriptions or software.  Integration with Gmail means that attachments can be added to your drive easily, though it also means that Gmail and Google Drive share the 15GB limit.

Google Drive lacks picture upload capabilities, but can share files publicly.

icloudiCloud Drive is Apple’s offering in Cloud drives, with general file synchronization and storage being a recent development.   Its features beyond that are both venerable and (understandably) very Apple-specific, so some of its features, like contact synchronization, are really only useful if you’re already using Apple devices to store your contacts in the first place.  Others, like Notes, require a new iCloud email address.  It’s available on Windows, IOS8, and (soon) OSX.  iCloud Drive comes with 5GB of storage, which is shared with backups of your IOS devices.

While it does have photo features, iCloud lacks the ability to share files publicly.

amazon-cloud-driveAstute readers have spotted a trend by now — every place that has their own infrastructure seems to have a cloud drive offering — and yes, Amazon has their own cloud drive offering called Amazon Cloud Drive.  If you have a Kindle, you’re no doubt using it already, and you’ll find any personal documents here.  It also integrates with Amazon’s cloud player.  5GB is included, which is shared with personal Kindle documents (but not purchased eBooks.)

Amazon’s Cloud Drive has client apps for phones (that can handle phones) but lacks an app for desktop synchronization.  Files uploaded to the Amazon Cloud Drive may be shared publicly.

owncloudOwncloud is a bit different for a number of reasons, but the biggest one is probably that it’s open source software that you run on your own platform.  While this may not be too useful if you don’t have a platform, the easy availability of inexpensive VPSes makes this a relatively inexpensive proposition to set up, and it has some features that other offerings lack.  However, it also lacks one critical thing that other cloud drives promise:  built in redundancy — so you either need to set up your own, or use it in a way that resilience isn’t critical.  Intriguingly, owncloud can use Google Drive for storage, which means its features can be combined with Google Drive’s resilience.

Like other cloud drives, Owncloud has synchronization clients for major platforms.  Photos can be uploaded from phones, but not automatically.  Owncloud stands out because of the control it provides, its essentially unlimited storage (limited by your platform, of course.)  Shared files are automatically versioned, can be password protected, and when deleted, linger for set periods of time.  Owncloud can also include document editing capabilities (if installed) and has “apps” which can be loaded on the server to handle contacts, calendars, etc.  Contacts, for example, provides a decent web interface, as well as synchronization via carddav.


One Way to be Happy

All the staff and kids from our group home were walking back from the cafeteria when Jay, for no apparent reason, started screaming:  a high-pitched, ear-piercing shriek like nails on a chalkboard.

Cindy, our group home leader, gently pushed Jay’s wheelchair until it was facing a wall and put on the brakes.  His shrieks continued, only stopping so that he could breathe.  “Why don’t you take this one?” she asked, leaning close to my ear so I could hear her.

Jay has Rett syndrome, which is very similar to autism.  Or maybe autism.  And perhaps something else.  Nobody really seems to know for sure — but we’ve been given a plan of action for the tantrums, which essentially is to remove as many stimuli as possible and wait it out nearby.  Although as a caregiver it may be instinctive to try to soothe Jay by talking or touching, this doesn’t help, and just prolongs the episode.  So I have little to do but wait nearby, try not to get a headache, and make sure Jay doesn’t hurt himself — which, although very unlikely, is possible, so I’m not going to let him out of my sight.

Nobody else is in the cafeteria, so I’m soon joined by two friends who notice me sitting alone — Luke, a fellow caregiver and a patient named Kirby.  Kirby has an enzymatic deficiency that somewhat mimics Tourette’s syndome’s symptoms, and his hands are restrained (wrapped in padded cuffs and chained to his chair) to keep him from hurting himself.  Kirby greeted me with a hearty hello, then spit in my face.

“Oh shit,” Kirby apologized, looking mortified.  “Sorry.”

“Don’t worry about it,” I smiled.”It happens.”  Jay is still screaming his lungs out.  Luke handed me some paper towels which he always keeps at the ready.

The three of us talk for a while over Jay’s screaming.  Kirby punctuates the conversation with occasional profanity and unnecessary apologies, and every now and then the chains on his arms tighten and his body goes completely rigid.  What he’s trying to do (or not do) I can only guess.

A man on crutches somewhat unsteadily comes to our table and introduces himself as David.  This is unnecessary for us because all of us already know him… but he doesn’t know us, so we tell him our names, again.

David has been hit in the head by a golf ball which damaged his ability to form new memories, so that anything after the moment of impact can’t be permanently stored — like the movie Memento.  The injury had two other side effects — first, it had damaged his motor skills, making it difficult for him to walk, or golf, or generally move about.  Second, it has provided David with an intensely sunny disposition and charming personality that he insists he didn’t have before the accident.

David sat down next to Kirby and eyed Kirby’s restraints.  “Do you shake hands, is that okay?  I don’t want to be rude…”

Kirby smiled, “Well, it’s better if I don’t.  I can’t always control my hands.”  Kirby’s face twisted into a grimace and he shouted, “you pigfucker!”

David smiled brightly.  “Well, you certainly made me feel better!”

David’s brother Tom was apparently visiting, and joined us at the table.

“Can’t you shut that kid up?” Tom said to nobody in particular, as Jay continued to shriek.  I wasn’t particularly fond of Tom.

“Pigfucker!” said Kirby, but without the telltale grimace that normally accompanies an attack.

Luke stifled a laugh and announced that it was time for he and Kirby to go back, leaving me with David, who may remember me if he hasn’t looked away and thought about something else, Tom, and Jay’s wailing about 10 feet away.

“I’m David,” he introduced himself to me, holding out his hand cheerily.

Tom wore an expensive, three piece suit and nervously twirled the keys to a Porsche around his fingers.  “You look tired,” David said to him — something David said to Tom a lot, which was his gentle way of saying, “you look old,” which was inevitable, because the Tom that David remembered was from twelve years earlier, before the accident.

“Will you stop saying that?” Tom pleaded.  Again.

David shrugged, realizing he must have said it before.

“I’m sorry, I guess I don’t know how you guys put up with that,” Tom gestured vaguely in the direction of Jay, who took a deep breath, paused just long enough to give us hope that he might stop, then resumed his siren-like scream.

David seemed genuinely confused.  “Put up with what?  That kid is clearly upset, and there’s not a thing we can do about it because of his condition.  But it does remind us how fortunate we are.”

“Fortunate?”  Tom seemed incredulous.  “You can’t remember anything, you can’t walk, you gave up your career and everything you ever loved, you’re sitting in a crappy cafeteria without any food listening to a kid scream at the top of his lungs, and you’ll never get any better.  You’ll never leave this place.  You’ll never remember anything.  You’ll never work again.  When your kids visit, you don’t recognize them, you don’t know who your grandkids are and soon you’ll stop telling me I’m tired and you’ll say ‘good lord you’re old’ every time I come and visit you.  How can you consider yourself fortunate by any stretch of the imagination?”

David took Tom’s hand.  “I’m happy.  I can get around, I like meeting people, and now I meet people all the time.  This chair is comfortable.  This table’s a nice color.  Everything’s new to me.  I’m always learning.  I can forget about absolutely anything I don’t like just by not thinking about it, and I can remember what I want by writing it down.  Here’s an example.”  David showed Tom something written on his hand.  “It says you visit me all the time here.  I wouldn’t remember that, and I’m sorry, but I love that you’re here, and it’s great that there are so many people who love and care about me.  That’s what being fortunate is.”

I realized that Jay had been quiet now for a minute or two.  I stepped over to see if he had returned to the world.

“How are you doing, Jay?” I asked quietly.

“Tastes more meatier!” he yelled enthusiastically, echoing the words of a commercial he’d heard.  While the words may not make sense, they at least seemed to match his emotional state.  We headed home.


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.