Monday, October 31, 2011

Meet 蓝博文(Bowen Na)

From Bay Area

As of last night at 10:27pm, I am a father. XiaoQin and I picked the name because it works both in Mandarin and English (using the Pinyin Anglicization). The labor was a 18 hour process, but resulted in a C-section because the umbilical cord was wrapped around little Bowen's neck, and this was the safest way to get the baby out. Mother and Baby are recovering and bonding just fine.

I've posted more than one picture on Facebook, but this sleep-deprived dad is unable to get Two Factor Authentication to work on PicasaWeb's plugin from Lightroom, so Google+ users will just have to live with this one picture posted to an account without Two Factor Auth turned on.

Given this state of affairs will persist for the foreseeable future, and I don't see myself spamming my blog with baby pictures, just ask me on Facebook to be added to the Facebook group devoted entirely to baby-spam.

Tuesday, October 25, 2011

Long Term Review: Seagate Momentus XT Hybrid SSD Drive

In an attempt to reduce my power footprint, I've recently switched to using my Thinkpad X201 as my primary workstation. This let me fully test out the Seagate Momentus XT which I installed in early August.

The main reason for that installation was that I found myself traveling quite a bit with the laptop giving presentations. When you give a lot of presentations, time spent booting up and setting up the machine stretches and you seem to spend all your time waiting to boot. The Seagate XT hard drive did a good job in that respect. Boot ups were every bit as fast as I could expect, and the time between login and having a usable machine to boot up Powerpoint was nothing short of astounding.

What I wasn't prepared for, however, is what happens when you actually get a chance to use the machine day in day out. After a few cycles for the hard drive to learn your habits, applications start up now with a magical quality. Google Chrome starts instantaneously, like when I was running off an SSD. Microsoft Word, Powerpoint, and other frequently used applications startup even faster than on my Desktop, in under 2 seconds. All this without my ever worrying about running out of disk space on the laptop, which would have been a concern with a SSD.

All in all, this is a highly recommended upgrade. Compared to regular SSDs, it's very reliable, has higher capacity, and is much much cheaper. If/when I get back to using my desktop on a regular basis again, I'll upgrade that machine's HDD to a hybrid SSD as well. It's that good. I can't imagine going back to the expense, limited capacity and unreliability of an SSD after this.

Sunday, October 23, 2011

Macbook Rescue Attempt Fail

