Book Review: Designing Data-Intensive Applications

This textbook is excellent and I wish I had read it sooner.

In particular, I have spent most of my career so far focused on gaining experience at work and on projects. That hands-on experience is key, but getting a larger overall picture of the world is also really important. Designing Data-Intensive Applications came out in 2017, which means I had been out of school for a while where, presumably, this book is more well known.

Many STEM careers can place you in a more academic position where I think reading the most up-to-date textbooks and papers is more common sense. But engineers in the private sector can obviously benefit from some textbook exposure as well to learn about the latest best practices and accumulated knowledge. What’s more, there are clearly benefits to the private firms whose employees would read this book! I’m fairly certain my old job had O’Reilly subscriptions, but I just didn’t know this was the thing to read.

As far as content, this book really focuses on everything you need to know about data backends. I’ve done a fair amount of work on front-end systems and building microservices, but ultimately my data systems exposure has been limited to fairly straightforward implementations. This book teaches you about replication, sharding, consensus and reliability, and also how to think about batch processing vs more static data. The O’Reilly site for the book contains the entire (extensive!) table of contents and I honestly recommend reading that if you have even the slightest interest in software, computer hardware, data systems, or the modern internet.

The detail is tremendous. At the risk of repeating myself, I really didn’t understand what I was missing or what I was getting into. I had thought about this as just another nonfiction book I was reading, but it really is a textbook which means it’s large (not just 500 pages, but textbook sized pages!) and dense. Taking notes, it was hard not to write something down for every paragraph, and so even my notes taken are intensely long.

The book is also quite clear in explaining everything so that it’s understandable. The only tiny quibble I had in the 550+ pages was that the author Martin Kleppmann has obviously not read Paul Sztorc’s “Nothing is Cheaper Than Proof of Work” despite it being written in 2015. But at least this was restricted to the speculative and opinionated final chapter, so I can’t fault it too much.

So of course, I would highly recommend it. I’m also somewhat excited as I’m wondering what other important texts I’ve been missing. I also think I’ve got a slightly better system for finding out what people at my current employer (Facebook) think are good programming/software books, so I’m hopeful it won’t be another 7 years before I read another important text!

Site Update

It had been a while since I had revisited my personal site. Most of my writing is elsewhere these days, and so my personal blog had been sitting with years-old stale posts. I’ve rehosted everything on to save some money, updated the blog theme, and created a simple landing page. My old blog never had a “homepage” because the content was the feature, but with the blog somewhat sidelined, it was time to fix that up.

I may try out some other themes, and in the meantime I have finally updated the blogroll to be “What I’m Reading”. I have an idea for an essay or two I might put here, but largely the aim of the site here is to point to my LinkedIn.

Book Review: The Right Stuff

I was recommended The Right Stuff because of my interest in U.S. space program and space generally, but of course, this really isn’t a space book. Tom Wolfe discusses the military test pilots who participated in in the dangerous test flights, and later, the Mercury space program which put the first American men into orbit. It’s a study of personality and society; how these astronauts became Cold War heroes at a time when fear about Soviet technical superiority was ubiquitous.

The book is very entertaining and I learned a great deal about these individuals as well as internal NASA political struggles between the science and engineering division and the astronauts who crewed the capsules, as well as between NASA as a civilian agency with rocket propelled vehicles, and the Air Force, with jet propulsion planes.

The concept of “the right stuff” is thought-provoking, and credit goes to Wolfe for injecting it into the social consciousness. It refers essentially to pilot ability, but its relevance derives from the fact that early test pilot survivability was not great. Wolfe writes about how test pilot wives sat in fear of being called and informed of their husbands’ demise. Everyone knew a friend who had perished in a flight accident.

Nonetheless, I find it interesting to contrast the importance with which Wolfe places on the Mercury pilots as national heroes, particularly John Glenn and Alan Shepard, and the actual memory today of Apollo and Neil Armstrong as being the most recognizable astronaut name; I thought of John Glenn as a senator.

I also thought the tension between the astronauts who actually flew the missions and science divisions who helped make the underlying technology possible was interesting, but I’m not sure I came to the conclusions that the author was pointing me towards. The profession of astronaut held a certain gravitas in my mind, but this book portrays them as people who should be in Top Gun alongside Maverick and Goose; they seem like dumb jocks and not particularly vital to the space program. The astronauts seemed to be a publicity stunt — the payload which was delivered to orbit in order to boost national morale against the Russians.

For me, this story foreshadowed NASA’s manned and unmanned programs and their respective trajectories. Apollo 18, 19, and 20 were cancelled, partially to allow for the creation of a low Earth orbit space station in Skylab. The Space Shuttle program also focused on low Earth orbit and maintained roughly the same launch capabilities for 30 years before also being cancelled. On the other hand, unmanned missions from NASA have explored every single planet of the solar system, successfully landed on Mars eight (!) times, including several rovers which have operated for years. NASA has continued to launch more and more ambitious missions, even as the manned program has continued to cut back.

I also want to mention that while the storytelling in the book is wonderful, it also seems likely exaggerated and speculative. The book was written over a decade after the Mercury program, and there are no footnotes. Tom Wolfe states that he wrote it mostly through interviews with many individuals involved in the program, but it’s unclear where reality ends and hyperbole consumes.

