ready player one

Book Review: Ready Player One

I was pretty skeptical about this book.

I saw the trailer for the big blockbuster that’s coming out, and it sounded like it was trying too hard. It’s sci-fi, but it’s also 80s retro? Do we really need more 80s nostalgia? Shouldn’t we celebrate more originality? I think it also didn’t help that many people were very excited about it being turned into a movie, and evangelical fans informing you that they are sure you’ll love the book just makes it that much harder for you to judge the story honestly.

Nonetheless, I ended up really enjoying Ready Player One. I realize that it may have just played very well to my ingroup; the “culture” of the novel went beyond just 80s nostalgia, but into early computer programming, videogames, and geek culture.  For that reason, I’m unsure if I would automatically recommend Ernest Cline’s book to everyone. I’m going to go over some of the weaknesses of the book, and if you think you could overlook them to enjoy a fairly creative and fun sci-fi adventure story, I think it’s worth a read.

In the first couple of chapters, I was a bit disappointed. I realized this was a dystopian near future young adult novel, and that’s a fairly common trope. The world has fallen on some hard economic times, and many people have turned to a globe-spanning shared virtual reality called the OASIS.

The “bad guys” are also incredibly simple. The villain doesn’t have an interesting alternative viewpoint or reason why he feels compelled to be bad. In fact, the obsession with the scavenger hunt just seems uncharacteristic of a large corporation. The evil companies that the story is trying to evoke, ISPs like Comcast or data hoarders like maybe an evil (eviler?) version of Facebook, they are concerning and worrisome precisely because they are large organizations without discrete goals. They optimize for profit, but not in humane or useful ways. Comcast is evil because they will promise to send out a tech to fix your internet who never shows up, day after day, and there’s no one else you can turn to. The evil corporation in the novel, IOI, is evil because it wants to take over the world by winning a contest and getting money. Comcast is evil because it’s already taken over the world, yet it’s so disorganized that its apathetic to how it’s ruining your life. Beating IOI is straightforward, but difficult; you need to win the scavenger hunt before they do. Beating Comcast is both deceptively simple, but yet so complex as to be impossible; you can’t just pass a law saying Comcast has to be less lazy, you have to actually introduce additional competition to cable providers everywhere that Comcast exists. Yet competition can’t just be introduced, barriers to entry, both legal and economic make that difficult. Removing legal barriers requires legislative will and legal knowledge which is sparse and distributed…etc.

The one area where the bad guys actually seemed pretty sinister was during a sequence detailing how IOI presses debters into indentured servitude to pay off their debts. The servitude never pays much, and everyone is forced to buy things in a “company store” type model which means they are essentially stuck in corporate slavery forever. That seemed way more bureaucratically terrifying along the lines of how I’d imagine a giant megacorporation grinding people’s souls for money. So points to that plot device at least.

The general outline of the plot itself also wasn’t too unexpected for a young adult dystopian novel. The creator of the OASIS passed away and has left his fortune to whomever can solve a very difficult puzzle/scavenger hunt which is inside the virtual world.  The protagonist, teenager Wade Watts, goes on an a classic adventure, re-imagined into the 80s nostalgia of the OASIS contest. He meets various friends who sometimes help him out, he gets occasional help from a couple older, wise characters, and he fights an army of bad guys.

But despite all these negatives, I actually ended up really enjoying this book. The general plot may have been fairly expected, but the specifics of the plot, including the challenges of the contest, and the intricacies of the world, both physical and digital, are quite creative and original. The rest of review is going to go into more plot details, so if you’d rather avoid that, you’ve been warned.

The world of the OASIS is an absolutely fascinating exploration of what the internet and virtual reality could be used for. The giant public school planet was a nice extension of what online learning classes could be. If you take Bryan Caplan-esque critiques of education as signaling seriously and then set aside the signaling aspect of education, there is little that couldn’t be taught on the internet almost as well as in a classroom.

Other parts of the world of the OASIS were excellent because they were tailored to exactly what a hacker/geek ingroup paradise would be. The idea of the Tyrell Corporation Pyramid being a default structure that anyone could place on an OASIS planet tickled my heart.  Built-in crypto was also pretty cool, and it even reflected correct cryptographic practices. Everyone’s actual information was encrypted at rest and not readable by the company’s own employees. While this might be tough to implement perfectly, it was nice that a fantasy book of a geek virtual reality world would correctly implement cryptographic privacy. (Of course, it turns out Og had a built-in backdoor to private chatrooms, which kind of breaks the whole “correctly implemented crypto”…) Additionally, there’s a sequence where Wade votes for Cory Doctorow and Wil Wheaton which was pretty funny.

Anonymity and privacy is actually vital to several plot points. First is the general idea that IOI can’t track where Wade is logging into the OASIS from since user data is well encrypted and he’s not using them as an ISP. But Wade is also able to generate an income from his avatar’s fame as a successful “gunter” in the contest. The concept of being able to anonymously generate an income where he can be paid without anyone knowing his real name was probably just a useful plot device, but would be a massive revolution for individual freedom in the real world. They didn’t really mention how taxes work, so this probably wasn’t entirely thought out, but the implications for such technology would be just fascinating. In a world largely ruled by VR, it wouldn’t be surprising if lots of work was done in VR instead of the real world. A world where the default interaction is encrypted and anonymous means that payment would default to being anonymous as well. Wade makes money by endorsing products with his online (and famous) avatar, but also by selling advertising on his personal vidfeed, which actually is pretty close to what Twitch actually ended up being in the real world.

A quick aside: Wade programs his vidfeed to show old 80s TV shows, movies, and music videos. He also spends a fair amount of time watching old shows that he thinks may prove useful in the hunt. There’s no mention of copyright enforcement or difficulty in obtaining access to these things. I guess it’s just one of those things that’s assumed away for the story, but having free and open access to these old shows is vital to the knowledge building of the “gunters”. I think the book could have taken a more explicit anti-copyright stance to match the hacker-culture of the gunters.