Someone gave me a broken Macbook in the hopes of my being able to salvage it. It was a Core 2 Duo Macbook from years ago with 2GB of RAM. The Mac OS disks had long been lost, and OS X was incredibly slow (1 minute from logon to a "usable" finder display, and the finder itself was incredibly slow). Since I didn't have any Mac OS licenses sitting around, but I did have a spare Windows XP license, I figured that I would use that instead. My old Mac Mini is doing very well at my parents' house running Windows XP, so I figured a Core 2 Duo Mac would run XP just as well. (I wouldn't have considered Windows 7 or Vista, for instance)

I popped the XP CDROM into the Macbook and tried to boot from it, but the drive immediately ejected it. I immediately suspected that the drive was bad. My original Mac Mini suffered the same fate. I popped in a Music CD to see the same immediate eject reaction, and even after forcing the disk to stay in Mac OS wouldn't read it, so I conclude a broken CDROM drive. I was going to conclude that Mac CDROM drives were always bad, but then the original owner told me the machine had been dropped. Unfortunately, this Mac's long out of warranty, so time to switched to plan B: booting from a USB key.

Unfortunately, Macs will not boot Windows from a USB key. The Mac uses EFI instead of BIOS, and for whatever reason, booting anything other than Mac OS from a USB key will not work. Plan C: external CDROM drive, which I had sitting around from 2006. Install rEFIt, install the CDROM drive via a free USB port, reboot and hold down the option key, and viola, now I have the option to boot from the USB CDROM. Awesome, I'm in business... except it turned out that my 5 (really 7) year old CDROM drive was flakey, and after it had gone ahead and reformatted the hard drive and started copying over Windows setup files it failed, leaving me with a brick. Wow, that was lame.

The lessons:
  1. Don't drop your laptop.
  2. Don't lose your Mac OS X disks.
  3. If you do try to install XP on a Mac from an external CDROM drive, make sure it's not flakey.

I guess there's hope if someone has a Mac OS X install sitting on a USB key somewhere, but for the moment, I've got an unfixable brick.

Friday, October 21, 2011

Review: Presimetrics

I try very hard not to buy paperbooks. They take up a lot of room, aren't as portable, and are difficult to read compared to books on the Kindle. But Presimetrics demands paper. That's because it's full of graphs and charts, which look terrible on the Kindle, and demand high quality presentation. Presimetrics is written by Mike Kimel, who's built statistical software and does a lot of economics analysis. You can in fact, see some of his writing over at Angry Bear. It's intelligent, full of data, and makes good use of data-mining.

This is a great book to read if you've got a statistical bent and are willing to follow the data rather than your pre-conceived notions. For instance, conventional wisdom says that the president can't do very much about the economy. In the first chapter, Kimel debunks that. He shows that control of congress, for instance, doesn't have an impact on the economy, but who the president is matters. Even better, he dis-integrates the effect of the Fed. It turns out that the fed pumps more money into the economy when there's a Republican president than when there's a Democratic president. Who wins? Read the book.

The book is devided into chapters based on issues. If you care about Fiscal responsibility, turn to Chapter 2. If you care about health care coverage, chapter 8 covers it in detail. Crime? Chapter 9. There's also a mish-mash of issues covered under "Democratic issues" and "Republican issues." There's also an entire chapter on taxes and how they affect the economy.

5 appendices round out the text, covering GDP growth in capita and President Obama, who had just had a year into his presidency when the book went to press.

Many people like to say that they're data-driven, but most people actually have prejudices that lead them to believe what they believe, as opposed to actually looking into data and correlations. This book goes a long way towards providing those who want data the actual data with which to base their beliefs on. It won't change the minds of any libertarian fanatics, but those folks are hopeless anyway. The only criticism that could be aimed at the book is that "correlation is not causation", but given the variety of decades covered and the thoroughness in which this book covers the topics (they even do regressions where they assume presidents have a latency in the time they get into power and when they have an impact on the economy), I find this book very convincing.

You might think that this book is boring and tough to read, but it's not. Kimel brought in two other co-authors to help make the book readable (one of them is an Economics writer) and the graphics pretty. This is the kind of book that deserves to sell better than it does. Highly Recommended.

Wednesday, October 19, 2011

Review: Batman Arkham Asylum (PS3)

Well, I bought my PS3 + accessories almost two years ago, and still haven't gotten around to finishing even one game. A recent bout of sinusitis left me stuck at home, however, so I finally got around to Batman: Arkham Asylum, which I started quite a while back with the game set on Easy. I was going to wait to finish the game before writing a review, but I've found myself stuck on the last boss battle (maybe if my sinusitis cleared I'll feel better and be able to finish it at last). Needless to say, I don't think finishing the game at this point would change my opinion of it.

The short summary is that this is an amazing game. If all video games were like this maybe I should play more of them. The plot revolves around Joke, who's taken over Arkham Asylum and set it up as a trap for Batman. Batman attempts to unravels the Joker's plot and takes down his henchmen and allies. The start of the game is beautifully rendered, but that's not the best part. The best part comes when the game hands over control to you and you didn't even realize it, because the game looks identical to the cinematic opening movie! Ok, that's not the best part. The best part comes when you enter a room full of Joker's goons, and you have to start taking them down one at a time, stealthily. Nothing quite makes you feel like you're the Batman, as when you take down a goon quietly, and the rest of the gang starts getting scared and worried because they can't see you. The game does a great job of having you walk into a room full of thugs and thinking like Batman: There's 10 of them and 1 of me. I've got them outnumbered.

The game's not all punch and kicks, however. There's quite a few puzzles to be solved, though most of them are fairly straightforward, and some of them clearly just "turn on detective mode and let's get on with the punching." This is a good thing, because it doesn't feel very super-hero-like to get stuck on a puzzle that Batman should have solved in just a minute or two. You do get a fair number of great gadgets. Some of them are a lot of fun, like the bat-claw, which lets you get around in all sorts of high places. The exploration set-pieces are also well done. At one point, I ended up on top of a tall building overlooking Gotham, and took a moment just to view the scenery. Yes, the rendering is that good, and it's that pretty. The confinement of the locale to just Arkham Asylum is brilliant: it means that you don't spend your time just going from place to place, but instead can just get on the story if that's what you want, but it's also big enough to have lots of corners and crannies so if you really want to go spelunking and dig up every one of the Riddler's puzzles and secret-spots, you can.

Finally, the psychological set-pieces are actually a little scary. The first time you're stuck in one of Scarecrow's drug-induced dream-sequences, you get a quick glimpse into Bruce Wayne's psychosis. The unfortunate part of that is that these sequences lead to a mini-mario type game play, which is a bit out of character, but does work as part of the story if you squint just a little.

The low points? Killer Croc's hideout turns out to be frustrating and repetitious. Sometimes, the real-life mario'ing just seems a little annoying, and if you fall a bit, you keep thinking to yourself, Batman doesn't ever do this. But these are minor nits compared to the game as a whole. Even if you never play video games, if you like Batman as a character, this is definitely worth your time. Highly recommended.
P.S. One day later, I finished the story part of the games, and it hasn't changed my opinion. The game is just a heck of a lot of fun.

Review: The Last Dancer

After The Long Run, I had to go back and read The Last Dancer as well. Note that the paper copy of the book is long out of print, and fetches insane prices on the internet. But the digital version is very nicely priced.

I keep remembering this book as "Denice's book." We meet Denice in The Long Run, where she shows up as Trent's childhood friend. Having read it recently, I'm surprised at how much of this book isn't actually about Denice. It's about a piece of Moran's "Continuing Time" and the origins of the human race as a transplanted exile subculture of a longer running galactic civilization. The book's full of plot-holes, including a galactic civilization 10 light years away that hasn't picked up Earth's strong radio signals yet. It also has a few jarring bits of ignorance, such as someone referring to Japanese as a tonal language. Uh, no. Japanese is not a tonal language.

What you do get in this book is a lot of big explosions, and bits of half-baked philosophy here and there. Without Trent's larger than life personality to drive forward the plot at a breathless pace, this book was a lot harder to pay attention to, and probably one of his weakest book. (His weakest book is probably Emerald Eyes)

This is one of those books that I read when I was young and thoroughly enjoyed, hoping for more, but fails to hold up as I got older. It's only mildly recommended as an airplane novel.

Sunday, October 16, 2011

Review: Google's Two Factor Authentication

Earlier this year, Google launched Two Factor Authentication, and some of my security conscious friends switched to it. After some persuasion, I was finally talked into giving it a try last night.

I'm famously opposed to security, mostly because most of the time security costs way more than the benefits it describes. I don't really know how secure two factor authentication is, since I don't keep my phones locked with a pattern, and while I've never had a phone stolen, it's probably much more likely to be stolen than say, my Kindle.

Turning on two factor authentication isn't actually all that easy. You have to get to your "My Account" settings, rather than your settings in gmail, which was the first place I look. The next thing they tell you is that they'll send authentication code to your phone. I use my Google Voice # (available globally on my Google Profile, just to show how much I really don't care about privacy), and then you're given a set of backup one-time use verification codes, which I promptly dumped onto my file server, so that when I do lose my phone (and probably my wallet at the same time), I'll still at least be able to get to my accounts.

What they don't tell you is that your verification code gets sent via SMS to your Google voice account, but the minute you turn on authentication, you get logged out of all your Google services and your Android phone loses access to Google voice as well. Since I deliberately didn't turn on SMS forwarding (a good percentage of SMS messages I receive are effectively junk mail or duplicate Google voice messages), I also immediately had no way of getting the authentication code to get back into my account. Good thing I had those backup verification codes!

Once I logged back in, I discovered I had to now generate verification codes for Google Music, my android phone, and any other service that my Google identity was used for. Fortunately, I don't use Google identities for anything other than Google products, but this poor journalist apparently didn't do that and immediately turned off two-factor authentication as being too unwieldy. For instance, if I had used my primary gmail account to push changes to books.piaw.net, then every time I did a push I'd have to type in two passwords. Now, I don't do pushes all that often, but there are days when I do half a dozen pushes, and that would be really annoying. Fortunately, I use separate accounts for all that. In fact, 90% of my e-commerce transactions go into a different e-mail account, precisely because whenever I hand a vendor an e-mail address I assume I'm going to get spammed.

The funny thing is, is that for 90% of my web-use, I really couldn't care less about security. If someone hacked into my Quora account, for instance, maybe he could post anti-Semitic messages into my Quora setting, and it'd take me forever to clean it up, but sticks and stones will break my bones and all that. Ironically, that means that for most web-sites, what I really want is Facebook Connect with next to no security, not heightened security for e-mail.

The real irony is that the sites where I really do care about security, such as Vanguard or any of my banks where I can actually transfer/wire huge amounts of money, I don't actually have the option to implement two-factor authentication.

All this ties into Steve Yegge's infamous post from two days ago:
Like anything else big and important in life, Accessibility has an evil twin who, jilted by the unbalanced affection displayed by their parents in their youth, has grown into an equally powerful Arch-Nemesis (yes, there's more than one nemesis to accessibility) named Security. And boy howdy are the two ever at odds. But I'll argue that Accessibility is actually more important than Security because dialing Accessibility to zero means you have no product at all, whereas dialing Security to zero can still get you a reasonably successful product such as the Playstation Network.
The amount of pain a user has to suffer to get enhanced security should be rewarded by an appropriate increase in security about the things he cares about. In this case, I get an increase in e-mail security, but it's not really for the cases I care the most about, so most of the time it's going to be a major pain in the ass. We'll see how much pain I'll put up with before I turn two-factor authentication off completely.

For everyone else, I cannot recommend this if you treat your Google account the way I treat my Facebook account: as an all-purpose identity login to most web-sites that I consider low security. If you travel a lot and use internet cafes without your own machine, then I think this could give you better security and peace of mind... until your phone or wallet (which has all your one-time pads) gets stolen. I wish Google had sold this to all the banks I cared about rather than just implementing it on its own properties.

P.S. It just struck me that the nightmare scenario is far worse than losing access to e-mail. If you store for instance, back up passport scans on Google docs, and you get mugged and you get your wallet and phone taken away while you travel, you lose access to those passport scans, which might be required to get you home. For this reason, a better solution for the security paranoid would be to set up a temporary travel email account and have mail forwarded there. When I asked a Google employee about this, her solution would have been to login to her work account with a separate security dongle that was kept separate from her phone. Obviously, this does not work for you if you don't have that separate security dongle.

P.P.S. XiaoQin points out that Facebook has a much smarter authentication than 2-factor authentication. When you login from a new computer, Facebook authenticates you by asking you to name your friends from pictures they've posted on their album (which have been tagged). Not only is this information difficult to steal, it's also damn near impossible for you to forget. Another reason why Facebook's predilection for smart hacks will lead to it being the single-signon for the internet.

Tuesday, October 11, 2011

First Impressions Review: Acer Aspire Easystore AH340

My 4 year old Infrant ReadyNAS NV+ only had a couple of hundred gigabytes of storage left on it, so I now had to make a decision: do I upgrade all the drives at once, or should I switch servers entirely? The epiphany I had came when I experienced a power supply failure in 2009. While the ReadyNAS was offline and had to be shipped back to the manufacturer for a replacement, I had no access to data. Note that while RAID protects you from a failure in any given disk, you still have single-points of vulnerability in your RAID machine's motherboard, power supply, and network card. Netgear's customer service so bad that they replaced my 1GB machine with a 256MB machine, so I knew that I would not stay with Netgear if I could at all help it.

Other raid vendors such as Drobo FS were just as expensive, and did not solve the ultimate problem I find in all RAID systems, which is that every RAID implementation is different. If your vendor went under, or you simply found a better deal elsewhere, you couldn't switch vendors and expect to just move your disks and have everything go well. In fact, if your RAID vendor went under and your hardware went bad, your disks will now be just a bunch of platters with no use whatsoever and you'd better have reasonable off-site backup.

The answer, then, is to run a commodity OS that's more or less configurable. In fact, if possible, doing away with RAID and running a standard file system that you can operate from any commodity hardware would be ideal. I considered doing what Michael Herf did and setting up a ZFS Nas, but instead found a refurbished Acer Aspire Easystore over at Cheetah Deals. At $270 shipped, I didn't think I could build a machine for less. (Herf paid $1500 for his ZFS wonderbox)

The Easystore runs Windows Home Server (WHS), which is not software RAID or in fact, RAID of any kind. All the disks you stick into the machine gets turned into NTFS disks, which means that if you have a hardware failure (not a disk failure), you take the disks out, stick them into a Hard Drive Dock attached to any Windows PC, and your data comes right back up. This is huge. It means you can abandon WHS with no real lockin, or move things to a newer bigger machine in the future. To defend against hard drive failures, WHS lets you designate certain folders to be duplicated, which means that their contents will be replicated across multiple drives, so if one drive fails you won't lose all the files. This is a nice feature, since for most media (like music, watch-once videos, etc) you don't have to waste space replicating them, but for your most important files, you'll get protection against drive failure.

The implications of this setup are interesting. First of all, if you fill all 4 disk slots on your EasyStore and you run out of disk space, you can't just pull out an existing disk and drop in a larger capacity one! That's because you have to attach a new disk, tell WHS to remove the old disk (it will then copy all the data off that old disk), and then stick in a new one with more capacity. Fortunately, you can use the USB ports or the eSATA ports to add new disks. One particularly intriguing approach would be to use a multi-bay eSATA enclosure in order to expand your WHS indefinitely. The other implication is that if you have a drive failure and that drive contained some non-replicated folders, you will almost certainly lose data. It's also impossible to upgrade the system drive, without doing a full restore from backup. Finally, if you do lose the system drive, you'll have to restore from a CD off another machine.

What's even more interesting is that you might not even use that feature all that often! One of the big features of WHS is that it can wake up all your machines at home from sleep or hibernate mode and back up them at night while you sleep! This is a full image backup, so you can now leave your data on your machine and not copy them over to your NAS unless you really need to share them. One big caveat is that the version of WHS that came with my EasyStore was 32-bit, so the recovery disk is 32-bit. If you need to restore a 64-bit Windows machine, what you'll have to do is to augment the drivers with 32-bit drivers via a USB disk. This is not for the faint of heart, but I performed a full backup and recovery of my 64-bit Thinkpad X201 with some hunting down of the various drivers on Lenovo's website, so I'm confident that the process will work. Obviously, if you don't run an all Microsoft Windows network, this feature will be less useful for you, though apparently you can use Time Machine with WHS. I've never met an Apple user who would condescend to buying a WHS though, so I can't imagine that this is well-tested.

One interesting thing is that in order to gain access to the NAS, your Windows boxes have to install a client. This turns out not to be a big deal: just download the client from the NAS (which exports a http server), type in the password, and away you go. Mac users can access the same folders via Samba.

But that's not all! WHS automatically exports videos, photos, and music over your local area network, which meant that for the first time, my PS 3 can now play videos directly off the NAS, something the NV+ could not do before. It also exports music via Firefly, so those of you who have Roku music players or SONOS will have no problems with exported music. The big feature for me, surprisingly, is photos. Photos now can be viewed on the big screen in the living room, letting you run digital slideshows off the NAS. I always knew this feature existed before, but what with having to copy data round on a thumbdrive, I never actually used the feature. I can only imagine that those with a XBox 360 would have just as much access to these features.

What's interesting to realize is that the WHS box is running Windows, which you can access using Remote Desktop. This lets you install CrashPlan, for instance, and get automatic off-site backups. If you're too lazy to transcode everything for the PS3, you can also install PS3 Media Player, so transcoding automatically gets done for you by the WHS. I also installed PlayOn, so the PS3 now has access to YouTube and Hulu. Now I can turn off/hibernate my big power hungry desktop whenever I'm not using it.

With all this going on, you might think that the puny Atom 230 on the NAS would be overwhelmed. Well, I recently did 3-4 things on it at once. I started a multi-hour copy job, started a 3 hour restore job, had Crash Plan running in the background, and played a video off the easystore from the PS3. The Easystore didn't even crack a sweat: CPU utilization was at 50%, and the network utilization was close to 20-30%. The video played smooth as butter. Performance on the copy operation, by the way, was a little better than what I could get out of the NV+. The NV+ topped out at 5-6MB/s on my network, while I could get the Easystore to give me 10-12MB/s on writes. I have no idea why the NV+ is so slow because it's apparently been benchmarked elsewhere with significantly faster write performance.

Then to top all this off, WHS had one more feature up its sleeve that pleased the heck out of me. It turns out that you can register a domain at homeserver.com, and set up account access to your WHS through the internet so you can have access to those files in your home directory anywhere you go. It's like having a massively unlimited Dropbox folder, though perhaps with a UI that's not as sweet once you're off-site. The NV+ advertised that feature but I was never able to get it to work, and it's very nice to see Microsoft doing it right. This by the way, also solves the problem of: "Hey, I've got this huge file I need to send to you, how do I get it over to you?" Just create an account for your friend, give yourself read-access to that folder, and have him login to your domain. The flip side of all this functionality, of course, is that you can no longer turn off your NAS when you go on vacation, but that's not that big a deal --- the Easystore also has a wake-on-LAN feature, which I'll test as soon as my huge copy jobs (for migrating off the NV+) are done.

All in all, my initial impressions of WHS and the Easystore are very favorable. If I'd known about all these features I probably would have jumped ships the last time my ReadyNAS died (yes, it died twice, once from corrupting its own boot sector and once from hardware failure). Obviously, it'll take months/years to see how reliable the hardware is, but the reality is, even if I have to build my own WHS box, I don't see why I would consider any other approach for my next NAS. Highly Recommended. Does anyone want a used ReadyNAS NV+ that still has about a half a year of warranty left on it?

Monday, October 10, 2011

Review: Philips Sonicare Healthy White Toothbrush

I had one of the old Essence Sonicare toothbrushes, but the battery was getting old, so when my brother gave me one of the new Healthy White toothbrushes I started using it on this year's Tour of the Alps. To save weight, Phil and I each brought one toothbrush head and just carried the toothbrush handle. I used to run the Extreme 3000 for trips because it used AA batteries, but with the new Garmin units, I had no other reason to bring AA batteries and the new Sonicare, together with the charger weighed less than the e3000 with AA batteries and USB AA charger.

The battery life on the new Sonicare is amazing. Phil and I toured for about 12 days, with each of us using the tooth brush twice a day, and the battery never gave out, well exceeding the 2 week specification. (We'd shipped the charger back to our hotel after the St. Moritz trip) The toothbrush cleans exceedingly well: after my latest dental examination, my dentist decided to put me back onto a 6-month cleaning schedule, as opposed to my previous 4 month cleaning schedule.

The other major change is that the toothbrush head is now a bayonet mount instead of a screw mount. This makes swapping heads faster, and there are no longer any grooves for gunk to build up. Unfortunately, there's also a little space between the bayonet mount and the top of the toothbrush, so water and gunk does get into that space and build up, so I'm not sure this is any better. I do appreciate the newer lighter weight design, as well as the smaller heads (which unfortunately, are also more expensive than the older heads).

All in all, recommended.

Sunday, October 09, 2011

Review: Playstation Move Bundle

Slickdeals found me a Playstation Move Bundle for $50, so I jumped on it and bought one just to see if it was any different from the Wii. I like the Wii just fine, but on a 1080p display, old-style video game resolution has started wearing on my eyes.

In the box, you get a Move Controller (you're advised to buy a second one), a Playstation Eye USB camera, and the Sports Champions game. Sony boasts that the Move is a more precise mechanism than the Wii, mostly because the video camera is used to precisely place motion. The move controller's got its own lithium ion battery, rather than taking AA batteries. It charges via a mini-USB port.

There are a few funky things about the setup. One is that you'll have to calibrate the controller every time you start a new game. Basically, you hold your controller in 3 different places to the camera knows what the parallax is and how far you are from the camera in default position. Secondly, the angle of view of the camera isn't wide enough if your living room is so small you have to stand within 2m of the screen. This is a relatively minor annoyance as the game will inform you if it can't find your controller optically, but those of you with small living rooms should not buy this.

Now onto the games. The biggest draw for me was the ping-pong game. The game has amazing fidelity. My mother-in-law, for instance, has never so much as played a video game in her life, but she easily picked up the controller and kicked my ass in this game, once she got past the calibration hurdle. That's pretty amazing. Spins, smashes, and drops clearly reflect how you hold the controller and how you move. This is a lot of fun and well worth the price of the bundle by itself. The archery game was fine, but the use of two controllers is a bit of a gimmick. I think my accuracy was actually worse with two controllers than with one. The gladiator game was fun, but I don't think it shows off the controllers very well: either that or I'm playing it wrong. Volleyball is the one game where having two controllers felt like it helped. The game's interesting, but there's something missing from the gameplay. Frisbee golf is interesting, and I found myself playing through a few courses only to discover that there weren't enough courses to keep me playing (there's a lot of repetition) Finally, there's Bocci, a tossing game that's clearly very similar to bowling. The increased precision is extremely demanding.

All in all, I'm very pleased with the purchase. I was surprised to find that I used the move often enough during rainy days that the controller needed recharging a couple of times. Recommended. I'm not sure you'd need to buy any more games to get your money's worth out of the controllers --- the bundled game is that good. I'm pretty sure if you wait until black Friday, the Move will be widely discounted this year.

Wednesday, October 05, 2011

Review: The September Issue

The September Issue is a documentary about Anna Wintour, and the process of publishing Vogue's September issue, which is apparently a big fat telephone book of a magazine devoured eagerly by fashion aficionados. I have no fashion credentials, and no real interest in the genre, so why did I watch this movie?

The short answer was that I was stuck with nothing but my Nexus One when my Kindle broke on this year's Tour of the Alps, and I had stuck this into my N1 thinking that it was about magazine publishing. I'm also a photographer, and thought it would be interesting to see how a magazine worked.

The movie opens with Anna Wintour defending the interest of fashion. It definitely came across to me very much as a "Thou dost protest too much." Then we're treated to meeting after meeting of Wintour's staff discussing what needs to go into the issue. The secondary star of the show is Grace Coddington, a senior editor who puts together the photo-shoots and proposes layouts for Wintour to dispose. She's clearly very passionate about her work, and is extremely unhappy when Wintour takes out photos that she put a lot of work into or that she particularly likes.

Mid-way through the movie, we see an interaction between Wintour and her daughter. The daughter declaims to the camera after a discussion with her mom about some upcoming layouts: "There's no way I'm going to go into fashion. I can't imagine a life much more shallow than spending all your time thinking about clothing." I thought that was a great counter-point to the film's opening.

Did I learn something about magazines? Yes. It's amazing how much every page of the magazine has been photo-shopped. One scene after another, you see editorial staff bringing up photoshop and tweaking the photos. And they're not doing things like cropping, they're compositing backgrounds, removing skin blemishes, that sort of stuff. It's pretty impressive how quickly these professionals work, but at the same time, it hammers home to me how every image in media is suspect, except for perhaps a few magazines like National Geographic that have made a point of emphasizing image integrity.

In the end, the movie was interesting enough for me to keep watching to the end, but I'm glad I didn't pay full price for it in the theaters. Recommended only if you've nothing else to watch on your N1 while cycling through Europe with a broken Kindle.

Review: The Long Run

After reading The AI War, I felt compelled to go back and read The Long Run, which I last read probably 15 years ago or so.

Daniel Keys Moran paints an rich tapestry of future, and given that this book was first published in 1989, features several new features such as the use of "web" for internet. The book reads a lot like a summer blockbuster movie. Many plot sections are improbable, and Trent, the protagonist, is cocky, sure-footed, but also has a big enough ego that he constantly makes mistakes that jeopardizes his goals. There's good use of foreshadowing all through the book, and Moran makes use of his long range plot for the series to provide quotes. Looking at The AI War, I'm disappointed that we never see Denice and Trent together again, and that loose end was never tied up.

Nevertheless, a quick, interesting read, and fun airplane novel. Recommended.

Tuesday, October 04, 2011

Political Considerations

Startup Engineering Management deliberately excluded politics from its discussion of management. Since I'm a lousy politician by nature, I felt unqualified to write about it. A couple of my friends are good politicians, but I can't persuade either of them to write a book (or even a blog post) about engineering politics at large corporations, which I think is a pity.

Recently, however, I was made aware of a couple of political situations at a well-known large corporation that merits discussion in a blog post.

Exec A: Having worked himself up into a senior executive position on the major product at Corporation X, he was told upon a reorganization that he was now going to run a different area of the company. While important, this was not as critical and he recognized it as a demotion. He immediately tendered his resignation, and was only persuaded to stay long enough to make a transition smoother by the CEO.

Exec B: Was at corporation Y since the early days as an early employee, and was instrumental in many of the design decisions behind the property. After a political stumble, she was asked to leave her current role as the major design driver behind the the product and take on a newer "emerging" product. This was widely recognized as a demotion, but the executive stayed on anyway, while the emerging product team started working around and ignoring her because she clearly no longer had the ability to effect change.

One could say that this is a possible difference in style between the way men and women approach status changes, but I'd argue that in this case, staying is the wrong decision. When you've lost political clout, staying on signals that you will accept further demotions in the future, which is debilitating for your future career. By contrast, leaving immediately signals that you will not accept further degradation, and if you've got a proven track record, also sends a message to your future employer. These political considerations are not fun to think about and demand self-awareness and total honestly about your current position. The penalties of not assessing your current position honesty could easily end up with you being ineffectual at your job, which is not very satisfying. Don Neufeld at Obvious a few weeks ago said this to me, "Most people have a loss aversion about losing their jobs. Startup people have a loss aversion about wasting their time." To me, sitting in a position, no matter how lucrative, when you're ineffectual is a complete waste of time and should be avoided.

Monday, October 03, 2011

Scalability

I've been helping various startups, and one of the things that's impressing me is how frequently these startups are launched on new infrastructure pieces like Ruby on Rails, written mostly by people who're not really trained formally in computer science or software engineering. This is a triumph of modern programming tools: I certainly didn't think that we'd get to a point where essentially product managers can actually write code, and asking these teams to execute in C++ or even Java would have set them back months. Even better, these startups don't even run or own their machines, choosing instead to use Amazon Web Services to launch and scale.

That is, until they suddenly hit a scaling inflection point and then someone like me gets called in to help out with the architecture and scalability problem. This is a good thing, by the way. Too many software engineers fresh out of school get hung up on the latest performance or scalability techniques and use them too aggressively when there's no need. It's far more important to launch a product quickly and get it to the point where you have product acceptance before you worry about performance. Even then, some of the latest techniques get you nowhere. One of my favorite examples came when I was at Mirapoint. A team of folks were working on the mail transfer agent. This is a relatively straight forward piece of code but when designing for high performance, they had decided on an architecture that made use of multiple threads and that made debugging hell. Brad Taylor came in, took a look at it, and rewrote the entire thing using a single-threaded select loop. Not only was that single-threaded select loop easier to debug, it actually ran faster, because the processor wasn't doing all those crazy context-switches just to get simple things done. In general, when scaling a product, your best bet is to first design for easy debugging and easy replication (so you can get horizontal scaling) by spinning up new processes rather than throwing the universe into an address space and launching multiple threads. The first person to articulate that philosophy to me was Michael Wolf at a dinner conversation with me and Steve Grimm.

Back to the startup. The problem with launching a startup on AWS and on Ruby on Rails is that when you hit the scalability inflection point, the easy solutions are not available. For instance, one company I helped were hammering their MySQL database with too many requests. While the number of queries were potentially large (and there was a fair bit of writing, so read-caching wasn't helping), their actual database was small. If they were hosting their own infrastructure instead of running on AWS, a simple straightforward solution that would have required no programming, would have been to just install a SSD (or if you have money burning a hole in your pocket, one of those crazy Fusion IO PIC boards, which bypass the SATA limitations and use the full bandwidth of the PCI bus for IO). SSDs are expensive, but even $400 or $8000 a pop is cheaper than the time it would take to rework the database to a NoSQL solution. Unfortunately, none of the existing cloud solutions will let you specify SSD-type performance for the machines you request.

Since they were essentially using MySQL as a blob store, they thought about exploring one of the NoSQL solutions. But the amount of data they had was so small it would have fit into main memory (of a relatively large server), so they could have potentially could use a simple shadow hashtable approach with a background thread to write the shadowed hashtable to disk for persistence. Unfortunately, that requires real threads and some simple locking, and the default implementation of Ruby doesn't support kernel threads (though JRuby does). Furthermore, by using Ruby On Rails, they'd written themselves into a corner where it would be difficult to extract the data layer out of their code so they could write to a NoSQL database anyway. What's interesting to me is that these were the people smart enough to know that they'd run into scalability limits with their software and infrastructure. There were probably many others who did not and chose to muddle along.

When I finally read about how Twitter was a big user of Ruby, all their scalability problems finally made sense. At some point, you do have to throw away your prototype and rewrite everything if you want to scale.