Thursday, November 29, 2012

The Assassination of the Everyday Superhero

A cairn at Discovery Park,
photo by Simiao.
I was really excited to play Hitman: Absolution as a birthday present to myself, and had pre-ordered it on Steam just as soon as it was available because I loved the previous Hitman games.

In fact, I loved Hitman, Thief, and Deus Ex because the protagonists all had the elements of being an everyday superhero:  a person with some talents that was able to make ethical statements through his actions.  Certainly, a hitman in the traditional sense is a generally poor choice for a protagonist.  It is decidedly unethical to kill for profit.  Agent 47 used to be different.  He killed human traffickers, high-ranking drug kingpins, pedophiles, mafia dons, and violent gangsters while (in my playthroughs, at least) leaving the innocent party guests, security guards, and maintenance personnel just doing a job to make a buck untouched, or at worst sedated and left somewhere out of the way to wake up the next morning.  To say that I find killing of innocents distasteful is an understatement:  I refuse to do it even in an imaginary video game.  My character, in my mind, is taking out the garbage that slipped through the fingers of law enforcement and will inflict only a career change on the underlings who neither profit nor even know about the actions of their superiors.  One of the most satisfying parts of Hitman:  Blood Money was the next day's newspaper describing a suspicious accident, poison or a sniper's bullet that took out the high-profile criminal target while nobody else surrounding him claims to have so much as seen the assassin.

If, like me, this is what you loved about the Hitman franchise, then Hitman: Absolution is the Hitman game for those that preferred to play Halo or perhaps Max Payne.  I've played up to Dexter Industries so far, and from what I have seen it replaces the lush, non-linear environments and pre-mission checklist of open-ended objectives of the earlier Hitman games with linear scenarios and concrete objectives like "obtain the keycard", "pacify Lenny" and "talk to the bartender."  The entire effect smacks of the degeneration of video game environments.  Many areas of the game are obviously designed to encourage the user to select a specific tool from the abilities available in Absolution such as point shooting and instinct.  The trouble is that on Purist difficulty, and as a player that wants to make an ethical statement through my actions, I do not want a bloodbath and I do want to out-wit my enemy, not cheat to blind them for a moment.  It seems like IO software tried to make Hitman into a Halo-like FPS game where between checkpoints the player is to select the appropriate tool:  sneaking, bloodbath, disguise, hostage-taking or exploration.  I'll admit that there are moments where this actually works.  In the "Rosewood" level, I am open to using violence against a mob of assassins who are in the process of or already have brutally murdered an orphanage full of innocents.  I also generally like the level where the player must save Birdie from imminent death by eliminating the three assassins in a crowded Chinatown, as well as the level where the player must kidnap Lenny.  These have the common features of feeling quite non-linear, as well as offering a huge array of opportunities for different styles of play.  

Unfortunately, to get to these gems that I actually enjoyed, I had to trudge through some really painful chores.  The game made a lousy first impression on me by suggesting that I demonstrate defenestration with an innocent guard who just learned that he was free of prostate cancer, and by forcing me to massacre four security personnel guarding a teenage girl in cold blood.   There was another scene where the goal was clearly to get me to outgun a dozen police officers inexplicably searching for me in an abandoned building behind a nightclub, and one where the police were prepared to open fire on me on a crowded train platform, though apparently playing a strategically placed skill crane game was sufficient to convince these eagle-eyed officers who were able to spot me in a crowd across the platform that I was not in fact the man they were looking for.  Other levels stood out as simply bizarre:  one where the entire goal was to walk into a redneck bar and talk to the bartender which is apparently a huge challenge, and another where the game tried to be America's Army by suggesting that I partake in some OCD target practice instead of the first-person sneaker game I wanted.

AI behavior also takes me out of the game.  Aside from skill cranes serving as magical invisibility cloaks and cops opening fire on a crowded train platform, apparently every street vendor in Chinatown knows every other vendor and will call the cops if they see any newcomer.  Apparently cleaners in an act of mass murder can distinguish gunshots from one of their people from gunshots fired by somebody else.  Apparently there exist redneck bars with a reverse dress code such that entering while wearing a suit and tie will get you shot by bouncers.  Since when did redneck bars have bouncers anyway?  Was there no Wal-Mart in this town that would sell me a change of clothes?

Overall, I can appreciate some of the changes:  I actually like the classic James Bond feel of occasionally having to simply run past security.  I actually liked the time that I had to take a human shield and back onto a train just before it departed, revealing my bluff when I pushed him off the train car at the last second.  However, I can't help but feel resentful at the times when the game suggests or enforces that I kill innocents.  I can't help but wonder if the first syllable of "Hitman" was confusing to IO software when they inserted ridiculous missions on rails without even an actual target.  Finally, I can't help but mourn for an everyday superhero who IO software thinks would pull an innocent maintenance worker who "hadn't planned on being a father at his age" through a window to his death.  Not on my watch.