I think the Mercury 7 astronauts were fascinating people willing to risk their lives to push the boundaries of where human beings could go. And I can understand why it is an American classic, interweaving Cold War politics, astronaut folk legend, and lurid storytelling. Ultimately, it wasn’t a book I’d feel compelled to read again even though the subject matter is something I otherwise find captivating. Nonetheless, if you want a good human interest story about the first people brave enough to get on American rockets, this is a great book! If you want a book about the hard science behind rocket engines and getting to the moon (subjects I find more personally compelling), you should definitely look elsewhere.

Deep Rock Galactic

Deep Rock Galactic is a cooperative first person shooter in early access from indie developer Ghost Ship Studios. Players are galaxy-fairing mining dwarves sent on dangerous missions on a hostile alien planet. The missions contain a variety of objectives and types of enemies, and allow for up to four players to play together.

This past year saw a slight uptick in the number of videogames I was able to play. This was particularly possible because I started talking with a couple old friends who often gamed together and they invited me to join them in playing specifically co-op games.

Multiplayer games aren’t exactly foreign to me, as I played World of Warcraft on and off since 2005. However, back then, I didn’t have great internet and I played very casually. I never got into raiding, and so I never really chatted with people on VoIP. I did often do multiplayer with people in the same physical location, and in fact I had a WoW arena team with my brother in high school as we played in the same room, negating the need for voice chat. Since then, I just didn’t play that many videogames cooperatively, and I didn’t have a consistent group. I still played a bunch of single player games, but I tried something new with Overwatch, as I wrote about a couple years ago. That was a lot of fun, but my lack of consistent playing group meant that after Overwatch, I went back to single player games…or Netflix.

This new group opened the door to Deep Rock, and it is spectacular. With the major caveat that I’ve only played the game with people I like hanging out with, Deep Rock seems to check every box you could have for this genre. The gameplay is pretty simple to learn; you shoot aliens and you mine rocks. But once you know the basics, you can start exploring the complexity of the game. There are multiple classes with different guns and abilities. They allow for grappling across levels, creating instant platforms on walls, permanent moving cables, or digging out tunnels through rock. More stuff is being added every month as it is still in early acess. Each class can now undertake quests to upgrade their various weapons which can be swapped out. There is quite a lot of firepower to choose from, with a big rotary machine gun, flamethrower (or ice thrower), shotgun, or even automated turrets, depending on your class.

There are also multiple types of alien bug creatures. Some are pretty standard enemies that run up and attack you. Others are suicide bombers that will stand next to you and detonate. If you know where they are coming from, you pick them off from a distance, but if you let them get close, you better call them out to your teammates who are busy mining rocks or trying to stop other bugs from eating their face off. There are also flying bugs, some that will try and pick you up and drop you far away from your teammates, ranged acid spitters, and giant armored beasts. Some bugs are even attached to shadowy cave ceilings waiting for you to drop under them, where they grab you and pull you helplessly away. Your only hope is for your teammates to blast the leach before you expire. These make for some hilariously chaotic battles.

And that’s not even counting the various types of levels you can play in. Each “ecosystem” on the planet has its own quirks and difficulties, from poison shooting mushrooms to radioactive crystals to giant sand storms that blind you for a short period of time–even in the midst of an enemy wave. The level design itself is beautiful even though I believe every level is algorithmically generated. There are several different missions types, including simple mining missions, missions to collect rare alien eggs, salvage operations where you recover equipment and then use it to escape the planet, and others. My favorite is extraction point missions where you are dropped in an area with many large crystals you must dig out and return to a central location while surviving waves of enemies. Then you have to protect the outpost until the your cargo is rocketed away, and finally battle your way to a rendezvous point.

The cooperative nature of the levels really makes the game for me. Putting up a good fight as aliens slowly surround you is tense, but when one of your teammates is suddenly picked up by a grabber and flown away, the panic starts to set in. There is intensity when making a daring run for one of your downed teammates, throwing up a temporary shield and reviving them while swarms of bad guys surround your bubble waiting for it to disappear. Another fun moment was at the end of a level where we had completed all the objectives, we now had to make it to the extraction rocket they sent. Somehow, the only way over to that part of the cave seemed to include narrow bridges of unavoidable enemies and it was taking too long to deal with them. It didn’t look like we could make it to the rocket before the level ended, meaning all of our work would be for nothing. With 90 seconds left, The digger thought he might be able to burrow straight through 60 or 70 meters or solid rock to get the chamber with the rocket, so we covered him, as tons of giant bugs tried to crawl into our tunnel while he slowly dug it out. We popped out right next to the rocket and got inside before time expired.

I recommend Deep Rock for its fun collaborative environment and interesting gameplay. Its level and mission design is really cool and it’s a pretty fun alien shoot ’em up, too. But the biggest personal takeaway from this game is that adults need to look at cooperative videogames as a medium for social gatherings. Modern society, and the internet in particular, has created a somewhat isolating social landscape. Netflix and HBO and YouTube mean that we live in an golden age of television and creativity, but also that we don’t need to interact with others in person in order to experience it; it comes directly to our devices in our bedrooms or living rooms. Cooperative gaming can act as a virtual social room, placing you at least ear to ear with your friends as you share an interactive experience and challenge. When I play Deep Rock, I don’t think of the time spent as “entertainment”, I think of it as “social interaction”. Even though my friends are thousands of miles away, we are talking about life and hanging out. I see this as a fulfillment of what people thought the internet could be; a place to allow people to connect in ways they could not before.

The Foundation Trilogy

Isaac Asimov wrote the several short stories that make up the Foundation trilogy in the 40s for a magazine. They were later compiled into three books, and eventually Asimov added to the series with two sequels and two prequels in the 80s and 90s.

