Auto Ads by Adsense

Booking.com

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.

Friday, September 30, 2011

Review: Blood of Elves

If you wanted to prove that dead-tree publishers are brain dead and will not be missed during the e-book revolution, exhibit #1 would be their handling of the Witcher saga, of which the third book is Blood of Elves. Whereas the first novel, The Last Wish was entertaining and a lot of fun, Orbit chose to release the third book in the series next, skipping over a lot of the back story for Blood of Elves.

The story revolves around Geralt's child surprise, whom he apparently recovered in the earlier book and finds himself having to care for. The novel moves forwards in spurts, with lots of time between many sections. One of the worst things, however, is that you never get a good overview of what's going on. A lot of hinting, and lots of wheels grinding in the background and a little clumsy exposition of various factions plotting.

We do see a few characters that showed up in The Witcher, but the reality is, the book ends before giving us any satisfaction.

Not recommended.

Thursday, September 29, 2011

REI Series of Talks is Over!

From BayArea

At a WorldCon seminar, Sandra Tayler told me that people get hung up on the bookstore signings, and that's why they try their darnedest to be published by a traditional publisher rather than being an independent publisher. Well, even if you're an indie person, there's no need to give up on doing the bookstore signings, you just have to arrange it yourself. An Engineer's Guide to Silicon Valley Startups and Startup Engineering Management don't lend themselves naturally to public venues (though I've certainly given plenty of talks covering those topics in private venues), but Independent Cycle Touring was a completely different beast. I started off by giving a talk at the local Sports Basement, but after chatting with REI, was put in touch with Polly Bolling back in March about the possibility of doing a series of talks at various REI. Strung together over a period of about six weeks, this is about as close to a traditional bookstore tour as I'm likely to get. Polly had great insights as to what worked for an REI talk and what doesn't. She suggested that I focus the talks on Europe, and that destination-oriented talks really got people in the door, so I refocused the talk around Europe. You can see the slides as posted earlier.

Getting into REI is a long lead time process. It wasn't until late May that I was confirmed as booked, and it wasn't until June that I was given the OK to publicize the series of talks. I had no idea there were so many REIs: I could have done even more REIs, but at some point decided that I really didn't need to go to all of them.

The turnout at various REIs was widely disparate. I had as few as four people, and spoken to as many as 70 people in a fully packed room. The venues ranged from a professional looking classroom/community room to a warehouse where REI employees would make room in the space just an hour or so before the talk. With pleasure, I can say that the projectors and screens were always more than acceptable, and equal to what I found in industrial settings. The employees (including Polly herself) were always happy and enthusiastic and willing to do whatever it took to make the talk work. It was a good thing that I was given a few smaller venues to work with first before I started hitting the large ones (Berkeley/San Francisco/Mountain View/Saratoga). This gave me a chance to refine my talk, and let me get a good view of what played well with the audience and what didn't. I knew I had hit my stride when members from the Berkeley audience came to me after the talk and said, "Best REI talk I've ever been to, and I attend nearly every one." That was very gratifying. One reason I'd gotten good at talks, by the way, was that giving talks at Google was even more demanding --- if you did not proceed at a pace fast enough and fun enough to keep an audience's attention, Google employees would flip open their laptops and check e-mail instead. Authors/speakers who were used to a less demanding audience probably did not have a good time at Google.

Polly told me to keep my expectations for selling books low, saying that selling one or two books would be about right. Well, I kept my expectations low, but my conversion rate was about 12-15%: in other words, about 1 in 10 people who saw the talk would buy the book. That's far better than say, Adwords or classified ads, so I'd say that the talks were definitely worth the time. It was also interesting to see how every REI was different: some clearly catered to more cyclists than others, and it was clear that the North Bay had a wildly different demographic than the South Bay.

