Tuesday, February 09, 2016

Review: Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future

One chapter in Peopleware that always resonates in my mind is the chapter on "Spanish Theory Management":
Some years ago I was swapping war stories with the manager of a large project in southern California. He began to relate the effect that his project and its crazy hours had had on his staff. There were two divorces that he could trace directly to the overtime his people were putting in, and one of his worker's kids had gotten into some kind of trouble with drugs, probably because his father had been too busy for parenting during the past years. Finally, there had been the nervous breakdown of the test team leader. As he continued through these horrors, I began to realize that in his own strange way, the man was bragging. You might suspect that with another divorce or two and a suicide, the project would have been a complete success, at least in his eyes.
Elon Musk is a biography of the man, and if you weren't aware of the era that both books were written in, you might well suspect that Elon Musk was the manager Tom DeMarco was referring to. Consider this: in this book alone, he scolded an employee for attending the birth of his child instead of attending a work event. He repeatedly set impossible schedules, and then push employees past the breaking point and then discards them:
“Elon’s worst trait by far, in my opinion, is a complete lack of loyalty or human connection,” said one former employee. “Many of us worked tirelessly for him for years and were tossed to the curb like a piece of litter without a second thought. Maybe it was calculated to keep the rest of the workforce on their toes and scared; maybe he was just able to detach from human connection to a remarkable degree. What was clear is that people who worked for him were like ammunition: used for a specific purpose until exhausted and discarded.”  (Loc. 4911-15)
At one point, he even fires his administrator who'd been with him for more than 10 years:
Brown often felt like an extension of Musk—the one being who crossed over into all of his worlds. For more than a decade, she gave up her life for Musk, traipsing back and forth between Los Angeles and Silicon Valley every week, while working late into the night and on weekends. Brown went to Musk and asked that she be compensated on par with SpaceX’s top executives, since she was handling so much of Musk’s scheduling across two companies, doing public relations work and often making business decisions. Musk replied that Brown should take a couple of weeks off, and he would take on her duties and gauge how hard they were. When Brown returned, Musk let her know that he didn’t need her anymore, and he asked Shotwell’s assistant to begin scheduling his meetings. Brown, still loyal and hurt, didn’t want to discuss any of this with me. Musk said that she had become too comfortable speaking on his behalf and that, frankly, she needed a life. (Loc 4926-32)
There's also a section where Jeff Bezos poaches one of SpaceX's employees by doubling his salary. Characteristically, Musk, rather than consider whether he underpaid that employee, thinks that Bezos and the employee betrayed him.

Keep in mind that I'm sympathetic to Elon Musk's goals and background. Not only was Musk a huge science nerd and programmer, he also played D&D in his youth, and of course, if electric cars replace the internal combustion engine, the world would be a much better place. I also enjoyed the section on Musk bringing startup-style mentality to the aerospace, which apparently needs a huge kick in the pants and massive cost-cutting.

What's unfortunate about this book is that Ashlee Vance treats Musk's approach to engineering, scheduling, and design as being par for the course: that abusing employees, creating impossible schedules through optimistic CEO-level views on how long something ought to take was the only way for Elon Musk to achieve his goals and get his results.

Imagine an alternate world in which Musk was a better leader: it could be that instead of having a large number of rocket failures and massive amounts of drama, his rockets could have had fewer test cycles, and finished in approximately the same amount of time. Of course, maybe launching something without drama and having it work properly the first time wouldn't merit a book.

In any case, it's worth reading the book, as it does provide a behind the scenes look at Tesla and SpaceX that's entertaining and interesting. But you do have to read between the lines to see a few interesting underlying principles:

  • Certain non-tech related fields like Space/Aerospace and Cars are ripe for disruption by Silicon Valley startups. In particular, fields that have fossilized and gotten used to fat margins and inefficiency workflows are vulnerable to attacks from Silicon Valley.
  • Ironically, part of this attack is due to the ease of exploitation of the underlying workforce: nobody who's actually a good mechanical or aerospace engineer enjoys working under the bureaucracy of the entrenched businesses. You can therefore lure such people to work for you at below market pay and work them hard for an extended period because you offer effectively more responsibility and freedom of action than the bureaucracy. When those people burn out, replace them with more fresh graduates. This is known as the EA model of HR management.
  • If you succeed, you'll get lauded in the business press, and then have books written about you.
This is obviously excessively cynical, and as noted above, I do agree with Elon Musk's goals, and think that in the coming battle between Silicon Valley and Detroit, there's no question Detroit is going to lose. But it's still sad to see obnoxious business practices praised and lauded as though there aren't better alternatives.