Back to the commentary on individualism: in a virtual world, there’s the almost obvious point that space itself can be easily privatized. Wade purchases a private asteroid and builds his own extensive base inside it. He can grant access to only people he wants to let in, and he can create whatever he wants in it. Property rights are pretty useful for creating a flourishing market, and so super property rights and the ability to manipulate reality itself (in a virtual world) puts that ability-to-create on steroids. Even Aech’s private chatroom is a pretty cool hangout, but it’s more than that; it’s the absolute privacy of an encrypted document, made “physical” via the virtual world of the OASIS. Maybe an evil dictator would just block access to the OASIS, but otherwise, people could literally meet in private chatrooms and share their ideas and frustrations with an oppressive regime face-to-face, without fear of actually meeting face-to-face. This is a pretty cool idea.

Finally, I want to note that the hacker-culture of the book and the gunters was very personally appealing. I’m sure everyone likes the idea of a community of righteous freedom fighters gathering together to fight the bad guys, but there was something that specifically invoked big MMORPG gatherings when Cline describes the gunter clans banding together to fight the Sixers. Even silly things like Wade’s ship being Serenity from Firefly was just really fun for me to imagine. I don’t know exactly how much of this would transfer over to someone who is less familiar with the references in the book. Then again, I only knew some of the references, and I was totally clueless to the 70s anime shows.

Ready Player One ended up being really enjoyable and did a great job exploring the implications of a worldwide shared virtual reality. Even if the adventure genre made some of the plot predictable and the bad guys cartoonish, there is so much cool world building that I found it easy to overlook any flaws. The sci-fi aspects of the book were excellent, the hacker culture backdrop was a lot of fun, and the plot did still have some impressive twists that I wasn’t expecting. I’m sure the upcoming film will be fine, but I doubt it will be able to capture all the small morsels of this really exciting world. I would definitely recommend this book if you have any science fiction interest, but remember it’s more like WarGames made into a hacker-culture tribute VR science fiction novel, not Foundation.

2018 Predictions

Untestable knowledgeable cannot be scientific.  To avoid the problems of retroactively placing events into your narrative of the world, predictions must be laid out before events happen. If you try to use your model of the world to create testable predictions, those predictions can be proven right or wrong, and you can actually learn something. Incorrect predictions can help update our models.

This is, of course, the basis for the scientific method, and generally increasing our understanding of the world. Making predictions is also important for making us more humble; we don’t know everything and so putting our beliefs to the test requires us to reduce our certainty until we’ve researched a subject before making baseless claims.  Confidence levels are an important part of predictions, as they force us to think in the context of value and betting: a 90% confidence level means I would take a $100 bet that required me to put up anything less that $90. Moreover, it’s not just a good idea to make predictions to help increase your knowledge; people who have opinions but refuse to predict things with accompanying confidence levels, and therefore refuse to subject their theories to scrutiny and testability, must be classified as more fraudulent and intellectually dishonest.

First let’s take a look at how I did this past year, and see if my calibration levels were correct. Incorrect predictions are crossed out.

Predictions for 2017:

World Events

  1. Trump Approval Rating end of June <50% (Reuters or Gallup): 60%
  2. Trump Approval Rating end of year <50% (Reuters or Gallup): 80%
  3. Trump Approval Rating end of year <45% (Reuters or Gallup): 60%
  4. Trump 2017 Average Approval Rating (Gallup) <50%: 70% (reference)
  5. ISIS to still exist as a fighting force in Palmyra, Mosul, or Al-Raqqah: 60%
  6. ISIS to kill < 100 Americans: 80%
  7. US will not get involved in any new major war with death toll of > 100 US soldiers: 60%
  8. No terrorist attack in the USA will kill > 100 people: 90% (reference)
  9. France will not vote to leave to the EU: 80%
  10. The UK will trigger Article 50 this year: 70% (reference)
  11. The UK will not fully leave the EU this year: 99%
  12. No country will leave the Euro (adopt another currency as their national currency): 80%
  13. S&P 500 2017 >10% growth: 60%
  14. S&P 500 will be between 2000 and 2850: 80% (80% confidence interval)
  15. Unemployment rate December 2017 < 6% : 70%
  16. WTI Crude Oil price > $60 : 70%
  17. Price of Bitcoin > $750: 60%
  18. Price of Bitcoin < $1000: 50%
  19. Price of Bitcoin < $2000: 80%
  20. There will not be another cryptocurrency with market cap above $1B: 80%
  21. There will not be another cryptocurrency with market cap above $500M: 50%
  22. Sentient General AI will not be created this year: 99%
  23. Self-driving cars will not be available this year for general purchase: 90%
  24. Self-driving cars will not be available this year to purchase / legally operate for < $100k: 99%
  25. I will not be able to buy trips on self-driving cars from Uber/Lyft in a location I am living: 80%
  26. I will not be able to buy a trip on a self-driving car from Uber/Lyft without a backup employee in the car anywhere in the US: 90%
  27. Humans will not land on moon by end of 2017: 95%
  28. SpaceX will bring humans to low earth orbit: 50%
  29. SpaceX successfully launches a reused rocket: 60%
  30. No SpaceX rockets explode without launching their payload to orbit: 60%
  31. Actual wall on Mexican border not built: 99%
  32. Some increased spending on immigration through expanding CBP, ICE, or the border fence: 80%
  33. Corporate Tax Rate will be cut to 20% or below: 50% (it was 21%)
  34. Obamacare (at least mandate, community pricing, pre-existing conditions) not reversed: 80%
  35. Budget deficit will increase: 90% (Not if you go by National Debt increase January to January)
  36. Increase in spending or action on Drug War (e.g. raiding marijuana dispensaries, increased spending on DEA, etc): 70% (hard to say: Rohrbacher Amendment, FY2018 DoJ changes)
  37. Some tariffs raised: 90% (reference)
  38. The US will not significantly change its relationship to NAFTA: 60%
  39. Federal government institutes some interference with state level legal marijuana: 60%
  40. At least one instance where the executive branch violates a citable civil liberties court case: 70% (I made this too broad as I can cite Berger v New York and the NSA violates it every day)
  41. Trump administration does not file a lawsuit against any news organization for defamation: 60%
  42. Trump not impeached (also no Trump resignation): 95%

