Reflections and a public resolution

When I started blogging my goal was to record the cool things I learned about in math and computer science so that I didn’t forget them. Then it turned into an excuse for me to learn new cool things, a way to publicize my research, and an unexpected reputation.

It seems that Math ∩ Programming has become something of a resource. In a recent survey, I found out that my readers are as young as 15 and as old as 70. And they come from all over the world. It seems that already, even before graduating with my PhD, I’ve made a bigger dent in the world with my blog than my research papers likely ever will.

And I have no intention to stop. These last few months have been slow due to job searching, grant applications, and a horde of research projects. The graph isomorphism brouhaha didn’t help my productivity either, but it was worth it on a personal level 🙂

Indeed, the more I blog the more ideas I get. Here are just a few titles of unfinished drafts in my queue:

  1. The group theoretic view of quantum gates
  2. Singular value decomposition
  3. Matrix completion and recommender systems
  4. The unreasonable effectiveness of the Multiplicative Weights Update Algorithm
  5. Cryptographic hardness assumptions — a primer
  6. VC-dimension, Occam’s razor, and the geometry of hypotheses
  7. Big dimensions, and what you can do about it
  8. The quantum Fourier transform
  9. Linear programming and the most affordable healthy diet, part 2
  10. What’s up with graph Laplacians?
  11. Persistent homology
  12. Byzantine generals
  13. Support vector machines

And I’ve been meaning to spend some time on convex optimization techniques, and maybe some deep learning while I’m at it. Feel free to vote for your favorite topics and I’ll try to prioritize accordingly.

I have a few blog-related projects in mind for this year. The one that I want to publicly commit to, my new years resolution, is to finish and publish my book. This should be a surprise because I haven’t announced it anywhere. The tentative title is, “A Programmer’s Introduction to the Culture of Mathematics.” It’s intended to be a book introducing mathematics “from scratch,” but with the assumption that the reader is a competent programmer. So I’ll treat the reader like an experienced coder  instead of a calculus student (or worse, a researcher). I’ll rely on explanations and analogies via code. In each chapter I’ll implement a full program illustrating what you learned in the chapter, with the code on github, too. I’ll explain every bit of notation, and discuss why the strange aspects of math are the way they are. This book isn’t intended to be a terse reference, but rather a book that you read from end to end. It’s also not meant to be a new “approach” to math. Instead this is more of a travel guide for the mathematical foreigner, with translations and tours and an explanation of mathematical tastes.

I’ve already written a hundred or so pages, and I’d estimate the book is around 1/3 to 1/2 done. I’m resolving to finish it this year. I plan to set up a mailing list within the next month or two for it so those interested can keep informed on my progress.

12 thoughts on “Reflections and a public resolution

  1. My preferences in decreasing order:

    VC-dimension, Occam’s razor, and the geometry of hypotheses
    Big dimensions, and what you can do about it
    What’s up with graph Laplacians?
    Support vector machines
    The group theoretic view of quantum gates
    Matrix completion and recommender systems
    The unreasonable effectiveness of the Multiplicative Weights Update Algorithm
    Cryptographic hardness assumptions — a primer
    Singular value decomposition
    Persistent homology
    Byzantine generals
    The quantum Fourier transform
    Linear programming and the most affordable healthy diet, part 2

    Thank you for the wonderful blog.

  2. Your book project seems pretty interesting, it probably is the first mathematics-related book I’ll consider buying.
    Thanks for your blog.

  3. My ordered preference list:

    VC-dimension, Occam’s razor, and the geometry of hypotheses
    What’s up with graph Laplacians?
    Byzantine generals
    Big dimensions, and what you can do about it
    The unreasonable effectiveness of the Multiplicative Weights Update Algorithm
    Linear programming and the most affordable healthy diet, part 2
    Singular value decomposition
    Matrix completion and recommender systems
    Cryptographic hardness assumptions — a primer

  4. Another preference list:

    Singular value decomposition
    Matrix completion and recommender systems
    Byzantine generals
    The group theoretic view of quantum gates
    Big dimensions, and what you can do about it
    The unreasonable effectiveness of the Multiplicative Weights Update Algorithm
    Cryptographic hardness assumptions — a primer
    VC-dimension, Occam’s razor, and the geometry of hypotheses
    Persistent homology
    What’s up with graph Laplacians?
    The quantum Fourier transform
    Linear programming and the most affordable healthy diet, part 2
    Support vector machines

  5. Hi Jeremy- a suggestion: including a few of your favorite references at the end of a blog post would be helpful for those of us who would like to continue learning on a topic that you’ve introduced. Of course, we can google around, but it’s nice to see the author’s preference of literature. Thanks 🙂

  6. I’m interested in:

    Multiplicative Weights Update Algorithm
    Matrix completion and recommender systems
    Singular value decomposition

    I would suggest as well Monte Carlo Tree Search, as it would serve as an introduction to AlphaGo 🙂 I’d be glad to help.

Leave a Reply