Nevertheless, read the book, and see if you agree with me. Recommended.

Thursday, February 04, 2016

Review: Nalgene ATB Bottle

The last couple of months of mountain biking has been great. I've gone from being terrified to being able to do 2-3 foot drops and jumps. My gear, however, has gotten dirtier and dirtier: despite the "drought", it's been a relatively wet California winter, and I've done enough stream crossings and puddle crossings to soak my shoes right through multiple times.


As previously mentioned, the usual mountain biking solution of using a hydration pack just doesn't work for me at all. I hate having anything on my back for a bike ride, and philosophically, I've always thought that it's crazy to carry something on your body when it can be carried on the bike.

The Nalgene ATB bottle comes with a cap that closes over the drinking nozzle. You'll probably be surprised to find out that I've done extensive searches but this is the only water bottle that seems designed to keep your drinking nozzle free from dirt, mud, and horse poop. None of the other bottles that are similarly protected will fit into a standard water bottle cage.

What's more important, the cap is easily flipped open and drunk from while riding, and then closed back up. I was using that feature one day when I pushed the cap in the wrong direction, and pop, off went the cap and it disappeared from the trail without a trace!

I can't complain about Nalgene's customer support though! I sent them an e-mail, and a new cap is now on its way. While I think that some sort of retaining cord should be designed into this bottle, the fact that it's the only one available that fits my need means pretty much that I'll keep using it, and be more careful about the cap next time.

Recommended!

Wednesday, February 03, 2016

Review: The Time of Contempt

As mentioned in yesterday's review of The Witcher 3, the video game in this case is much better than the source material. I picked up The Time of Contempt in order to see if the second novel (as opposed to the first two books, which were mostly short stories) was any better, but unfortunately the answer is no.

Andrej Sapkowski loves run on sentences. Whether this is an artifact of Polish and a resultant translation I do not know. What's wacko about the book is that Sapkowski chooses to emphasizes relatively unimportant scene. A scene about Dandelion crossing a river could take 3 pages long with no effect whatsoever on the plot. Alternatively, a scene between Geralt and Yennefer would be reported at once remove, from the perspective of Dandelion and Ciri spying on them from a place where they couldn't even hear the conversation. It all makes for a very disjointed approach, and a story where payoffs are very few.

I'd recommend skipping the books past the first two, and I won't bother reading any further books in the series.

Tuesday, February 02, 2016

Review: Witcher 3: Wild Hunt (PS4)

In recent years, I'd pretty much given up on CRPGs as a genre. They pose multiple problems from my point of view:
  • The typical CRPG "grinding" mechanic is onerous and leads frequently to player abuse. It's one thing for a game to boast 50 hours of game play or whatever leads to good advertising copy, but if it's 50 hours of "rinse & repeat", I consider that player abuse. (I consider A Song of Ice and Fire "reader abuse" for similar reasons)
  • The length of time it takes to complete a CRPG is excessive. Now, if you're 9 years old and only have money for 1-2 games a year, that's a feature. But if you're a busy parent, or have hobbies other than sitting down in front of a computer or console, CRPGs frequently over-stay their welcome. And if you end up rushing through the story because you just want to be done, then frequently those CRPGs don't have much more than the 15 hours of real game play.
  • The amount of work required to master the mechanics and min-max your character frequently takes you out of immersion from the game world, and you find yourself doing quests to level up. Alternatively, if the game scales the challenges to your level, you find yourself running to stand still, and discover that no matter how powerful you get you're never going to be high enough level that the final challenge is doable if you don't have the reflexes of the above-mentioned 9 year old.
I say this despite being (as far as I know) still the record holder for the longest running D&D game at Google. In a moment of weakness, however, I found a copy of Witcher 3: Wild Hunt for sale over the holidays and picked it up. One of the main reasons for playing games mostly on the console is that if you're unsatisfied or dislike them, you can easily re-sell them, and if you're good at shopping for sales, you might even discover that you can buy games, play them, and then sell them used for more than the price you paid!