Sports

  1. Miami Heat do not make playoffs:  95%
  2. Miami Heat get top 6 draft pick: 60%
  3. Duke basketball wins 1 game or more against UNC: 80%
  4. Duke basketball makes it to Round of 32 in NCAA Tournament: 90%
  5. Duke basketball makes Final Four: 50%
  6. Duke basketball does not win NCAA tournament: 80%
  7. Warriors or Cavs will win the NBA title: 60%
  8. Lebron James will not be highest paid NBA player during 2017-18 season: 70%

Personal

  1. Employed in current job:  90%
  2. I will have less than 300 Twitter followers: 60%
  3. I will change my registered party from Republican to Libertarian: 70%
  4. I will have authored > 14 more blog posts (not just on this blog) by June 30, 2017: 90%
  5. I will have authored > 30 more blog posts (not just on this blog) by December 31, 2017: 80%
  6. michaelelgart.com to have >3,000 page loads 2017: 70%
  7. These predictions are under-confident: 70%

I missed all the ones I marked as 50% confident, but I’ve realized that 50% predictions do not convey any information. I could have also listed the predictions as simultaneously saying that there was a 50% chance the exact opposite of the statement occurred, so actually, I got exactly half of them right, and I will always get exactly half of them right. This makes the category completely useless, and so I have decided to avoid posting any predictions of exactly 50% accuracy for next year.

In the other categories:

  • Of items I marked as 60% confident, 11 were correct out of 13.
  • Of items I marked as 70% confident, 8 were correct out of 9.
  • Of items I marked as 80% confident, 10 were correct out of 13.
  • Of items I marked as 90% confident, 6 were correct out of 8.
  • Of items I marked as 95% confident, 3 were correct out of 3.
  • Of items I marked as 99% confident, 4 were correct out of 4.

2017 Predictions

This doesn’t look that impressive or well-calibrated, although one point I will make is that one of the 90% confidence predictions I missed was a personal goal to blog more. I only missed this by one blog post, and it makes sense that I was overconfident in it. Taking that one out, my 90% predictions come in at 87.5%, which is pretty good.

I did better than I should have on my 60% confidence predictions. In retrospect, predictions about the number of Twitter followers I would have, and about Trump’s approval rating were really under-confident (affected my 70% predictions as well). I severely cut the number of tweets on my personal twitter account in favor of one with more anonymity, and Trump never really recovered from his initial approval ratings, information I had pretty readily available. Additionally, my 60% confidence that Bitcoin’s price would be above $750 seems woefully incorrect, and it’s clear in this case, that I really had no idea what Bitcoin was going to do.

Predictions for 2018:

World Events

  1. Trump Approval Rating end of year <50% (Gallup): 95%
  2. Trump Approval Rating end of year <45% (Gallup): 90%
  3. Trump Approval Rating end of year < 40% (Gallup): 80%
  4. US will not get involved in any new major war with death toll of > 100 US soldiers: 60%
  5. No single terrorist attack in the USA will kill > 100 people: 95%
  6. The UK will not fully leave the EU this year: 99%
  7. No country will leave the Euro (adopt another currency as their national currency): 80%
  8. North Korea will still be controlled by the Kim dynasty: 95%
  9. North Korea will conduct a nuclear test this year: 70%
  10. North Korea will conduct a missile test this year: 95%
  11. Yemeni civil war will still be happening: 70%
  12. S&P 500 2018 >10% growth: 60%
  13. S&P 500 will be between 2500 and 3200: 80% (80% confidence interval)
  14. Unemployment rate December 2018 < 6%: 80%
  15. Unemployment rate December 2018 < 5%: 60%
  16. WTI Crude Oil price up by 10%: 60%
  17. Price of Bitcoin > $10,000: 70%
  18. Price of Bitcoin < $30,000: 60%
  19. Price of Bitcoin < $100,000: 70%
  20. Lightning Network available (I can complete a transaction on LN): 80%
  21. Drivechain development “complete”: 70%
  22. Drivechain opcodes not soft-forked into Bitcoin: 70%
  23. No drivechains soft-forked into existence: 95%
  24. US government does not make Bitcoin ownership or exchange illegal: 90%
  25. Self-driving cars will not be available this year for general purchase: 95%
  26. Self-driving cars will not be available this year to purchase / legally operate for < $100k: 99%
  27. I will not be able to buy trips on self-driving cars from Uber/Lyft in a location I am living: 95%
  28. I will not be able to buy a trip on a self-driving car from Uber/Lyft without a backup employee in the car anywhere in the US: 90%
  29. Humans will not be in lunar orbit in 2018: 95%
  30. SpaceX Falcon Heavy rocket will attempt to launch this year (can fail on launch): 95%
  31. SpaceX will bring humans to low earth orbit: 70%
  32. No SpaceX rockets explode without launching their payload to orbit: 60%
  33. Mexican government does not pay for wall: 99%
  34. Border wall construction not complete by end of 2018: 99%
  35. Some increased spending on immigration through expanding CBP, ICE, or the border fence: 80%
  36. No full year US government budget will be passed (only several months spending): 90%
  37. US National Debt to increase by more than 2017 increase (~$500B): 70%
  38. Increase in spending or action on Drug War (e.g. raiding marijuana dispensaries, increased spending on DEA, etc): 70%
  39. Some tariffs raised: 90%
  40. The US will not significantly change its relationship to NAFTA: 70%
  41. Federal government institutes some interference with state level legal marijuana: 70%
  42. Trump administration does not file a lawsuit against any news organization for defamation: 90%
  43. Mexican government does not pay for wall 99%
  44. Trump not removed from office (also no Trump resignation): 95%
  45. Democrats do not win control of Senate: 60%
  46. Democrats win control of House: 60%

Sports

  1. Miami Heat make playoffs: 80%
  2. Miami Heat do not make it second round of playoffs: 80%
  3. Duke basketball wins 1 game or more against UNC: 90%
  4. Duke basketball makes it to Round of 32 in NCAA Tournament: 90%
  5. Duke basketball does not make Final Four: 80%
  6. Duke basketball does not win NCAA tournament: 95%
  7. Warriors or Cavs will win the NBA title: 60%
  8. Steph Curry will be highest paid NBA player during 2017-18 season: 60%