The trilogy, and later series, revolves around the decline of a galaxy spanning empire far in the future, and the plan of the foremost expert in the fictional science of psychohistory, Hari Seldon. Seldon’s plan is to establish a Foundation at the edge of the galaxy that will grow and envelop the whole, shortening the period of galactic decay between the old empire and the new rule of the Foundation.

The short stories are heavily inspired by the fall of the Roman Empire, rather than the decline of the British Empire which was more contemporaneous with the novels’ writing. It gives the books a substantial historical feel with references to emperors, generals, and barbarians while still clearly being science fiction. I think this helped to ground the books and establish Isaac Asimov as a writer, and science fiction generally as a serious genre. While certainly compelling, the books are clearly written a while ago, and not just because of the technology mentioned in the book, which often focuses on nuclear and atomic energy as the most advanced possible. The characters themselves feel like science fiction stereotypes with wizened bureaucrats, rule-breaking rogues, and tactical generals. I suppose they likely established those as science fiction tropes, but perhaps they also borrowed them from Roman historical fiction.

The books’ influence is interesting. The series won the one-time Hugo Award for “Best All-time Series” in 1966, beating out The Lord of the Rings (!). It was likely one of the first science fiction novels to explore the ideas of advancing not just physical sciences, but social sciences. The namesake Foundation is built on the concept of “psychohistory” which purports to predict human behavior mathematically at the level of planets and galaxies, with trillions of beings. Asimov never mentioned this, but it seems that this theme of social prediction must have been inspired by the dominance of Samuelson and Keynes in economics at the time. Friedrich Hayek would later have much to say about the limits of such social science knowledge. It’s some 60+ years after the publication of these stories, and the concept of psychohistory seems much more like fiction than science.

Before I get into spoilers, I want to state a qualified recommendation of the Foundation series. It’s an important part of science fiction history, but if you’ve never read science fiction before, other classics are a bit more accessible with more action and less history, like Ender’s Game or dystopias like 1984. Science Fiction is a really broad category, but one axis I’ve found useful to categorize sci-fi is “amount of world-building needed”. The range would be from a story that takes modern society largely as-is and only changes a couple things, like Vonnegut’s Slaughterhouse-Five or Cat’s Cradle to narratives where almost nothing is retained from modern society. This could be because the piece takes place in outer space or the far future or confronts and explores the implication of new technology. Examples include Dune and Hamilton’s Pandora’s Star. The far end of this axis is fantasy like Lord of the Rings. This axis is interesting but also quite subjective. I would consider Seveneves to have more world-building than Jurassic Park (both movie and book) even though both are pretty hard science fiction, take place in about the present day, and assume one unusual science-breaking event (finding enough dinosaur DNA to clone a dinosaur or the moon spontaneously exploding). I think it’s because Seveneves‘ story takes place over a much longer period of time and so the world is built up around it. But that’s my rule, others might think differently about this axis.

Bringing it back to Foundation, I find that the further down the “world-building” axis a science fiction book goes, the more it risks becoming outdated in the future. 1984 does a pretty good job world-building, but the core of the book is the devastating social commentary on totalitarianism. It remains an interesting book because of that and because the technology explored aged pretty well into the 80s, when the story takes place (Orwell wrote it in the 40s). It’s not too important to the story, but there are several places in 1984 where the technology used betrays its 1940s origin, like the way Orwell talks about helicopters or the use of “telescreens” when hidden microphones would have been fine. Nonetheless, it doesn’t detract too much from the story since it’s supposed to take place in something approximating Earth’s past. But Foundation is a whole galactic society thousands of years in the future, and so the way that society is constructed is pretty important to the story. But of course, it was written almost 70 years ago and so you can’t help but notice this far future society has a very 1950s attitude on nuclear power.

How should we approach this science fiction limitation? To some extent, all books should be read in the context of when they were written, but for purposes of recommendation, since modern science fiction authors literally have more information than past authors, does it make sense to recommend to newcomers more modern science fiction — since it requires less context?  I think so, and it is for this reason that I qualify my recommendation of the Foundation series unless the reader has some context on when they were written and how they shaped other science fiction later on.

Finally, on to the spoilers. Once I got into the story, I found it extremely compelling. I thought at first it was going to be just a series of Hari Seldon’s genius plans going well as the Foundation steadily conquered the galaxy. And don’t get me wrong, I love stories where the protagonists have a genius plan that comes together, but I also thought it was a pretty silly view of the world to imagine that human action was so predictable. I suspect that’s how Asimov initially saw his magazine series, but then came the story about the Mule, which was much more engaging. The Mule is a genetic “mutant” which has more similarity to mutants in the X-Men than actual genetic mutations. His role in the story is to provide for a part of the Seldon plan that could not be predicted. The plan falls apart and the Mule conquers the Foundation. This re-introduced a lot of uncertainty into the story just as you were coming to understand how the Foundation might win by following the Seldon plan. True to it’s serialized initial publication, I was very excited to read about what came next, and I think the trilogy delivered well on that front.

In fact, as a consequence of everything I’ve stated in this article about how sometimes the technology seems stuck in the 50s, I’m pretty interested in reading the additional Foundation stories Asimov wrote later in the 80s. I am still wondering how the story of the Foundation continues, but I suspect the technology will be a bit more relevant to today with these books written 30 years later. Overall, I’m glad I got to finish this trilogy and my first foray into Asimov’s books as it helps put many other of my favorite sci-fi stories in perspective.