Little did I know that once I started the game it would push all other games on the PS4 aside, and become the only game I wanted to play for the entire period of the main story. The game deals with the issues I listed above through a number of techniques:
  • The game's an action RPG. What this means is that while the game mechanics are there, you almost never have to min-max your character: how you manuever and fight during the action sequences also has a dramatic effect on your character's effectiveness. It also helps that the game doesn't let you create characters from scratch: you pretty have to play Geralt of Rivia, and you get to decide which of his abilities to emphasize, but there's no excessive freedom. I played through the first act of the game in pretty sub-optimal configuration, and only got serious about maxing out capabilities in the second act. This meant that my early game was challenging: there were more than a few fights where I had to load and reload the game after dying in order to get past an encounter. Those made me wish I'd bought the game on my PC, where an SSD would have rendered loading times moot or irrelevant, but the reality was that my PC is 7 years old and I probably wouldn't be getting more than 20fps on the PC on medium settings (which would look horrid at 1440p) anyway.
  • There's no grind. Every quest in the early game is meaningful, and even when the game throws you 3-4 main story quests at you, and you tackle them in a random order, they come together and weave tightly into a narrative which converges to your goal. This is beautiful story-telling with great game play at work. In fact, the quality of the stories and side quests (none of which are the usual "fetch an item for me" quests which litter other CRPGs) so enthralled me that I did every secondary quest I could get my hands on during the first part of the game, only abandoning that in the city of Novigrad when I'd "over-levelled" to the point where certain side quests would net me very little XP. Even then, I finished nearly every secondary quest that wouldn't get me killed repeatedly before heading off into the islands.
  • The time component is huge, with How Long to Beat estimating 44.5 hours to complete the game, which seems about right. There was one occasion in the third act when I thought I'd built up to the climax, and instead realized I had several more hours to go before the actual climax. But I didn't mind: the story's good, the game play's a lot of fun, and I enjoyed the characters and the choices.
The game's so full of denouements that they're scattered all throughout the third act of the game rather than being clumped together at the end. I thought that was very well done, providing resolution as to the fate of various characters Geralt had interacted with earlier in the game.

Overall, the game feels very much like one that a DM would layout without regards for character levels: it feels very organic, and even in the early game you can end up at a location where monsters would wipe the floor with you.

What about objections from the previous games? The first witcher game was notorious for giving you in-game rewards for sleeping with various women. That's been done away with: the romances and relationships in this game feel a lot more mature, and yes, there's a love triangle, but the consequences are much more real than in the first game. I wouldn't let the first witcher game's approach deter you from trying this game. While there are indeed sex scenes, and I could imagine that someone might try to get their version of Geralt laid as frequently as possible, the game does a great job of only delivering those only because of actions you directly chose: you could easily play a very Puritan/Victorian version of Geralt.

What's most important is that the RPG part of the game isn't neglected. Yes, it's a computer, so your responses are distilled down into conversation trees and dialog choice selection. But this is where the game being a "Geralt-simulator" makes is stronger: you're never given a dialog selection that breaks character for Geralt, and your dialog/decision choices shape the ending in ways you would not expect, but are despite that, very reasonable and have you thinking that of course, that's how it would work. Do yourself a favor and don't read any spoiler/walkthroughs. The choices you make have an impact on the ending and it's better to go through at least your first playthrough blind and then read about the choices you can make (or watch them on youtube) later.

Rather than opt for a "good-vs-evil" approach to game play, the story is actually interesting. My Geralt, for instance, was always stuck in a situation where he had to decide who was telling the truth and who was lying. Early on, this was fairly easy: you could pursue the truth and eventually collar the person who was lying. As the game progressed, however, the nuances of the story became more complex, until by the time I got to Crookback Bog, I was no longer able to tell who was lying, and in fact, made a poor decision at one point because for whatever reason, I thought that the witches were the world's version of Clotho, Lachesis, and Atropos. Having re-read some of the books recently, I realize that this is entirely within the world's setting: the books' short stories loved to make some allusion to commonly known fairy tales and then put a twist into it, either by running the logic of the fairy tale to its conclusion, or by making the nature of the beast different from the stories. I was very impressed that the writers for the game managed to invoke a similar bent in the story. Certainly by the end of the game, my version of Geralt had gotten fooled and cheated by many of the other characters, and had become very distrustful of pretty much everyone except for Ciri, the adopted-daughter who's a McGuffin for the main storyline.

