Taking stock of all my projects

Tue Dec 15 2020

Motivation

I tend to accrete projects because I always have lots of ideas. Because of how my motivation works I often do ideas "last in first out": this causes old projects to languish and never get shipped. I also feel bad when old projects eventually fail to hold my interest and I abandon them. Neither of these things are ideal, so in this post I'm going to list out all the projects I am currently involved with (or thinking of being involved with) set my priorities, and make a deliberate choice to shelve away projects that just aren't that important to me right now.

List of projects

  • Self-study Stanford CS140E with CS gang
  • Self-study Stanford CS107E with Weineng
  • Self-study Stanford CS degree
  • Build path tracer in Rust with Ross
  • Build multiplayer board game engine with Joshua
  • Publish my undergrad thesis with Gabe
  • Publish my working paper with Eubank and Rodden
  • Learn to pump on a longboard
  • Selling books on Amazon
  • Running programs for the elderly with Nicole
  • Planting edibles with Eliza
  • Write post on my three years in Oxford
  • Write year-in-review post
  • Write series of posts about how to write a first-class Oxford PPE essay
  • Write post on group testing with Bernard

List of projects sorted by priority (and why)

Highlight

These are things I want to get done ASAP. Most of my free time should be put towards these. Work on them multiple times a week, or every weekend.

  • Write blog post on my three years in Oxford
  • Write year-in-review blog post
  • Publish my undergrad thesis with Gabe
  • Write post on group testing with Bernard

The two blog posts are high priority because the longer it's been since Oxford, the less fresh the memories are in my head. And the year-in-review post is super high priority because it needs to be done by the end of the year.

I want to publish my thesis with Gabe ASAP for two main reasons: the first is that it's been dragging on for long enough, and the second is that I want to put political science aside. (As an aside) I've been thinking about this a lot: I seem to be very good at political science/writing essays. In Oxford my essays were always praised for being very clear and well-written. So that seems to be my comparative advantage. But my interest is in coding where I have no comparative advantage: I'm decent enough at writing code, I suppose, but certainly not world class. Yet when I write essays I feel that it is so painful, I get distracted, I can't get into the flow state etc. (which explains why my blog posts are always delayed), whereas when I am trying to write code to solve a problem I can be quite focused. I'm not sure what to make of this or what I should do. In any case, since I have put a lot of work into my thesis and it is objectively a good piece of work, I want to publish it---but I really have no interest in academia (and certainly not academic polisci). So that's why I want to put it out as soon as possible and move on to something I am actually passionate about.

Finally I want to finish my post on group testing ASAP because I am getting quite bored of it. It's almost done but you know how it is: the last 10% takes 90% of the work.

Mediumlight

  • Write series of blog posts about how to write a first-class Oxford PPE essay
  • Self-study Stanford CS107E with Weineng
  • Self-study Stanford CS degree

Since IMDA (and Eric) are very supportive of us improving our personal development, I want to take this opportunity to learn as much as I can.

I'm already learning the "practical" stuff like writing tests and setting up CI/CD pipelines in my current project with IMDA, and I also do a couple of Udemy courses (free for civil servants) to fill in the gaps.

That frees me up to learn the more theoretical, fundamental CS concepts. I've recently been playing with the idea of doing all (or most) the courses that would be needed to graduate as a Stanford CS major.

Lowlight

These are projects that I don't regard as a priority but are still projects I want to make progress on. Maybe work on them every fortnight or so.

  • Learn to pump on a longboard
  • Running programs for the elderly with Nicole
  • Planting edibles with Eliza
  • Publish my working paper with Eubank and Rodden
    • Let Nick carry this now that I've done most of the programming work

Shelve (for now)

These are projects that I have decided to put on hold for various reasons

  • Selling books on Amazon
    • Largely pointless
  • Self-study Stanford CS140E with CS gang
    • The course has poor documentation and neither me nor WN really grok the big picture
  • Build path tracer in Rust with Ross
    • Ross got busy and I don't need to learn Rust right now
  • Build multiplayer board game engine with Joshua
    • Still want to do this but just don't have time and am getting my "building stuff" itch scratched by other projects