This AAA title is a failure in my book.  For those that liked early James Bond who never killed anybody, or those who got the Pacifist achievement in Deus Ex: Human Revolution, or those who felt that killing people was the mark of an amateur in Thief, or those who can empathize with Dexter Morgan, this is the planned assassination of the everyday superhero that was Agent 47 in favor of a thinly veiled shooter on rails.  Hitman: Absolution is a bland, generic title that will resonate with those who would have preferred to play Halo, Call of Duty or America's Army featuring a protagonist that absolutely nobody will identify with.

In closing, I would like to plug an independent game that is excellent.  Instead of spending $50 on Hitman: Absolution, spend $10 on Faster Than Light.  It is a real-time strategy space combat simulation game where the player must make the right choices to survive and save the Federation from a very well-armed rebellion.  It's a game design that's a far cry from the one-size-fits-all rehash of working concepts that constitutes a modern AAA title, but that will resonate strongly with players who appreciate a novel design and an adrenaline-pumping challenge.

If you like NetHack but wish it was a little bit shorter, and you liked Star Trek, you will love FTL.

Monday, November 26, 2012

Google Welcome Gifts

Most employers will send you a welcome gift when you accept their offer, and Google is no different.  I was really excited to see that my Google welcome package arrived today, and wanted to share its contents with you.  First, you should know that it came in a plain white box packed with festive Google-colored confetti, shown to the left.  Second, what was inside: in the picture below, you will note  one Google hat, a super-cool Google hoodie, Google sunglasses (with UV protectant), a Google notebook, and a green Google pen.  I had to fight the urge to throw the confetti up in the air and have an impromptu party because I didn't want to spend all night vacuuming up the pieces.  Thanks Google!  I love my new swag.

Sunday, November 25, 2012

30th Birthday Spectacular

This Thanksgiving was my 30th birthday, and Simiao helped me celebrate in style by making a wonderful Thanksgiving dinner for myself and some friends from Sage.  The next day we drove to Breitenbush Hot Springs to spend a weekend hot tubbing and hiking.    Driving back in the daylight, we were intrigued by the partially drained Detroit Lake and stopped at the Detroit Lake State Park Mongold Area to explore the drained lake bed.  There were a few remarkable things about the exposed wasteland:  first, the underabundance of lake life.  No water plants at all were visible, only tree stumps, and bare rock.  The occasional crayfish shell could be found, probably the remains of bait from recreational fishing.  Second, evidence of long submerged human habitation was visible in the form of ancient asphalt and concrete foundations as well as the occasional exposed pipe.  Thirdly, we found a submerged hot spring where steaming hot water flowed from the exposed lakebed!  I've posted some favorite pictures from these adventures below.

I could barely contain my glee at my dangerously chocolaty birthday cake!

Monday, November 19, 2012

Cloud Backups vs. RAID

A friend had an unfortunate but predictable mishap today, and I wanted to do a bit of math on the economics of data backups.  I'll start with two stories about hard drive crashes with very different outcomes.

Some time ago, I fixed a laptop for a friend and in the process had to reformat the hard drive.  So, I backed up all of her files to my RAID array and then copied them back to the hard drive afterwards.  Months later her laptop was stolen, and with it all of her irreplaceable documents and pictures from years ago.  Some time later when I was clearing up space on my backup array, I found that I had forgotten to delete these files after the repair and was able to send them back to her intact.  A fortunate circumstance, after which I did what I felt was responsible and used srm to scrub the files from my archive:  it was not right that I should have all of someone else's personal files.  Today I got a text message asking if I still had those--her hard drive failed, and sadly it seems that this time years of photos and documents may be gone for good.

Having all of your personal files on a single drive is fine if you do not have any important or irreplaceable content on your computer so that you don't care if they disappear forever, but for most people this is not the case.  The average lifetime of a hard drive varies, but in my experience typical use means 3 to 4 years, and I only get some warning of impending failure through the "click of death" or system errors about half the time.  Recovery services are loath to give out a fixed price scheme which is understandable given the number of ways a drive can fail, but $350 is a typical cost if they can be successful.  Obviously, if your drive is stolen, even a data recovery service can do you no good.  You don't think about it every day, but the value of years of pictures, documents and code may be so high that it is impossible to put a number on it.

Now, a story with a happy ending.  For years, I had been using a RAID 1 array as a backup system.  Whenever one drive failed, I would just buy two new drives and copy everything over.  This has worked well for me and I have data from well over a decade ago including some of the earliest programs I ever wrote, 8 years of code from a past career in contract software development, and homework assignments from 6 years of grad school.  I also have hundreds of megabytes of pictures from places that no longer exist and of people that are no longer alive.  Recently one of the two drives in my RAID array failed, and I was left with a choice:  to buy two new drives, or to switch over to a cloud backup service.  I used CrashPlan at work, and was pleased that it was cross-platform (Linux, Windows or Mac) and worked seamlessly and silently in the background.  After examining the price tag, I decided to step into the 21st century and use CrashPlan instead of ordering new drives.  Three days later, the lone surviving drive from my RAID array failed.  If I had ordered new drives via standard shipping, I would not even have received my new drives yet much less had a chance to set them up.  If I hadn't switched to CrashPlan, that could well have been the end of over a decade of irreplaceable data.  Instead, my data was back in my hands within a day or two as I restored it from the cloud.  The cloud backup service paid for itself in the first week of ownership.