The game's cutscenes are incredible. In fact, some of the most beautiful moments in the game occur during the cut scenes, and I loved the scenes between Geralt and Ciri or Geralt and Yennefer. These are as beautifully rendered as any movie. What blew my mind was that I could hear the PS4's fan spin up to speed during those scenes, and then realized that these scenes are rendered in-engine (so that the character's clothing, etc reflected your choices and load-out of the moment), complete with all the foilage, draw-distance, etc. If you're the type to take perverse pleasure in using every iota of CPU/GPU power on your machines, this game will not disappoint.

The game is not without flaws: on the PS4, loading times are long, about 45 seconds if you die, and fast travel costs a similar amount of time. (The game's rock solid though: suspend/resume has saved me a ton of time, and the game crashed only once) The early levels are very challenging, and the potion/bomb crafting system is wonky: I'd frequently find myself with no idea how to find a component needed to craft an item, or find schematics for a high level item that required a lower level item that I didn't have schematics for. The game doesn't do a great job of telling you which quests aren't going to be doable past a certain point, so I'd sometimes choose to proceed along a story only to be immediately notified that "Such a Quest has failed!". Fortunately, the game does a good job of auto-saving, so I'd be able to load up the game and then play that quest before going on with the main story, but if I hadn't been alert enough to see those messages (which appear for only a fraction of a second!), I might have gotten very disappointed at the ending/resolution of those storylines. At least every cut-scene is skippable, so if you never have to sit through long expositions more than once.

All in all, the game is excellent, and deserves its Game of the Year accolades. In fact, having read a few Witcher books, I'd say that the game's much better than its source material (Andrezej Sapkowski's a terrible writer --- he loves run-on sentences and spends a lot of time on minor scenes, while frequently summarizing important scenes when you'd rather have detail).

Sometimes while playing a game on the PS4, I'd think: "Well, this is nice and pretty, but it's not fundamentally any different from what the PS3 could do." I never thought that of The Witcher 3. It makes full use of the power available on modern consoles and PCs, and it delivers a stunning experience. So much so that I'm tempted to pick up the DLC for the game, something I hardly ever consider.

Highly Recommended.

Monday, January 25, 2016

Review: Blood of Elves

Blood of Elves is the third book in the witcher series, but the first novel. The previous 2 books were essentially series of short stories. This novel, however, cannot possibly stand alone, so it looks like the author went from writing short stories to launching an epic fantasy series.

Things to like: the sequence where series learns magic from Yennefer is a delight. Intimate, small scale, yet detailed and evocative. It's quiet, without the silliness often found in Harry Potter or modern notions of schooling and how it should work. The training of Ged in A Wizard of Earthsea is better, but not nearly as intimate.

Things to dislike: the politics feels cut and pasted together, and the world doesn't seem real. (This is in contrast to the computer RPG, which feels much more real than any other virtual world depicted) Geralt doesn't seem to do very much.

I'd pass on this but since it does provide excellent background for the computer RPG, you'll enjoy it if you're enjoying the RPG.

Wednesday, January 20, 2016

Review: Sword of Destiny

I was playing The Witcher 3 on the PS4, It's an exceedingly good RPG (and I'd actually avoided RPGs in recent years as they tend to be massive time sucks --- a holiday sale caught me and for a change I'm really glad I broke my rule about RPGs!), and has sucked up all the play time on the PS4 as a result. But in one of the side quests, I ran across a seeming anachronism, and found myself wondering if it was there in the source material.

Since the material's drawn from the novels, I went and re-read The Last Wish, and then went on to Sword of Destiny. Sword of Destiny wasn't available in English until recently, as since it was touted as the missing book between The Last Wish and Blood of Elves, I'd elected to stop reading the series as a silent protest to the publisher for doing something stupid. It's a collection of novellas, and does provide background as to many of the characters in the game.

And yes, the book does exhibit some of the anachronisms displayed in the game, so the source material is indeed faithfully reflected in the game. The world depicted in the novels is perhaps similar to the ones depicted in Tolkein, except with a heavy dose of cynicism. That's not a bad thing, as the author (translated from Polish) clearly can't write in the high language of Tolkein, but has a good voice for depicting battles, and has world-weary attitude in his characters that makes a fun contrast.

Is it as good as Tolkein? No. But it does provide a good contrast, and provides a fun read in short spurts. Recommended.

Monday, January 18, 2016

Review: Wormhole

Wormhole is the last book of the Rho Agenda trilogy. Like the Saturday morning cartoons it's modeled after, it's a novel with 3 teen heroes who try to save the world. The storyline's simple and straightforward, but at this point with 2 books worth of escalation, the heroes are practically demi-gods, and unfortunately, this means that there's never any sense of credible threats to what they can do, even after they've been captured. In fact, the novel even goes as far as to acknowledge that in the thoughts of one of the supporting characters.

The ending is predictable, setting up for a sequel series. It does its best to not damage or eliminate any of the threats, and leaves as many doors as possible, despite some of the options available being more intriguing than the route the author took.

Set your expectations accordingly, and you'll enjoy this book as a little romp through Saturday morning fantasy land. Otherwise, I'd give it a pass.