Personal

  1. Employed in current job:  90%
  2. I will vote this year in the general election: 80%
  3. I will have authored > 12 more blog posts (not just on this blog) by June 30, 2018: 90%
  4. I will have authored > 25 more blog posts (not just on this blog) by December 31, 2018: 80%
  5. I will have read 6 additional books this year: 80%
  6. These predictions are under-confident: 70%
blade runner 2049

Blader Runner 2049

I’ve enjoyed seeing plenty of movies this year, but none have really exceeded expectations or left me in amazement like Blade Runner 2049 did. Not everyone will love this film, as demonstrated by the man sitting next to me who heavily sighed every few minutes. It was quite long and not nearly as action heavy as the trailer make it out to be. Nonetheless, I wouldn’t regard these as flaws of the movie, and indeed I have very little to criticize.

Firstly, the cinematography is unbelievable. I saw this movie in IMAX, and the stunning frames were just breathtaking. I liked the aura created by the world of the original Blade Runner, but the visuals of the sequel make it feel almost cheap. The expansion of scenery outside of the rainy, dirty Los Angeles from the first movie is welcome. And yet the production design keeps that constant feeling of darkness and dilapidation omnipresent.  The visual effects were also pretty incredible. Without going into spoilers, there’s a scene where two different actors’ faces are digitally layered on top of each other, and I could not believe how well the effect worked.

The sound. Wow. I had Hans Zimmer’s soundtrack on repeat for a week after watching 2049. I assume a loud and bold musical score is either expensive or difficult, because more mediocre movies seem content with letting the the music stay in the background. When you really notice how incredible a movie score is, that appears to be a symptom of an excellent musical effort. This one was jarring, suspenseful, and made every scene in the film seem huge.

The acting, the direction, the production of this film is pretty much spot on. Denis Villeneuve has done an incredible technical job (again). His skill set clearly adopts well to telling these beautiful, yet off-putting dives into humanity, and I’m excited to see his future work. I also want to talk about the characters and story, although I don’t want to get into spoilers yet. The original Blade Runner was a story about what it means to be human. 2005’s I, Robot had a similar theme although it was a tad bit more in-your-face about it. Blade Runner was more subtle, and when you watch it, it was striking how cruel some of the humans were, while how caring/affectionate/alive the replicants were. 2049 continues to delve into this question, and I think does an even better job than the first movie. If you like Sci-Fi that asks questions about humanity, this film is a must-see.

From here on I will be going into plot points that were not revealed in the trailers, so if you haven’t seen this movie, I would highly recommend it: A+, 5/5, etc. You should watch it. If you have already seen it…

K, the protagonist and blade runner (played by Ryan Gosling), as noted in the very beginning of the film, is a replicant. Much of the story revolves around who he is and to what extent he is human. It’s absolutely fascinating to watch. There seem to be few physical characteristics that distinguish replicants from humans. K, as one of the newer replicants made by the Wallace Corporation, was constructed specifically to avoid having the obedience problems of the old Nexus models. Yet, of course, his decisions are the fundamental decisions of the film. Certainly he appears to be stronger than regular humans, but otherwise, he has emotions, he has desires, he is even given implanted memories just like the replicants of the original movie.

K is forced to do some pretty terrible things by his human superiors, and most humans he encounters in the film are pretty unexcited to see any replicants. Yet K himself seems to express desires to be human.  He has a holographic AI girlfriend at home. At one point he embraces the fairly human “chosen one” trope, and it affects him so much he is essentially branded a criminal.

The relationship with Joi, his holographic AI, is interesting. K’s feelings for her are real, and it seems that we have to trust that her emotions are real as well. Yet, it’s also clear that many of Joi’s actions were programmed (her calling him “Joe” specifically is also done by an advertisement). Does this make her less real? Humans, after all, have biological programming in DNA. As Joi points out, using 0s and 1s instead of nucleobases doesn’t seem like it should de-legitimatize life. And, of course, if AI counts as “real” life, then what meaningful moral distinctions can be made between replicants and humans, who have even fewer differences?

Accepting replicants as people deserving of moral rights (a perspective which both Blade Runner films push the audience towards) also puts many character actions into question. K’s police superior orders him to kill a child to prevent a war. While her character protects K despite him being a replicant, the morality of her orders have to be questioned. She fears that if this child is found out, there will be a war between humans and replicants, a fear that is apparently well founded given the group K finds later in the film. Yet, there seem to be so few differences between replicants and humans, especially given the revelation of Rachael’s death early in the movie. Thus, the idea of a war or conflict between these two groups seems absurd, at least morally. Of course, if I’m sitting here wondering how humans and replicants could justify a conflict when they are so alike, then what does that say about conflict in our world?

I’m really excited when I get to see movies like this, which bring up interesting questions of humanity and society. Not every movie has to ask those questions of course, but when a movie wants to reach for those deep ideas, and then delivers with impressive technical film-making on top of that, it is a rare treat.

 

2017 Predictions

It’s fun to have opinions, and it’s easy to craft a narrative to fit your beliefs. But it’s especially dangerous to look back at events and place them retroactively into your model of the world. You can’t learn anything if you’re only ever looking for evidence that supports you.  However, if you try to use your model of the world to create testable predictions, those predictions can be proven right or wrong, and you can actually learn something. Incorrect predictions can help update our models.

This is, of course, the basis for the scientific method, and generally increasing our understanding of the world. Making predictions is also important for making us more humble; we don’t know everything and so putting our beliefs to the test requires us to reduce our certainty until we’ve researched a subject before making baseless claims.  Confidence levels are an important part of predictions, as they force us to think in the context of value and betting: a 90% confidence level means I would take a $100 bet that required me to put up anything less that $90. Moreover, it’s not just a good idea to make predictions to help increase your knowledge; people who have opinions but refuse to predict things with accompanying confidence levels, and therefore refuse to subject their theories to scrutiny and testability, must be classified as more fraudulent and intellectually dishonest.

First let’s take a look at how I did this past year, and see if my calibration levels were correct. Incorrect predictions are crossed out.

