The MVP Machine: How Baseball’s New Nonconformists Are Using Data to Build Better Players review

The MVP Machine: How Baseball's New Nonconformists Are Using Data to Build Better Players

The MVP Machine: How Baseball’s New Nonconformists Are Using Data to Build Better Players by Ben Lindbergh

My rating: 3 of 5 stars


This was a pretty interesting book about the data revolution in baseball. One of the main people it follows is Trevor Bauer, who as an Astros fan (and non-crazy person) I guess I’m obliged to dislike? But the stuff he’s done has been pretty interesting.

Honestly I should have liked this book more than I did – it covers a wide range of topics and it’s pretty well written – but I struggled to get through it. Maybe I’m getting tired of baseball books? But if you’re at all interested in modern baseball I’d recommend it.


View all my reviews

baseball win expectancy finder now has balls and strikes!

Here it is!

This wasn’t too much work, and like I mentioned last time it was nice to work on adding a new feature to something. Although I guess I did recreate the app’s shell with create-react-app, I didn’t port it to TypeScript 🙂

One annoying part is that there’s just not that much data so you can pretty easily get into situations where the stats are probably “wrong”. For example, in the top of the 8th inning, no outs or runners, home team up by 2, and a 2-0 count the home team has an 87.08% chance to win. But if the batter gets another ball to make the count 3-0 (good for the visiting team), now the home team has an 88.11% chance to win. I guess I should add a warning when the sample size gets too small or something. (although I don’t know what “too small” is)

I was a little worried that adding balls and strikes would bloat the size of the data files, which did happen. The worst-case is that it would increase the file size by 12x (4 choices for balls * 3 for strikes), but in practice it’s more like 9x. But it turns out that computers are fast so doing the lookups is only barely slower than before.

My original plan was to add the balls and strikes data to the mobile app (and make it an in-app purchase to unlock), but the increase in data size and corresponding memory usage make me less excited about it. Maybe at some point…

This whole Alabama hurricane map thing, sigh

In case you missed it, here’s an NPR article: Trump Displays Altered Map Of Hurricane Dorian’s Path To Include Alabama.

This whole thing is kinda similar to the inauguration crowd size thing from 2017 (which feels like a lifetime ago!), in that the original issue is utterly insignificant. Trump accidentally included Alabama in the list of 7ish states that would be affected by Dorian, but by that time it had already started to turn north so forecasters weren’t saying that anymore. Who cares?

But the total inability for Trump to ever admit he was wrong about anything, no matter how trivial, is such a terrible character trait, especially in a President. It’s not clear whether Trump drew the line on the map himself, or whether he told someone to, or (less likely?) some aide took it upon himself/herself to draw it to make Trump happy. None of these are good options!

The world is a complicated place, and everyone is wrong sometimes. Refusing to admit that just makes yourself look more foolish than the original error.

Marriage map now in React + TypeScript!

I ported my same-sex marriage map in React + TypeScript! It now uses the usStateMap component I wrote a while ago.

This was interesting because the original map was just vanilla JavaScript and jQuery, so the “port” was really more of a rewrite. It also meant I got to get rid of a ton of logic around state management and also some pretty hacky code around drawing the map itself.

I went ahead and published the code on GitHub (it was public before but in a less convenient way), too, mostly so the usStateMap component now shows that two projects use it 🙂

I ended up leaving out a few features because they didn’t make a ton of sense (flashing map colors, pending court cases), and I also decided to make the cartogram view the default because it’s a more accurate representation of the number of people that were under particular laws at a particular time.

Honestly, porting all of these projects to React + TypeScript is starting to feel tedious, so I’m going to take a break and start working on some new features for some stuff. Should be fun!

(and it still gives me a bit of a thrill to load the page and see an all-blue map!)

linked list friday: lots of Amazon products are unsafe, Mayor Pete and religion, Google’s excuses on tracking protection

  • Amazon Has Ceded Control of Its Site. The Result: Thousands of Banned, Unsafe or Mislabeled Products – This is a pretty damning article. (and good investigative journalism by the Wall Street Journal!) Having shopped on Amazon, it is really not obvious that a lot of their products are from third-party sellers. It makes me happy that we’ve been trying to avoid Amazon when we can. Also, this is really bad:
    At one point in 2013, some Amazon employees began scanning randomly selected third-party products in Amazon warehouses for lead content, say people familiar with the tests. Around 10% of the products tested failed, one says. The failed products were purged, but higher-level employees decided not to expand the testing, fearing it would be unmanageable if applied to the entire marketplace, the people familiar with the tests say. Amazon declined to comment on the episode.
    I would have really liked to see the results for Target and Walmart’s websites, but it sounds like they keep a much tighter rein on things.
  • How Pete Buttigieg found God – good article, and I’m happy to see Democrats not shying away from religion. We gay Episcopal Democrats exist, you know!
  • Deconstructing Google’s excuses on tracking protection – I’m glad to see tracking protection taking off. And this is another good reason to switch from Chrome to Firefox! (or Safari, I guess…)
  • The Man Who Couldn’t Take It Anymore – a look at General James Mattis (former Secretary of Defense), who sounds like a pretty stand-up guy. Hopefully he’ll tell the world what he thinks of Trump before the 2020 election. This is a nice thing he told some soldiers in 2017: “Our country right now, it’s got problems we don’t have in the military. You just hold the line until our country gets back to understanding and respecting each other and showing it.”
  • Many Genes Influence Same-Sex Sexuality, Not a Single ‘Gay Gene’ – not a surprise that something like human sexuality is complicated!
  • Those Hurricane Maps Don’t Mean What You Think They Mean – helpful guide for “reading” hurricane maps

Beyond Behaviors: Using Brain Science and Compassion to Understand and Solve Children’s Behavioral Challenges review

Beyond Behaviors: Using Brain Science and Compassion to Understand and Solve Children's Behavioral Challenges

Beyond Behaviors: Using Brain Science and Compassion to Understand and Solve Children’s Behavioral Challenges by Mona Delahooke

My rating: 3 of 5 stars


The main idea of this book is that when kids are having behavioral issues, adults tend to see them as “top-down” where the child is choosing to misbehave for some reason. But often, what’s happening is “bottom-up”: the child has something deeper going on and it comes out via misbehavior, and to really fix the bad behavior you need to address the underlying problem. Just trying to give stickers for good behavior and punishing bad behavior isn’t going to help anything! (this is also not a huge surprise given the rewards book)

He uses a color shorthand to categorize a child’s state of arousal: green means the child feels safe and connected and able to learn; red means the child is like the “fight” in “fight or flight”, often with a rapid heartbeat, sweating, etc.; blue means the child feels in extreme danger and may have a slow heart rate and breathing rate.

There’s a lot of useful stuff if you have a child with a problem – since I was reading it just for information it was a bit tedious to get through. I think the main takeaway is that kids (especially young ones) just don’t have much control over their emotions and actions, and you have to help them by making them feel safe instead of expecting them to be able to do something they just can’t. Which is valuable!


View all my reviews