The Last of Us

The Last of Us is a videogame developed by famed studio Naughty Dog, which also developed the Crash Bandicoot series as well as the various Uncharted games. The Last of Us was released in 2013 to extremely positive reviews and is often placed into conversation as one of the best videogames of all time. I didn’t own a PlayStation 3 so I didn’t get a chance to play this game until recently. Despite it coming out 5 years ago, I think it’s still worth writing about because it was just that good.

My favorite high school English teacher used to tell us that what made great authors and artists was their ability to build transformational art. By that he meant great artists could simultaneously do the well known and expected approach extremely well while also building on that and incorporating the new and avant-garde to seamlessly bring the audience towards new ideas. He would always use the Beatles as an example, pointing to their earlier generic pop sound which gave way to their more experimental later albums, but it’s a nice approach to use for almost any analysis of art.

For example, I’ve noticed that many of my favorite superhero movies aren’t really superhero movies at all; The Dark Knight is a detective movie disguised as a superhero movie, The Winter Soldier is a spy thriller disguised as a superhero movie, and Logan is a western disguised as a superhero movie. These movies are interesting because they pushed the boundaries of what was possible with their genre. The Last of Us pushes the boundaries of what counts as a videogame.

Taken solely on its merits as a game, The Last of Us is excellent. It takes aspects of games that are quite familiar to anyone designing a shooter in the early 2010s and does them really well: it’s a survival shooter that takes place in a post-apocalyptic world with zombies. Zombies are a somewhat common trope in horror films but they are heavily represented in videogame media. The zombies in The Last of Us are properly horrifying, varied, and challenging to deal with.  It also has you teaming up, or at least working with, a rebel group in this post apocalyptic society against the government’s military rule. There are specific gameplay mechanics that are familiar, such as sneaking around to remain unseen from enemies, various guns that are upgradeable over time, and physical puzzles or obstacles that must be overcome. The “survival” aspect of the game is particularly well done though.

Many videogames have good stories. Half-Life 2 and both Portal games are some of my favorites, but they still have a pretty strict boundary between gameplay and story. It’s fun to check out the story elements and much of it is told through cutscenes, but The Last of Us brings the story in close to the gameplay. You are constantly aware of the post-apocalyptic world around you, and not just through the beautiful level designs of real American cities in ruins, but also because you are constantly running out of materials. You find a shotgun, blast some zombies triumphantly, and then quickly realize you are out of ammo and have to switch to a low power handgun. Maybe you have time to duck behind some cover and swap out the hunting rifle so you can use those last three bullets before you’re forced to start bashing heads in with metal pipes or scraps of wood you find, which also eventually break. It’s almost always a good idea to stealthily dispatch as many enemies as possible, both to reduce the number of enemies and to conserve ammunition. Even other items like shivs and health packs are all constructed from collected materials, and making more of one might preclude you from making more of others. The feeling of scarcity is omnipresent, and improvisation is vital to complete most levels.

The gameplay is also well varied. The story of The Last of Us revolves around Joel, a deadly smuggler, transporting Ellie, a girl who is immune to the zombie disease, to the underground resistance. Throughout this journey, there are different types of enemies which require different strategies, but also different types of encounters. There are areas where you are alone, areas where you have a support, and areas with other characters who you must protect while they are somewhat unhelpful to you. These are well incorporated into the story, as early on, Ellie is unknown and not given any weapons. Her presence on levels is not very helpful, and the gameplay helps to contribute to the player’s slight resentment. Eventually she gets a rifle and starts helping you, which makes the player appreciate her more. Other interesting levels include the first level, where you play as Joel’s daughter on the night the outbreak gets out of control. This is also the first big twist (spoilers ahead), as she is unceremoniously killed once you finish the level, taking a page out of Game of Thrones‘ script. This makes you pretty sympathetic with Joel’s character as you feel his helplessness, after all, you were just controlling his daughter and there was nothing you could do to save her.

Other interesting levels include one where you have to avoid a sniper, sneak around with very limited cover, dispatch men as they charge your position, all while advancing on the sniper as you slowly run out of ammo and materials. Then you take the sniper position and cover the advance of your friends as more enemies swarm them. There’s also a situation where you accidentally trigger a trap meant for zombies and have to protect Ellie while hanging upside down from your ankles.

As I’ve stated, the story benefits well from the integration with the gameplay. But the storytelling itself is one of the best cinematic experiences I’ve seen. It changed how I imagined a videogame could tell a story. The voice acting creates emotional and broken characters who you want to see triumph. And while the gameplay helps to emphasize the desperation and difficulty the characters face, the story is brutally dark in its outlook, constantly putting the characters in harsh situations or even killing them off. Joel’s difficulty in making himself emotionally attached to anyone after the death of his daughter is explored really well. Additionally, the sound design and music is also excellent.

But of course, the most interesting part of this game was the ending. Joel and Ellie go through a lot in their adventure. They lose a lot of friends, and they are hunted by people of all sorts. Nonetheless, if you take the gritty realism of the game seriously, you murder dozens of people over the course of the game. These others are often pretty gross people. In Pittsburgh, they are set on by “hunters” who try to ambush them. You then proceed through several levels and likely kill about 30 people. Is this proportionate? Is this ok because it’s a videogame? It’s not like you have much choice, even if you sneak by people, you’ll still have to take out a lot of others, all of whom will kill you on sight. But towards the end of the game, Joel is injured, and you have to play as Ellie to try and save him. Again, Ellie is trapped and has to fight her way out. She’s faced with being captured, possibly raped or eaten by cannibals, so anyone she kills is probably justified, but it’s pretty dark.