World Events

  1. Liberland will be recognized by <5 UN members: 99% (recognized by 0)
  2. Free State Project to reach goal of 20,000 people in 2016: 50% (occurred February 3rd)
  3. ISIS to still exist: 80%
  4. ISIS to kill < 100 Americans 2016: 80% (I think <100 were killed by any terrorists, fewer in combat)
  5. US will not get involved in any new major war with death toll of > 100 US soldiers: 80%
  6. No terrorist attack in the USA will kill > 100 people: 80% (50 did die in the Orlando shooting unfortunately)
  7. Donald Trump will not be Republican Nominee: 80% (whoops)
  8. Hillary Clinton to be Democratic nominee: 90%
  9. Republicans to hold Senate: 60%
  10. Republicans to hold House: 80%
  11. Republicans to win Presidential Election: 50% (I predicted in December, Nate Silver had Trump at 35% the day of, who’s a genius now??)
  12. I will vote for the Libertarian Presidential Candidate: 70% *
  13. S&P 500 level end of year < 2500: 70%
  14. Unemployment rate December 2016 < 6% : 70%
  15. WTI Crude Oil price < $50 : 80%
  16. Price of Bitcoin > $500:  60%
  17. Price of Bitcoin < $1000: 80%
  18. Sentient General AI will not be created this year: 99%
  19. Self-driving cars will not be available this year to purchase / legally operate for < $100k: 99%
  20. I will not be able to rent trips on self-driving cars from Uber/ Lyft: 90% **
  21. Humans will not land on moon by end of 2016: 95%
  22. Edward Snowden will not be pardoned by end of Obama Administration: 80% *

Personal

  1. Employed in current job:  90%
  2. I will have less than 300 Twitter followers: 60%
  3. I will have authored > 12 more blog posts by June 30, 2016:  50% *
  4. michaelelgart.com to have >4,000 page loads 2016: 50%
  5. These predictions are underconfident: 70%

Sports

  1. Miami Heat make playoffs 2016:  80%
  2. Miami Heat will not make Eastern Conference Finals:  90%
  3. Duke basketball wins 1 game or more against UNC: 60%
  4. Duke basketball makes it to Round of 32 in NCAA Tournament: 70%
  5. Duke basketball does not make Final Four: 90%
  6. USA wins Olympic gold medal in basketball: 70%
  7. Kevin Durant will not be highest paid NBA player during 2016-17 season: 70%

*I didn’t personally vote for the libertarian candidate, but I did trade my vote, resulting in Gary Johnson getting two votes more than he would have had I not voted at all. I’m counting this as at least a vote for Johnson.

**Technically, I am not particularly able to get a ride on a self-driving Uber because I don’t live in Pittsburgh, but I don’t think that’s what I meant. I also didn’t expect any self-driving Uber rides to be available anywhere, so I’m counting it against me.

*Obama still has a few weeks to pardon Snowden, but it’s not looking good

**Most of the blog posts were not on this blog.

So let’s take a look at how I did by category:

  • Of items I marked as 50% confident, 2 were right and 1 was wrong.
  • Of items I marked as 60% confident, 4 were right and 0 were wrong.
  • Of items I marked as 70% confident, 7 were right and 0 were wrong.
  • Of items I marked as 80% confident, 8 were right and 2 were wrong.
  • Of items I marked as 90% confident, 4 were right and 1 was wrong.
  • Of items I marked as 95% confident, 1 was right and 0 were wrong.
  • Of items I marked as 99% confident, 3 were right and 0 were wrong.

 

2016-predictions-personal

You’re supposed to be as close to the perfect calibration line as possible. The big problems are the 60% and 70% predictions all coming true. The chance of all 60% predictions coming true assuming they actually had a 60% chance of happening is 13%. The chance of all 70% predictions coming true was 8%. These seem unlikely, so I need to work on finding more uncertain things to predict or upping my confidence in some of my predictions.

Predictions for 2017:

World Events

  1. Trump Approval Rating end of June <50% (Reuters or Gallup): 60%
  2. Trump Approval Rating end of year <50% (Reuters or Gallup): 80%
  3. Trump Approval Rating end of year <45% (Reuters or Gallup): 60%
  4. Trump 2017 Average Approval Rating (Gallup) <50%: 70%
  5. ISIS to still exist as a fighting force in Palmyra, Mosul, or Al-Raqqah: 60%
  6. ISIS to kill < 100 Americans: 80%
  7. US will not get involved in any new major war with death toll of > 100 US soldiers: 60%
  8. No terrorist attack in the USA will kill > 100 people: 90%
  9. France will not vote to leave to the EU: 80%
  10. The UK will trigger Article 50 this year: 70%
  11. The UK will not fully leave the EU this year: 99%
  12. No country will leave the Euro (adopt another currency as their national currency): 80%
  13. S&P 500 2016 >10% growth: 60%
  14. S&P 500 will be between 2000 and 2850: 80% (80% confidence interval)
  15. Unemployment rate December 2017 < 6% : 70%
  16. WTI Crude Oil price > $60 : 70%
  17. Price of Bitcoin > $750: 60%
  18. Price of Bitcoin < $1000: 50%
  19. Price of Bitcoin < $2000: 80%
  20. There will not be another cryptocurrency with market cap above $1B: 80%
  21. There will not be another cryptocurrency with market cap above $500M: 50%
  22. Sentient General AI will not be created this year: 99%
  23. Self-driving cars will not be available this year for general purchase: 90%
  24. Self-driving cars will not be available this year to purchase / legally operate for < $100k: 99%
  25. I will not be able to buy trips on self-driving cars from Uber/Lyft in a location I am living: 80%
  26. I will not be able to buy a trip on a self-driving car from Uber/Lyft without a backup employee in the car anywhere in the US: 90%
  27. Humans will not land on moon by end of 2017: 95%
  28. SpaceX will bring humans to low earth orbit: 50%
  29. SpaceX successfully launches a reused rocket: 60%
  30. No SpaceX rockets explode without launching their payload to orbit: 60%
  31. Actual wall on Mexican border not built: 99%
  32. Some increased spending on immigration through expanding CBP, ICE, or the border fence: 80%
  33. Corporate Tax Rate will be cut to 20% or below: 50%
  34. Obamacare (at least mandate, community pricing, pre-existing conditions) not reversed: 80%
  35. Budget deficit will increase: 90%
  36. Increase in spending or action on Drug War (e.g. raiding marijuana dispensaries, increased spending on DEA, etc): 70%
  37. Some tariffs raised: 90%
  38. The US will not significantly change its relationship to NAFTA: 60%
  39. Federal government institutes some interference with state level legal marijuana: 60%
  40. At least one instance where the executive branch violates a citable civil liberties court case: 70%
  41. Trump administration does not file a lawsuit against any news organization for defamation: 60%
  42. Trump not impeached (also no Trump resignation): 95%