Now my question:  is it cheaper to run a 1TB RAID array than to pay for a cloud backup service assuming 1 terabyte of data and a 4-year lifespan of a drive, and a computer that is always on?   When considering prices, I will use the cheapest workable option available from NewEgg, the lowest prices from my electric bill, and an unlimited data use internet plan which may not reflect tractable options for all people.

Criteria1TB Cloud1TB RAID 1Advantage
Direct Costs1TB HD: $80.001TB HD: $80.00RAID 1
4yr Crashplan+ Unlimited: $139.991TB HD: $80.00
Total: $219.99 Enclosure/RAID controller: $10.00
5W×2HD×4yrs×$0.05/kWh: $17.52
Total: $187.52
BandwidthAt least 1TB over 4 yearsNoneRAID 1
Recovery TimeDownload speeds (Mbps)Data transfer speeds (Gbps)RAID 1
ReliabilitySecure datacenterVulnerable to theft or accident such as fire or flood.Cloud
MaintenanceInstall cross-platform software.Relatively advanced RAID setup required.Cloud

Surprisingly to me, if you were to use the absolute cheapest options available to you and software RAID, then RAID 1 is actually about $30 cheaper than CrashPlan over a period of 4 years. Clearly, CrashPlan is taking advantage of an economy of scale in order to provide this service: lots of cheap drives, a data center in an area with affordable power, and mass-produced servers. RAID 1 also provides faster access to your backup in the event of a loss, and does not abuse your internet bandwidth.  I will argue, however, that for most people the cloud will still be the better option, for one reason:  ultimately, the loss of one's data entirely is a disaster whose cost may be innumerable and as such reliability is a more important metric than price for most people.  Running RAID 1, you are still vulnerable to theft, a disaster such as a fire or flood or just knocking the enclosure off of a shelf that simultaneously destroys both drivers, or a virus or software malfunction that leaves you in the unfortunate situation of data loss.  Further, a cloud backup service is much easier for most users to set up and maintain than a RAID array.  For myself and most home users, the superior reliability of a cloud backup service more than justifies the trivial additional cost over RAID 1.

Overall, I would recommend each backup system under the following circumstances:

  • RAID 1:  Justifiable in situations where bandwidth is at a premium or internet is not available, or where backups must be available immediately (as opposed to hours later after a download completes) upon failure of a drive.  The price advantage of $7.50 per year is so small as to be insignificant as a deciding factor.
  • Cloud:  For a typical user such as myself with about 1TB of data and an unlimited internet connection,  it is only slightly more expensive than running RAID 1 but provides much greater reliability.  This option represents the future of computing and of data in general.
Whatever you do, please be responsible and use an always-on backup system.  Remember that we live in an era where much of your life exists only in data, and that many of these seemingly generic zeroes and ones are actually quite dear to you.  I know that if I had waited even another day to subscribe to a cloud backup service, an irreplaceable record of the last 16 years of my life would be gone forever.  

Saturday, November 10, 2012

A Realignment

A beautiful red fox that Nadia and I
spotted while working on a secret project
in Mt. Rainier national park.
No, I have not abandoned or forgotten about my blog!  I have been working behind the scenes on several long-term, high-quality projects that I believe will be far more compelling than anything I could have slapped together in the short term.  Suffice it to say that I myself am wholly on pins and needles1 waiting for the results!  In this case, it is a question of having things done fast or having them done right.

The big news is that I am in the midst of a personal realignment of priorities.  As part of this realignment, my last day at Sage Bionetworks will be November 20, and I am starting as a software engineer at Google in Fremont on January 7.  The friends I've made there will be sorely missed, as I've had the privilege of working alongside some of the most brilliant, thoughtful and wisest people that I've ever encountered.  If you find the suddenness of this uncharacteristic of me and are concerned for whatever reason, I will discuss the rationale on my private blog.  So, if you are interested in some thoughts and details regarding my leaving Sage, let me know and I'll add you to the list of allowed readers.  I don't expect you to, though:  I am making the private post mostly for myself while the reasons are fresh in my mind and to commit some lessons to writing for future reference.

As a function of leaving Sage and starting at Google, I felt it was no longer accurate to have my blog's tagline be, "Open source software and open access research."  I am finished with academia for the foreseeable future, and the software I produce at Google would only incidentally be open source.  I am still profoundly interested in the open source and open access movement and I will continue participating on my own time, but it's no longer a full-time job.  I'm in the market for a new tagline, so if you have any ideas let me know.

Finally, I'm totally pumped about working at Google!  I've long loved their products, and this is an opportunity to help a lot of people and touch a lot of lives by making revolutionary, user friendly and high quality software!

1This is an awesome pun, but won't make sense until one secret project is revealed!