Finally Joel and Ellie make it to Salt Lake City and find the Fireflies (the resistance). Of course, the Fireflies believe they can create a vaccine for the zombie infection…which they would need to kill Ellie to obtain. Upon hearing this, Joel cannot bear to lose the one person he has finally allowed himself to care about, and fights his way back to Ellie. It’s possible to do this level while only killing a couple Fireflies (but you always kill their leader at the end). I was not great at stealth, so I ended up killing about 20. Mostly with the flame thrower. Joel takes Ellie back to his brother’s compound, and lies to her about the Fireflies when she wakes up, saying they didn’t need her help and they couldn’t find a cure.

Joel isn’t a hero. Yet his actions are at least understandable to the player and we’re left wondering what we would have done in a similar situation. And while it’s uncertain whether the Fireflies could have found a cure, they were not interested in Ellie’s consent or buy in; Marlene (the leader of the Fireflies) was Ellie’s friend and ordered her killed for the greater good. Of course, Joel didn’t ask Ellie what she wanted to do either, he just lied to her. And having already killed Marlene perhaps he felt he couldn’t go back even if Ellie was willing to sacrifice herself. Ellie is also only 14, so should she have the ability to make this decision? It would be questionably ethical to let a teenager make such a decision today, but who knows what rules to apply in the apocalyptic world of The Last of Us. This ending is remarkable and differs from the videogame tropes we are used to seeing. It is truly ambiguous, and emphasizes there are no heroes and villains, there are just people trying to survive.

In the sci-fi novel Ready Player One, there’s a proposed technology that would allow you to play a film as a first person character in virtual reality. The hero plays through both Wargames as Matthew Broderick’s character and Monty Python and the Holy Grail as King Arthur. While amusing for the audience, this would seem to a highly limited and uncreative use of such VR technology. After all, art made for a certain medium is probably best in that medium; a first person VR cinematic experience would probably be much better if the scripting and events were made specifically for a VR platform.  The Last of Us is a real life example of this science fiction concept: a story-driven experience with many aspects of a film, yet tailor made for the videogame medium. It isn’t the first “movie as a videogame” but it is the most impressive exercise in expanding how interactive stories are told. It is transformational and is changing the way we consume media; there’s no longer a stark difference between a long YouTube video, a TV series, and a feature film. Netflix hosts all kinds of shows from Comedians in Cars Getting Coffee (about 15 minutes an episode), to Ken Burns’ The Vietnam War, which is 10 episodes ranging from 82 to 114 minutes each. The future will include the telling of stories in many genres and media, and I’m excited to see how videogames continue to contribute to that storytelling.

Book Review: Cat’s Cradle

Kurt Vonnegut’s Cat’s Cradle was my third Vonnegut novel after Slaughterhouse-Five and Mother Night. It was published in 1963, a few years before Slaughterhouse-Five was published and Vonnegut became a household name. From a biographical perspective, it was one of his earlier novels that helped to define his style and approach.

Consequently, the book is ridiculous, absurd, amusing, dark, and self-referential as you would expect. It follows a writer who is trying to track down what famous Americans were doing the day of the atomic bombing of Hiroshima. The narrator gets caught up following information about a fictional scientist Felix Hoenikker and his now grown children, and the novel ends up on the fictional Caribbean island nation of San Lorenzo, which is ruled by a stalwart anti-communist and American allied dictator. The islanders are nonetheless uninterested in geopolitics and are instead obsessed with an invented nihilistic religion that everyone apparently follows, despite its official (and ignored) ban, punishable by death.

My thoughts on the book were mixed, but not strong; it’s probably good if you are already a large Vonnegut fan, otherwise, I’d probably opt to skip it. It is funny, in the bizarre Vonnegut way, but the bizarreness sometimes veers too far. I would often find the characters unrelatable. Nonetheless, there are some ideas that I did find historically interesting which I would like to discuss.

Having read Starship Troopers this year as well, these two novels capture the overriding sense of doom in the Cold War that we just don’t have any more. Heinlein’s response to what he saw as this existential and inevitable conflict with the Soviets was to argue for a hardline military response to save civilization.  Vonnegut saw the destruction of the second world war and then the creation of the nuclear bomb and the arms race as a trend in human history towards greater destruction. His response was to write black comedies and satirize the entire ridiculousness that humans were so technically intelligent yet so tribally stupid as to create the gadgets of their own destruction. Given humanity was stupid enough to fight the deadliest war in human history less than 20 years prior, it was inevitable that the next war would come and prove even more horrific. It’s a powerful view and I’m sure made a lot of sense at the time. Cat’s Cradle in this context is fascinating.

Felix Hoenikker is a ridiculous character; he just tinkers and builds without any regard for the consequences of his actions, inventing an ice crystal that will turn any water that touches it into room temperature ice. Its application as a superweapon becomes apparent, but Hoenikker is so short sighted that he leaves it out for his children to find without any thought. In turn, when his children take the ice crystal, they are swindled out of it, allowing both the US and USSR access to it. I found this whole narrative pretty weird and silly, but from Vonnegut’s perspective this “what-are-social-consequences” caricature of the scientists who created the atomic bomb must have been compelling. As a general techno-optimist, I’m not so sure I agree. Trying to stop technology from advancing seems pretty difficult, and had the US not pursued a nuclear program, it seems unlikely that the Soviet Union would also have followed after having captured German scientists.