Sports

  1. Miami Heat do not make playoffs:  95%
  2. Miami Heat get top 6 draft pick: 60%
  3. Duke basketball wins 1 game or more against UNC: 80%
  4. Duke basketball makes it to Round of 32 in NCAA Tournament: 90%
  5. Duke basketball makes Final Four: 50%
  6. Duke basketball does not win NCAA tournament: 80%
  7. Warriors or Cavs will win the NBA title: 60%
  8. Lebron James will not be highest paid NBA player during 2017-18 season: 70%

Personal

  1. Employed in current job:  90%
  2. I will have less than 300 Twitter followers: 60%
  3. I will change my registered party from Republican to Libertarian: 70%
  4. I will have authored > 14 more blog posts (not just on this blog) by June 30, 2017: 90%
  5. I will have authored > 30 more blog posts (not just on this blog) by December 31, 2017: 80%
  6. michaelelgart.com to have >3,000 page loads 2017: 70%
  7. These predictions are under-confident: 70%

Python Partition Calculator

I had been looking to do a little bit more hobby-coding, and I came across this simple math problem which can be solved with a cool recursive Python script.

A partition is a concept in number theory where a positive integer is written as a sum. For example, the only partition of 1 is (1). 2 has (2) and (1+1). 3 has (1+2), (1+1+1), and (3), and so on. Because it’s a sum, order is not important.

The problem of figuring out partitions is not difficult, but it is time-consuming and repetitive once you go beyond calculating all partitions for 4 or 5. Something that makes it a good candidate for automation. It also can be done with some recursion.

The first thing that needs to be done is a recursive call to calculate all the combinations of numbers that would form a partition. I’m going to return a list of lists, where each sublist is a partition. The obvious part to take care of first is the base case:

#returns a list of lists. Each sublist sums to the partition_goal 
def recursive_partition(partition_goal):
    return_list =[]
    if partition_goal==1:
        return_list.append([1])

Next, let’s take a look at when the partition_goal is some number larger than one. The first thing we’d need is to add a list consisting of just that number:

#returns a list of lists. Each sublist sums to the partition_goal 
def recursive_partition(partition_goal):
    return_list =[]
    if partition_goal==1:
        return_list.append([1])
    else:
        return_list.append([partition_goal])

Now we need to loop over all the cases where the lists are more complicated. Let’s take 3, because it’s pretty simple. Once we’ve added the single item list [3] in the step above, we need to add the integer 1 to all lists that add up to 3 – 1, the integer 2 to all lists that add up to 3 – 2 and so on.

#returns a list of lists. Each sublist sums to the partition_goal 
def recursive_partition(partition_goal):
    return_list =[]
    if partition_goal==1:
        return_list.append([1])
    else:
        return_list.append([partition_goal])
        for i in range(1,partition_goal):
            for j in recursive_partition(partition_goal - i):
                j.append(i)
                return_list.append(j)
    return return_list

So for each of the numbers in the i range, we are adding that number to every list we can create recursively (j) where that list sums to partition_goal – i. Lastly, we need to call our recursive method, and then remove all the sublists which are identical when unordered ([1,1,2] and [1,2,1] are just one partition of 4). We do this using the Counter module.

#returns a list of lists. Each sublist sums to the partition_goal 
def recursive_partition(partition_goal):
    return_list =[]
    if partition_goal==1:
        return_list.append([1])
    else:
        return_list.append([partition_goal])
        for i in range(1,partition_goal):
            for j in recursive_partition(partition_goal - i):
                j.append(i)
                return_list.append(j)
    return return_list

list_of_lists = recursive_partition(n)

counted = Counter(tuple(sorted(entry)) for entry in list_of_lists)

print(list(counted.keys()))

The variable counted actually gets a dictionary Python object, so I turned it into a list in the print statement. The keys of a Counter are tuples, so the end result is a list of tuples where every tuple is a partition. Lastly let’s make some interface changes so we can take command line arguments or ask the user for input.

from collections import Counter
import sys

n = 1
# partition goal
if len(sys.argv) > 1:
    n = sys.argv[1]
else:
    n = int(input("What number do you want the partitions for?"))

#returns a list of lists. Each sublist sums to the partition_goal 
def recursive_partition(partition_goal):
    return_list =[]
    if partition_goal==1:
        return_list.append([1])
    else:
        return_list.append([partition_goal])
        for i in range(1,partition_goal):
            for j in recursive_partition(partition_goal - i):
                j.append(i)
                return_list.append(j)
    return return_list

list_of_lists = recursive_partition(n)

counted = Counter(tuple(sorted(entry)) for entry in list_of_lists)

print(list(counted.keys()))

And remember this is Python 3 notation. You can find this little project on Github here.

overwatch-ed

Overwatch

If you’ve been wondering where all my political blogging that I did last year has gone, I’ve transferred it over to a new blog to better separate personal stuff from political things.  I’m not linking it as to make it slightly harder for random prospective employers from the far future to find it. If you don’t know what my new blog is, just tweet at me or message me privately.

I enjoy videogames, but I often don’t have enough time to really indulge in them. I’ve had great experiences with past Blizzard games, and so when Overwatch came out in May, I decided to get it.

