• Fun With Pickles: A Pickle Quine

    Pickle is Python’s all-purpose serialization format. Most Python objects can be serialized and deserialized automatically. It’s a very convenient, albeit fragile and insecure way to store data, such as when caching.
  • Go Reflection in 10 Minutes

    This is a quick explanation of the reflect package in Go, originally written for some of my coworkers, because I find the official introduction a bit convoluted. This post assumes that you already know the basics of Go, including the usage of interface{}, and understand why you might want reflection. And a reminder: anything you can do without reflect is probably better done that way; and anything you can’t might be better not done at all.
  • Advent of Code in 25 Languages

    This year, I did Advent of Code’s 25 daily Christmas-themed programming puzzles, in a different language every day. It was a lot of fun! You can see my solutions on GitHub, or read on for (less spoilerful) thoughts on the languages I used.
  • How I Teach Gerrymandering, v2

    I wrote last year about how I’ve taught gerrymandering to students at Splash, and why. It’s been a year, I’ve made a number of updates to the class, and gerrymandering is back in the news, so it seems time for some updates. Below, find the changes I’ve made, editable versions of the maps to use yourself, and what’s next. Most of this will make more sense if you’ve read my previous post.
  • The Federalist Papers

    So I read the Federalist Papers.1
    1. This all started from some iteration of listening to the Hamilton soundtrack. 
  • What Did I Learn as an Undergrad?

    At some point around graduation last year, a friend asked me what I had learned in the past four years. I don’t remember what I said at the time, other than that it was surely haphazard and incomplete, but the question kept kicking around in my head. So, a whole year later, as it turns out, here is a perhaps fuller, if necessarily still incomplete, answer to that question.
  • The polar plot of sine

    A couple weeks ago a friend asked for intuition as to why the (polar) graph of \(r = \sin\theta\) is a circle. It’s a fairly easy fact to prove algebraically, but neither he nor I had any intuition as to why it should be true, nor did the internet come to our aid. I thought about it for a bit and came up with an explanation, and since I couldn’t find it anywhere online I’m posting it here in case it’s of interest to anyone else.
  • How I Teach Gerrymandering

    Cross-posting from the brand-new MIT ESP teacher blog: I wrote a post about how I teach gerrymandering. It of course starts with the famous cartoon.
  • My Feeds

    A couple people have asked me for this, so here’s a list of all the RSS/Atom feeds I follow. It’s autogenerated from Feedly, with some manual removal of dead things. If you want to import the whole assembly into your RSS reader (which I don’t recommend), you can grab the list in OMPL format.
  • Physics is addicting

    Something half-baked that I’ve been thinking about lately: I think physics is addicting. In particular, I think learning physics is addicting in a way that math tends not to be.
  • Five Minutes of Make

    If you’ve ever compiled a large software project, you’ve probably used make. If you’re like me, you probably think that make is some arcane tool that only fifty-year-olds with giant beards know how to use. This summer, I learned I was totally wrong, and make is actually really simple and really useful. I’m still not an expert, but all of the tutorials I could find online would have taken me five hours, and I think knowing five minutes1 of make now is way more useful than knowing five hours of make “someday”.
    1. I originally taught the above in exactly five minutes (enforced by boffer swords and pool noodles) for MIT ESP’s Firestorm, where we teach 5-minute classes on all manner of topics to MIT freshmen. 
  • My summer at Khan Academy, part 1a of n

    This summer I was a software intern at Khan Academy. I worked on the infrastructure team, which mostly meant working on performance tuning and dev tools. This is the first of what I hope will be several posts about the various projects I worked on. And this is really only the first half of this post – a non-technical overview. So stay tuned.
  • Obligatory

    So I made a blog. And here’s the obligatory self-referential first post. I think I’ll leave it at that.