Moreover, reading this book in 2018, I have a similar critique to what I said about Heinlein; both author’s worries seem to have been incorrect. The Soviet Union collapsed without us fighting a war as Heinlein thought and without us destroying ourselves as Vonnegut seemed to expect in Cat’s Cradle. Is this just luck or actual evidence they were wrong? It’s hard to know.

But whereas Heinlein’s book also established the “space war” genre, meaning it remains a staple of science fiction, Cat’s Cradle is pretty meh outside of the social commentary. There are a lot of references to the invented religion of San Lorenzo (which parodies actual religion, which perhaps is also invented), called Bokononism. Such references are strewn with made up words and some of the made up San Lorenzen dialect. I’m not an absolutist when it comes to inventing words and language, but I feel that any invention of made-up words comes at a cost of reader understanding. The payoff is usually in terms of world-building, but Cat’s Cradle‘s world is ridiculous and constantly absurd, emphasizing its bizarreness. There is no world-building going on, and so I don’t feel like I bought into it as a reader, and thus the invented words were just annoying.

On the plus side, this book made me wonder what narratives seem obvious and ridiculous to us today will be forgotten about in 20 or 30 years. For example, we all know social media is creating fake news and promoting vile extremism and trolling. Our country is being divided and politicized and there may be no escape. Cat’s Cradle suggests instead we may not have any idea what our future problems will be like.

Book Review: Snow Crash

Snow Crash has been on my list for a long time. It’s the third Neal Stephenson novel I’ve read after The Diamond Age and Seveneves and is considered his breakout novel. Published in 1992, it’s actually somewhat unbelievable how forward looking this book is. I actually found myself a little bored when Stephenson was describing the technology for the virtual world, the “Metaverse”, of Snow Crash since I just read Ready Player One a few months ago, and many of the concepts that ended up in that novel’s conception of virtual reality, published in 2011, were already present in Snow Crash, 19 years prior.

Besides virtual reality, which Snow Crash explores extensively, the novel also entertains the idea of anarcho-capitalism or post-national capitalism, where nation states have regressed, and the world is made up of a autonomous corporate states, seemingly inspired by David Friedman’s The Machinery of Freedom or Murray Rothbard’s For a New Liberty. Interestingly, The Machinery of Freedom saw its second edition published in 1989, right before Snow Crash came out. Several of Stephenson’s novels explore this idea of decentralized post-state economic systems, including his other 90s books The Diamond Age and Cryptonomicon. Concepts covered include the decentralized implementation of a legal system, private roads, quasi-state citizenship and security, and the ineffectiveness of government. The Federal government does still exist in this bizarre Los Angeles, but it seems to do nothing useful except spend lots of resources ensuring the loyalty of its own employees. There is a memo about toilet paper usage in the federal offices that goes on for pages.

I don’t know what an anarcho-hyper-capitalist world would really look like, but Snow Crash‘s world feels vibrant and real. From a political perspective, I think its obvious Stephenson is intrigued by these ideas, as he’s written about them several times. It’s also undeniable that technologies like the decentralized anonymity, networked virtual realities simulations, and especially cryptography, although it wasn’t in the book, automatically contribute to a world where power is subverted by individuals who can hide from authority. The “hacker” mindset is that today’s technology can be used to coordinate against power, while keeping people anonymous. The technology itself is inherently punk-rock.

Nonetheless, Snow Crash isn’t necessarily a world you want to live in. Libertarian utopia, maybe, but we are following interesting characters who can navigate this world. In the background, millions of desperate people are part of the story too, and they are not doing too well. It’s a bad idea to reason from a work of fiction, but at least from the author’s political views, I thought this was a fair representation of interesting wonders and harsh horrors of a possible libertarian wonderland.

The story itself was actually fairly unexpected for me. I knew this was a cyberpunk novel going in, and so I expected the vast discussion of the hacker world and the gray legality the characters occupy. Because this novel was so early, some of the technology I expected, especially cryptography, didn’t play a big role, even though a rewrite of the story today would most certainly include the importance of encryption to anonymity and privacy in this decentralized virtual world. However, there was a significant reliance on Sumerian mythology which I had no idea about, and despite the incongruity, it was actually a really compelling part of the novel. The skills it takes to interweave 8000 year old myths the reader has never heard of into a modern sci-fi cyberpunk story should not be understated. It wasn’t all perfect of course; I had to suspend disbelief anytime the novel discussed the particular way in which it stated “hacker” minds were wired to make them susceptible to the Snow Crash virus, because that was pretty absurd. Nonetheless, it’s a minor issue in an otherwise highly creative work.

The characters were solid too. The reader ends up meeting the heads of several of the quasi-state corporations in the book, and their nature and juxtaposition creates a particularly American cyberpunk setting. I won’t go into more details to avoid spoiling large parts of the book. The best character is probably one of the villains, and every scene with him is properly terrifying. Y.T., the main character’s associate is also fun to follow. However, I’m still not sure I understand why the main character, Hiro, chose his last name to be “Protagonist” to make the absurdly ridiculous name Hiro Protagonist.  Despite being the character you follow the most, he’s not particularly dynamic. At the beginning he’s a smart hacker who helped build the Metaverse although things haven’t gone great for him and he’s not leveraged his important role to fame and fortune. But he uses his skills to uncover the main plot that drives the novel and works with others to end the threat. He’s centrally important to the story, so he’s the main character by definition, but his personality feels a bit like a video game protagonist (I guess that’s the reason for the name) as he’s more of a vessel for the audience to see the world through. Even his relationship with Juanita doesn’t really change that much over the course of the book.