Not only do I not usually play video games, but I also don’t tend to play games when they first come out. I also like to stick to single-player, story-driven games (Portal, Arkham Asylum, Skyrim) and sometimes strategy games (Total War series, Civ V) or both (XCOM). And, of course, I tend to play these on a long delay, waiting for Steam sales to reduce the financial burden of my infrequent hobby. But in this case I decided to go for a multi-player game soon after it had come out.  Many have rightly stated that Overwatch is a Team Fortress 2 rip-off. Of course, I think people are far too protective of intellectual property anyway, and good rip-offs can be even better than the originals. Blizzard took the excellent gameplay ideas in Team Fortress 2, inserted their art and character backgrounds from their failed MMO Titan, and then created an amazingly fun and deep multi-player shooter.

Competitive role-based multi-player gaming is pretty fun. Trying to beat puzzles crafted by game designers is great too, but there’s something you can’t reproduce without battling against other people and their strategies. I always enjoyed player-vs-player parts of WoW, but part of it always came down to players who sank more time into the game got better weapons. This isn’t the case in Overwatch. Of course, this isn’t a new game genre either, but the creativity of what you can do and the absolute chaos you can fall into so easily is incredible. It’s just pure fun.

Blizzard also just did an incredible job with all the details apart from gameplay: the world is engaging and beautifully detailed, the game isn’t buggy at all, the point system is well crafted, the matching algorithms work quickly and efficiently, and the community dialogue has been amazingly transparent.  I don’t know what the game is like as a power player who wants to play competitively for dozens of hours a week, but I know for what I want as a casual gamer who will only sink a few hours into it a week, this game is essentially perfect. It’s also very easy to get into, and Blizzard has already started releasing additional content with no extra cost. If you haven’t played this game and were thinking about it, I can fully recommend it.

But this video game has also coincided with a renewal of board game popularity, not just in my life but in the entire market. This is somewhat surprising given the already mature market for games on computers, consoles, and mobile devices. Nonetheless here we are in the midst of a board game revolution. Somehow in the past year I’ve found myself playing Catan, Codenames, Escape: The Curse of the Temple, One Night Ultimate Werewolf, Avalon, and more. I’ve undoubtedly played more board games this year than any other year I’ve been alive. And I even dabbled in Go a bit this year as AlphaGo made headlines. I suspect this renewed interest in applied game theory in a fun setting contributed to me buying Overwatch.

Unlike other multi-player video games which might rely on grinding to give players an edge, these board games rely exclusively on luck and skill; time devoted doesn’t factor in besides how long it takes you to learn. To me it makes these games a fundamentally higher brain exercise than something like WoW or Skyrim could ever be.  For me personally, this is a pretty exciting way to see gaming go mainstream (In a related vein, I’ve really enjoyed Crash Course’s new Games series with Andre Meadows).

When you put games on this axis of simple tactics to complex strategies, it also becomes clear why so many people want to watch games like Counterstrike, League of Legends, Rocket League, or Overwatch rather than games like WoW, Minecraft, or Grand Theft Auto; games that require more learned skill, innate talent, and strategy are far more interesting to watch that games that rely on grinding. And if you move further along the axis towards complexity and strategy, you’ll start to run into competitive physical sports like basketball and soccer. Obviously strategy and complexity aren’t sufficient make games universally popular (cricket is fairly complex but isn’t very popular in America, american football has similar popularity issues in the rest of the world), but they are necessary. EconTalk had a great discussion this week regarding the development of sports into entertainment; 50 years ago the major sports of today were nothing like we know them. They have developed into much improved products, and it wasn’t just TV exposure; the sports are measurably better in every way. Rules, nutrition, training, professionalism, advertising, etc have all improved drastically. There’s no reason to think games beyond the physical won’t see similar growth over the next 50 years.

It’s also worth pressing that this gaming revolution is a sign that Things Are Pretty Much Ok (TM). Despite what you may be hearing, violence and terrorism is trending downwards, fewer people are living below $1 a day than ever before, and apparently despite the ongoing technological isolation of our society, social board games where people play face-to-face are doing better than they’ve ever done. Seriously, if we agree that developed countries have mostly solved lifting everyone above subsistence existence, we get to philosophical questions of human existence beyond survival. What should people be doing, what activities should they engage in? Enjoying social gatherings with strategic brain games, seems like a wonderful way to spend that time, and I think could provide a proxy for a type of win condition for economic policy.  The future of games isn’t just fun, it should be a major part of our culture for many years to come.

Duke's National Championship team went to the White House this year. Carolina couldn't make it. Public Domain Image.

Duke-Carolina Rivalry: Keeping Score

Tonight is the first of at least two meetings between Duke and UNC’s men’s basketball teams this year. I predicted Duke had a 60% chance to win at least one of these games, given the consensus that Carolina fields a better team this year. I think that’s still a bit of an underestimate, as that equates to Carolina having a 63% chance to win each game, which seems a bit high, given how competitive these games usually are.  Moreover, against common opponents this year, Duke is 7-3 to UNC’s 8-2.  Carolina certainly has the advantage at home tonight (and with only 6 Duke players playing more than 5 minutes), though it’s unlikely to be a blowout.

Let’s talk about the rivalry. Duke and Carolina have played 240 men’s basketball games against each other, with UNC currently winning the series 133-107.  But I contend this fact is not relevant because more distant sports results tend to fade from memory and importance over time.  It’s the most recent outcomes that everyone talks about…

2015 ncaa national championship

Duke's National Championship team went to the White House this year. Carolina couldn't make it. Public Domain Image.

Duke’s National Championship team went to the White House this year. Carolina couldn’t make it. Public Domain Image.

And last year, guess who not only won a national championship, but who also swept their rivals? The Blue Devils. Of course, dominance in the last year can’t define an entire rivalry, so let’s look at the last couple years. Since 2014, who has done better? Duke is up 3-1.  But what if what really matters is the last 3, 4, or 5 years? Duke 5-1, 6-2, 8-3. In fact, we can keep this trend going:

last <Y> years last <x> games Dating Back To Duke record
1  2 2015  2-0
2  4  2014  3-1
3  6  2013  5-1
4  8  2012  6-2
5  11  2011  8-3
6  13  2010  10-3
7  15  2009  10-5
8  17  2008  11-6
9  19  2007  11-8
10  21  2006  12-9
12  25  2004  15-10
14  31  2002  20-11
16  36  2000  24-12
18  42  1998  28-14
20  46  1996  29-17
25  58  1991  34-24
30  60  1986  39-31
35  71  1981  42-39
38  82  1978  47-45
39  85  1977  47-48