All in all, I probably won't try to do another book tour type event for the foreseeable future. I can see why some authors find them exhilarating: there's nothing like speaking to a fully packed room with an engaged audience, and the people flooding you with questions, asking to buy a book and asking you to sign one is extremely flattering. It's a lot like the high you get from getting to the top of a climb and facing a glorious descent afterwards. Ultimately, though, you still have to get back to writing interesting work for an audience that is willing to pay for it, and the talks and signings are a bit of a distraction from it, though I'm grateful for the sales and hope it sparks future sales!

(If you want to watch a short excerpt from the MTV talk, I've got one up on YouTube)

Tuesday, September 27, 2011

Review: The AI War

Daniel Keys Moran's Continuing Time series has been one of my favorites. He's a good writer with compelling characters that keep you reading, no matter how absurd the plots are. I once made the mistake of lending The Long Run to a friend on a bike tour, and during the night she retired to her tent and stayed up all night reading instead of sleeping and getting ready for the next day's ride. If you're unfamiliar with the series, read The Long Run and The Last Dancer before reading The AI War. The web-site for buying the book's incredibly unintuitive, expecting you to return to the product page after purchase in order to make the download, so you might want to visit Amazon instead.

The AI War is a Trent novel. Trent is one of Moran's great characters, and here he's involved in thwarting the Unification's big project. The plot-holes are pretty large: why build one giant ship instead lots of little ones. But the details are a lot of fun. Moran is a programmer by trade, and it's good to see his model of how a 10X programmer works. Trent infiltrates the project as the chief engineer, and soon puts the project on schedule. Along the way, we get a biography of a few side characters and some future sub-plots are set up.

If I'm annoyed by a few things, it's that the book's far too short (it says "part one"), and there's no AI war (yet) that as far as I can tell. I also wanted to see the unresolved plotlines from The Last Dancer filled in. Unlike other novels in other multi-part series, however, at least this is not a book where nothing happens, and it's a compelling read start to finish (I bought the book last night and it grabbed me by the eyeballs and made me stop reading the other book I was reading). You could read this book without reading any of the other books in the series, but I think you'd find the book a little less fulfilling without the rest of the back-story. Also, The Long Run is still a better read. Go buy it already.

Monday, September 26, 2011

Execution Strategy and Business Strategy

Rebecca Frankel shared on her Google Reader Feed this image:

I think it's a great example of execution strategy. A frequently used execution strategy is to standardize on one platform and optimize on delivery that way. The nice thing about this strategy is that if you're the startup and the incumbent has built in legacy systems and costs that keep them from executing on the same strategy, you'll have a built-in advantage that will continue for a good long time. For instance, it's hard for an airline to switch the hubs it's using after it's been locked into a long term contract. And obviously, it's hard for incumbent airlines to sell all their fleets and standardize on the 737. The strategy that RyanAir uses, by the way, was first pioneered by SouthWest Airlines. A good execution strategy like this can be easily explained to all your employees to the point where everyone knows what the strategy is, leading to broader alignment.

At Google circa 2003, the execution strategy was straight-forward: build clusters of commodity machines driven by a common software infrastructure so scaling was straightforward. Once MapReduce was adopted, for instance, your mapreduce jobs were datacenter independent and could be run on any number of datacenters. Similarly, all projects could share a single set of site reliability engineers, release engineers, etc., and your resource constraints could be relieved by effectively hiring in all these areas.

The problem comes when you have a new product that doesn't fit your existing execution strategy. Orkut, for instance, was initially written using Microsoft's .NET framework. That didn't fit in with what the rest of Google was doing. It rapidly became a popular product, and the system started falling over from the huge number of requests. The team was staff-constrained, and few engineers inside Google wanted to work on a product that was clearly way out on the left field with respect to Google's execution strategy. To be honest, nobody knew how big social networks were going to be. The result was that it took a while to rewrite Orkut to conform with Google's execution strategy, and by the time it was done enough time had passed and enough users had migrated to another social network that the rest was history. In retrospect, the right thing to do should have been to spin Orkut off, have it raise its own funding round (with Google kicking money), and race quickly to deal with its scaling problems independent of the rest of Google's infrastructure. Facebook might still have won, but at least Orkut wouldn't have been paying Google's strategy tax. Microsoft has its own strategy tax here in that everything has to be tied to windows, but I think even Microsoft's starting to move away from that with its phone and tablet entries.

Business strategy is a whole different animal. In some ways, it's like playing a strategic board game with your business. I'll give you an example. Microsoft invested $240M in Facebook in 2007 at the then stunning valuation of $15B. At that time, Facebook was not profitable (and would become profitable based on Microsoft's guaranteed revenue), and it looked like Microsoft was desperate, throwing money at Facebook. Well, 4 years later, it looks like a brilliant move. Not only does it look like Microsoft's investment will pay off (at least 4X, maybe more), Facebook's been a tremendous thorn on Google's side, probably accounting for no small amount of management distraction, time spent launching (and re-launching) competitive products, and I'm sure no small drain on Google's engineering team. Time will tell as to whether Microsoft's acquisition of Nortel's patent portfolio, essentially forcing Google to buy Motorola will be similarly smart, but spending $4.5B (and that's split between Apple/RIM/Sony/EMC, etc) so that your competition has to spend $12.5B (and ends up having to run a hardware business that's not particularly profitable --- Motorola's the weakest of the Android manufacturers) looks pretty smart right now.

Another company which is good at this is Amazon. The Kindle, for instance, unusually attacked the market from a completely different angle. It's early adopters were not the usual hip 20-somethings, but were the older generation: people who still read and whose deteriorating eye-sight and arthritis made the Kindle an almost must-have. This was so much ignored by other vendors (Apple included) that by the time other ebook stores launched, nobody else has made a dent in electronic book distribution. By ensuring that the Kindle App is available for nearly every platform, Amazon has gotten a choke-hold on electronic book distribution that's only starting to be realized at this point.

Someone told me a little bit back that Amazon's S3 services were priced at below cost at launch. Basically, they bet that they could drive costs down a bit, and that customers would see the move to their cloud services as a no-brainer at those prices and thereby gain them further economies of scale. At this point, I've run into lots of companies that have based their businesses on S3, but comparatively few who've done so on Google's AppEngine infrastructure AppEngine is a bit of a red-headed stepchild at Google because it can't be priced to produce high margins, while Amazon's very much used to low margins.

Obviously, business strategy is of no use if you screw up your execution strategy (or if your product sucks --- nothing ever saves you then), but ideally you want everything in place. Amazon's been the stealth surprise in the past few years in places that looked completely unrelated to e-commerce because of this. At the same time, Microsoft's not being doing so well at execution but its business strategy successes are being ignored by the press, and I think that counting them out would be a mistake.

Saturday, September 24, 2011

Review: The Dragon Never Sleeps

The Dragon Never Sleeps (DRM-free kindle-compatible edition) was a difficult book for me to read. The first time I tried to read it, I couldn't become interested in the characters, and abandoned it. However, at this year's WorldCon, Cook mentioned that it was one of his proudest novels, so I went back and read it again.

The universe Cook weaves is a compelling one. You've got organic military vessels that are nevertheless non-sentient. Starships travel through space on strands of the Web, which turn out to harbor a deeper secret. The war against methane breathers comes with deeper intrigues. Planet-side, the feudal structure of the milieu provides us with a key source of human intrigue. Just as interesting, cloning is an option and is frequently used, and used imaginatively by the author. Yet all this is done without long expositions. It all just happens inside the text. Cook is the master of the brief sketches and dialog that brings out character, and he uses that in this novel in spades. As you might expect, there are no plot-holes here. Everything makes sense if you've been paying attention, yet the surprises are genuine. It's also interesting that the science fictional world portrayed is one where technology is more or less static, and has been for thousands of years, so one military force (guardships) could be designed for immortality without the risk of obsolescence.

There are flaws in this book. The big one is that there are too many characters for you to properly care about, and the important characters aren't fully high-lighted, so if you're going along rapidly you might have to go back and re-read a passage when one reveal or another happens. Cook also flips between nick-names, titles, and real names all the time, which could be confusing, especially since the character cast so so large. All this combined together to make an unusually long (by Cook's standards) book means that the reading gets too dry at times and I had to take breaks. It took a long time to finish this book.

Nevertheless, if you're a fan of Cook's characters, matter of fact exposition, and want to see what he does with science fiction, this is definitely recommended (unlike Passage At Arms. Just don't expect it to be a quick airplane read.

Friday, September 23, 2011

Location Still Matters

This year's been interesting as I got invited to several startups either to talk or to give advice. Usually, I try to mix it with another visit if it's in the city, so I don't make the trip to San Francisco just for one thing.

One of the fascinating things is that San Francisco has a pretty active startup scene, but many of them are hurting for engineers. After talking to several startups with ambitions of growth but who can't seem to hire decent engineers no matter what, I'm coming to the conclusion that the more technically challenging your startup, the more important it is that you be in Silicon Valley, rather than being able to locate elsewhere.

Why is that? For technically challenging problems, you want people with a decent amount of experience doing the engineering. I'll take an example: Facebook managed to get Jeff Rothschild to lead its engineering team fairly early on. Jeff, by the way, doesn't get nearly enough credit for making Facebook as successful as it has been. It is doubtful that Facebook would have been able to recruit and retain Jeff if it was in San Francisco rather than Palo Alto. The same probably would have gone for Google's Jeff Dean and Sanjay Ghemewat. For whatever reason (people tell me it has a lot to do with schools), parents prefer living in the South Bay. I've lost count of the number of people I know who moved to the city when they were single and childless, and then moved back down south once they had a kid.

The result: if you want to grow past your first 50 engineers or so, you'll either have to settle for a less technically competent population, or you'd have to move south. What's surprising to me is how things I wouldn't have expected to be technically challenging turn out to be such. For instance, I would have guessed that Twitter wouldn't need Google-quality engineers, but that turns out not to be true.

This doesn't mean that San Francisco startups can't be successful and make lots of money. For instance, AirBnB and Zynga will be incredibly successful. Zynga has a famously low technical bar, and one of my friends came back from an interview saying that being the smartest person there wasn't enough even if it did make her rich. Obviously, being in Silicon Valley is also no guarantee that you'd be able to attract technically competent employees (Friendster was in Mountain View, for instance). But by and large, I've been amused to watch Cloudera move steadily south (from Burlingame to San Mateo and now Palo Alto). By the way, I don't think Zynga's wrong to have a low technical bar: there's no need to pay for top-end talent if your problems don't need top-end talent to solve it.

Many designers have argued to me that design talent is easier to get in San Francisco. I'm not a designer, so I don't really know, but let's say I give you that point. The problem is, to realize your design, you probably need only 1 designer for every 10-20 engineers. And of course, Apple is right in Silicon Valley, and whatever you might say about Apple, you can't argue that their design is inferior.

Ultimately, if you're a startup, think carefully about what your business is. If you never need more than about 50 engineers, I think San Francisco is fine. If you believe you're really in the media business, San Francisco's probably better (be very careful, though --- Yahoo! thought it was in the media business --- that turned out to be false!). But if your startup idea needs a sizable number of Google-quality engineers to succeed in the long term, you really should be in the valley.

Now the real puzzle to me is that there should be far more startups in the Berkeley area than they are. They've got Cal, which has a strong computer science department, so recruiting for engineers should be no problem. My guess is that the city of Berkeley does not view startups in a friendly fashion, and it would be very difficult to find cheap space in the area. Inktomi (founded by Cal professor Eric Brewer), for instance, famously moved out of Berkeley (to Foster City) as soon as it had to scale.