Nonetheless, Snow Crash is an easy read and amazing sci-fi premise. I really enjoyed the book, although I think Stephenson has continued to improve as a writer, especially of compelling characters. The unique ideas in this book make it a classic of the cyberpunk genre and I’m glad I finally got around to it.

Book Review: Unsong

This is the next installment in my push to read a book a month during 2018. So far, I’ve generally stuck to putting fiction book reviews on this blog, with nonfiction on my political blog.

Scott Alexander’s fiction story Unsong is a particular brand of humor and epic scope that I suspect only the rational community can come up with. I enjoyed this story immensely but I wouldn’t recommend it “cold”; the reader has to understand that this is an unusual take on fantasy and religion, and probably blasphemes frequently.

Unsong spends a lot of time worldbuilding. That may be a turn off to some people, but I found it very well done. A significant portion of the beginning of the novel is an exploration of the founding principle of Unsong‘s universe: what if the world turned out to actually follow Jewish mysticism? The world used to have a lot more theological magic in it, but over time, this “magic” was coalesced into more rigorous and mathematical physics until humans accidentally broke the machine running the world, and plunged everything back into chaos. Unsong‘s characters do not take this new world as is, they question it rationally, try experiments to see what works, and push boundaries. This magic follows rules and can be researched scientifically, grounded in reality, and in fact, Unsong‘s title comes from the United Nations Subcommittee on Names of God.  Perhaps more impressively, Unsong‘s bizarre world with angels and demons and true names of God and Kabbalah is all quite internally consistent.

The book also explores real theological challenges humans would have if we found out the divine existed. Most specifically, Scott tackles the concepts of theodicy, the question of why God is good given we see so much evil in the world.

If this sounds interesting, if philosophical theological debate in the midst of an epic religious magic fantasy storyline, oddly interspersed with whale puns sounds like something you might want to check out, I can assure you that Scott executes his story perfectly. The word “epic” is interesting when it comes to storytelling. It conveys usually that a story is great in length, which Unsong certainly is. It also implies great achievements done by heroes, which also applies here. But I feel a story has to be epic primarily for its scope and impact on the world and the characters. Length definitely helps with this; if an entire world is introduced in a single film, it’s hard for it to reach that “epic” feeling. This is part of the criticism of the DC universe films; they jumped quickly to world ending apocalypses when we hadn’t gotten a chance to really know the characters.

Unsong takes it time, starting from small stories of human and divine characters, slowly building the world and the stakes, foreshadowing and hinting at bigger events. The final story is epic in length, impact, and heroics; there is an excellent sense of divine oomph that the story leaves you with, having forced the reader to climb a mountain of understanding the world and its characters. I found my time well spent.

How to Fix the NBA

The NBA made about $7 billion last year, so it’s not exactly “broken”. Nonetheless, all games need periodic improvements in design, and the bigger the incentives to win the game, the more players will be incentivized to work around the rules in unconventional ways. For example, the largest tournament for the videogame Overwatch gave out $300,000 in prize money last year, and it receives updates and tweaks to gameplay every month to keep it balanced.

Last year, the Golden State Warriors saw their franchise value soar to over $3 billion according to Forbes, an increase of about $450 million.  How important is winning to this equation?  The league’s 10 least valuable teams (according to Forbes) had 4 winning records last year, with the best being 2 games above .500. None have won a championship since Detroit won in 2005, none have made the Finals since Detroit in 2005 either. The San Antonio Spurs are the most valuable small market team (and 11th overall) but have won 5 championships in last 20 years.

Therefore, teams have a massive incentive to exploit the rules to win. It is the job of the game designers, the NBA, to determine what the correct rules are for creating a well-crafted, competitive game. I will be offering three major reforms to improve the game.

The Obvious: End the Draft Lottery

The Problem

A major problem in recent years has been the rise of “tanking”, where teams that aren’t going to win a championship lose on purpose to get better draft spots. This is excellent strategy, but makes for boring games. The NBA is acutely aware of the problem, and has implemented a series of fixes to try and deal with it, all ineffective. The first was a lottery system, where the worst team was no longer guaranteed the best draft pick. This lottery system has been tweaked over time to reduce the chances of the worst teams to get the best picks, yet of course those teams still have the best shot to get the best pick; the incentives haven’t changed, losing more games still, on average, increases your draft spot. In 2019, the first 4 picks, as opposed to the current 3, will be determined by lottery. Still, the incentives remain unchanged; losing more games is better for your franchise’s future.

The Solution

There is a simple solution to this: draft futures. Instead of the worst team drafting a player, they pick a draft spot, where the draft spot is determined by another team’s win-loss record in the following season. For example, say the Phoenix Suns are the worst team this year (2018). At the beginning of next season, they get to pick who they think will have the worst record in April 2019. Suppose they think it will be the Brooklyn Nets. Then if the Nets finish last in 2019, the Suns will get the first pick, but if the Nets finish 8th to last, the Suns will pick 8th.

This would immediately solve the incentive to tank, as your worse record helps another team (distinct from the obvious losing games helps the opposing team). Each team would then be incentivized to win as many games as possible since their loss directly benefit other team’s draft location. Bad teams would still be rewarded, although it would be much less direct than right now; they’d have an opportunity to get a good draft pick in two seasons, depending on how well they could pick the worst teams next year, which is inherently difficult. Teams would have to barred from picking themselves of course, but it would significantly improve competitiveness in the bottom half of the league, as losing games would no longer help you the following year.