Duke has a winning record against Carolina over the last X years, where X is any number of years you’d care about.

Since UNC’s Class of 2019 was born, UNC is about 14-28 against Duke. Since their seniors were born, UNC is 21-29 against Duke. Their lives have been defined by an era of Blue Devil Dominance (for the first few years of current seniors’ lives, UNC did have a winning record against Duke, which means, as far as this rivalry in concerned, their glory days were during preschool, something they share with many other Tar Heels).

You might hear a stat on ESPN tonight that “dating back to 1977, this rivalry is tied!” That’s because you literally have to go back to 1977 to get a tie in the rivalry, Duke has been so dominant recently. But hey, if you count all the games going back to the Ford administration, the Tar Heels are right there with them!

So when Carolina fans brag about how their team is better for having gone undefeated in 1957, an era where lasers and zip codes hadn’t yet been invented, or having won 6 national titles to Duke’s 5 since they count that ultra-competitive 1924 season which was only retroactively declared a championship 20 years later, let them have this. They’ve been getting crushed by Duke for the last 38 years, it’s only fair.

GTHC.

2016 Predictions

How confident should we be? People tend to be overconfident.  One way to figure out if our confidence levels are correct is to test our calibration levels by making predictions and seeing how many of them pan out. Inspired by Slate Star Codex’s predictions, here are my predictions and accompanying confidence levels. For the sake of convenience I will choose from confidence levels of 50%, 60%, 70%, 80%, 90%, 95% or 99%. All predictions are by December 31, 2016 unless noted otherwise.

World Events

  1. Liberland will be recognized by <5 UN members: 99%
  2. Free State Project to reach goal of 20,000 people in 2016: 50%
  3. ISIS to still exist: 80%
  4. ISIS to kill < 100 Americans 2016: 80%
  5. US will not get involved in any new major war with death toll of > 100 US soldiers: 80%
  6. No terrorist attack in the USA will kill > 100 people: 80%
  7. Donald Trump will not be Republican Nominee: 80%
  8. Hillary Clinton to be Democratic nominee: 90%
  9. Republicans to hold Senate: 60%
  10. Republicans to hold House: 80%
  11. Republicans to win Presidential Election: 50%
  12. I will vote for the Libertarian Presidential Candidate: 70%
  13. S&P 500 level end of year < 2500: 70%
  14. Unemployment rate December 2016 < 6% : 70%
  15. WTI Crude Oil price < $50 : 80%
  16. Price of Bitcoin > $500:  60%
  17. Price of Bitcoin < $1000: 80%
  18. Sentient General AI will not be created this year: 99%
  19. Self-driving cars will not be available this year to purchase / legally operate for < $100k: 99%
  20. I will not be able to rent trips on self-driving cars from Uber/ Lyft: 90%
  21. Humans will not land on moon by end of 2016: 95%
  22. Edward Snowden will not be pardoned by end of Obama Administration: 80%

Personal

  1. Employed in current job:  90%
  2. I will have less than 300 Twitter followers: 60%
  3. I will have authored > 12 more blog posts by June 30, 2016:  50%
  4. michaelelgart.com to have >4,000 page loads 2016: 50%
  5. These predictions are underconfident: 70%

Sports

  1. Miami Heat make playoffs 2016:  80%
  2. Miami Heat will not make Eastern Conference Finals:  90%
  3. Duke basketball wins 1 game or more against UNC: 60%
  4. Duke basketball makes it to Round of 32 in NCAA Tournament: 70%
  5. Duke basketball does not make Final Four: 90%
  6. USA wins Olympic gold medal in basketball: 70%
  7. Kevin Durant will not be highest paid NBA player during 2016-17 season: 70%

Is Creative Culture Stagnating?

Spoiler warning for the new Star Wars movie.

I’ve read a few interesting pieces critical of The Force Awakens: Peter Suderman at Vox says TFA is a prime example of Hollywood’s nostalgia problem, there’s also a “nostalgia debate” around TFA at The Atlantic, and Ross Douthat at the NYT says TFA is a symptom of the decadence and cultural stagnation of our society.

I wondered if these people were having a romantic view of the past; has Hollywood just now started doing more sequels or have they always done so? I decided to take a look at the highest grossing movies from 1975-85 (when the original Star Wars trilogy came out) and compare it to the last 5 years. But it quickly became more complicated than I thought it would be; are sequels better or worse than remakes? Are movies based on books bad? Are movies based on comic book characters worse than movies based on books?  What about sequels of remakes of movies based on comic book characters?!  That sounds like the worst category, but it would include The Dark Knight, one of the best action blockbusters of the lack decade. Continue reading

Choosing Sides: College Football Edition

Building off of some of my reasoning in my NBA Finals post, I realized I needed a better system for deciding which teams to cheer for in college football. There are 128 college football teams in NCAA Division I Football Bowl Subdivision (known as FBS), and since each team only plays about 12 games a year, most teams do not play each other. Consequently, if you cheer for only one team, you end up only watching a small fraction of the available games, and you’ll never see most good teams play.  But since I like football and, as noted in the NBA Finals post, sports are much more fun when you have a narrative, I’ve decided to properly develop a system to dictate who I will cheer for in different games. This is especially useful with the upcoming conference championships today as well as the many bowl games later in the month.

The system is a pretty straightforward hierarchy, but since I don’t have strong enough feelings on all 128 FBS teams (or even most in the Power 5 conferences), I’ve divided the teams into 3 groups:

  • Group A is a ranked hierarchy of teams I will cheer for against all other teams, except those that are higher in Group A
  • Group Omega is a ranked hierarchy of all the teams I will always cheer against, except those that are higher in Group Omega.  You’ll notice it is larger than group A.
  • Group Meh is all the teams I don’t have strong feelings about. I will cheer against them when they play Group A, and for them when they play Group Omega. I won’t care when they play each other.

Continue reading