This system is similar to simply pushing off the draft reward for poor records by one year, but the added randomness of the draft futures ensures that any single loss is far enough removed from any benefit to your team, while providing a concrete benefit to another team, so as to disincentivize losing.

A draft future could also be traded, just like a draft pick, and in fact, it would be pretty easy to convert draft picks to draft futures; if a team is owed a first round draft pick in 2021 (say the Miami Heat owe the Phoenix Suns a first round draft pick), then at the start of the season in October 2020, Phoenix would pick in Miami’s place what team they want their pick tied to (say Brooklyn is taken so they pick Atlanta). The record of Atlanta would then place where Phoenix picks in the 2021 draft (e.g. Atlanta finishes 13th in the league, so Phoenix picks 30-13=17th). The timing of the trade can also be arbitrary. Say Miami lucks out and this season they selected Memphis because most people thought Memphis would be good, and Miami had a late pick because they were pretty good last year. But it turns out Memphis is terrible, and Miami wants to add a piece to make a playoff push; Miami could then trade their Memphis draft future to another team who is interested in draft picks and pick up a role player.

This is a clear improvement over our current system, and I have no idea why Adam Silver is still messing around with lottery percentages in an inherently broken system that incentivizes losing.

The Difficult: Shortening the Season

The Problem

Teams are resting their players during the regular season. The Spurs famously benched their top four players for a primetime game against the defending champion Miami Heat in 2012, and were fined $250,000. The argument is that resting star players takes away from the competitiveness of the regular season, in a manner similar (although lesser in magnitude) to tanking.

The Solution

I wrote two and half years ago why the NBA should shorten their season by looking at the mathematics of winning percentages. The takeaway was that all good teams in the NBA make the playoffs easily, and so much of the regular season can be shortened without losing the best teams in the playoffs. It’s still accurate and useful to read. However, I glossed over perhaps the most important point, which is that players are already resting anyway, and if they’re not resting, they often miss games because they are hurt. Reducing the length of the season would help both of these issues.

Nonetheless, this is very difficult to implement. I would advocate for fewer games so that road back-to-backs (two road games in two nights) could be eliminated. Studies have shown that players are 3.5x more likely to get injured in road back-to-backs. This would only require the elimination of about 8 games, but that’s about 10% of the NBA season, and owners would not be happy. Ticket and concession sales aren’t the bulk of NBA revenue, but TV revenue would decline as well with 10% fewer regular season games. However, the regular season games would be better quality on average, with fewer players missing games due to rest or injury.

It’s frustrating because obviously there are too many games in an NBA season; if players are resting, it’s because they aren’t necessary to win the game, or the loss of a game isn’t important enough to warrant the risk of injury. Doing well in the playoffs is more important for teams, so it makes sense that they would sit out some regular season games. At the very least, the league should stop penalizing teams for resting their players; teams are penalized by losing the game. If the losses don’t mean enough, then the season is too long. It’s just that simple.

The Insane: End of Game Sudden Death Rules

The Problem

This is my most controversial problem. The end of NBA games are often not basketball; they are exploitation of the rules to stop the clock by fouling, and then efforts to score as quickly as possible. This effectively stops any actual basketball play on one side of the floor. It’s also boring to watch as a spectator as the game goes from something exciting and athletic to one guy just shooting free throws, and the game slows way down.

The Solution

This proposed new system works like this: instead of having a timed period of basketball, the first team to reach a certain score (higher than the current higher scoring team) wins. For example, let’s suppose we use this method in overtime. Instead of having a five minute overtime, it would be three minutes, but at the end of three minutes, the Sudden Death score would be score of the team in the lead + 7. So if after three minutes of overtime the score is 100-99, then the first team to 107 wins. But if the score is 110-100, then the first to 117 wins. This favors the team already winning as it should, but disincentives fouling, as you want to keep your opponent from scoring at any cost.

Maybe this isn’t a problem and shooting free throws at the end of games is fine. But I think there is room for improvement. Exactly when and how this is implemented is difficult to say. Perhaps this should be implemented during overtime, perhaps at the end of regulation. Certainly it should be tried in the G-League or All-Star game first, as it’s a radical change. The exact numbers and implementation are hard to know. Perhaps the Sudden Death score should be +10 instead of +7. Perhaps it should only be used if after the first overtime is completed and we are still tied. Perhaps it should be used to shorten overtime. Perhaps it would be a good replacement for the end of regulation. I’m not sure, but I suspect in specific areas where long games are undesirable because they are just exhibitions, such as preseason or the G-League, I think this could be a useful tool to call a winner at the end of regulation. It also might be useful for preventing serial overtimes, although perhaps such a rule is undesirable in the playoffs.

I think such an option has to be seriously looked at though, because intentional fouling at the end of games really changes the game dynamics and stops all the action.


A fix for the draft lottery has to be implemented as soon as possible, and the current proposals do not go far enough. Draft futures are a pretty good approach that would definitely reduce the incentive problem teams face for the draft, without straying too far from the fundamental purpose of the draft, which is to create parity. Season shortening is vital but may not be able to overcome owners’ interests in having as many games as possible. Sudden Death is radical but radical ideas need to always be considered. Basketball is younger than most other sports, and significant rule changes have occurred even more recently; the three point line was only implemented in 1979. Changing intentional fouling at the ends of games is much less radical an idea than that.