Since 2014, I've been making New Year's resolutions in the form of a bingo card. It's nice for several reasons: it forces me to think about what I want to accomplish that year; it gives me multiple (12) ways to accomplish my new year's resolutions, so a single failure isn't discouraging; and it means that I always have something to work toward.


So... 2017 was a nightmarish year, what with the rampant white supremacy and the horrors of late-stage capitalism. I was shielded from a lot of that, but even if it had been a great year for me personally, it would be a bad year.

As it turns out, this was a kind of mixed bag anyway. There were some great things, like my nephew being born and a trip to Greenland and Iceland. There were also some less great things, like my dad being rushed to an emergency room while on vacation, me getting quite sick a few months later, and the never-ending disappointment of my new apartment.

Resolutions in 2017 were also a mixed bag. I accomplished more than previous years (in part due to a shift to pairs of resolutions), and a few things went exceptionally well, but a lot didn't.


After strong improvements in 2016, I had high hopes for running in 2017. Instead, it was probably my biggest disappointment.

I ran regularly (only missing two weeks to illness), but didn't push myself. I opted for minimal distances, so even though I went on more runs in 2017, I ran 100 fewer miles.

My longest run of the year was an accident. I had planned a 16 mile run, since it was hot and I was under-trained, but construction resulted in an 8 mile detour and a bunch of walking.

Unlike 2016, I didn't have any major injuries that took me out, but I did fall and cut up my hand on a run. For the first week afterward, I was worried I had permanently damaged a finger, but it has since healed to almost normal.


I may never read more books than I did in 2017. I met or exceeded (often significantly) all my reading goals.

I read at least two books every week for a total of 117 books, and 29K pages (80 pages/day). There were some shorter/easier reads, but there were also some bigger reads like War & peace, and an enormous biography of Robert Moses. I'll make a best-of list at some point.


I specifically gave myself way more programming goals than I could accomplish in 2017, because I wasn't sure what I would want to work on. I probably still did less than I would have liked, but that's fine.

One thing that went fairly well was my goal to make a twitter bot every month. A bunch of the bots weren't great, but I learned a bunch, and I think a few of them are promising.

My favourite three were @some_flags, @BoundlessWaves, and @OrbitOrbot. With some more time, I think all three could be pretty great. I liked one @BoundlessWaves post enough to get a print of it.

The two biggest disappointments were a book scanner and a parser generator. In both cases, I did a bunch of work but then got distracted and never finished them. I'm also disappointed I didn't do anything with the PICO-8 in 2017.


I didn't have many photography-related resolutions in 2017, and that was probably a mistake. I didn't have anything that forced me to take photos regularly, so I had several periods where I didn't do much.

That said, I am very happy with the photos I took this year. I think I took many amazing photos this year (especially while on vacation in Greenland and Iceland). Some of these were just being in the right place at the right time, but I think some of them took skill.


I've wanted to learn a new language for a while, but 2017 is the first time I took it seriously. I forced myself to spend at least 3.5 hours a week studying French and this yielded real results.

I started by doing Duolingo's French course. It was pretty good for basic vocabulary, and for learning how to read French, but not great for writing it, or far anything related to spoken French. Overall, I think it was decent (especially since it was free), but I felt a bit lost on what to do next.

By the end of the Duolingo course, I was mostly able to read books. I've mostly been sticking to comic books (specifically Asterix comics), since the difference between understanding 80% of a book and 100% of a book is still pretty big sometimes.

I still have a lot of trouble with spoken French—it's fast and full of elisions. I've been having some success with News in Slow French, since it's slow enough for me to process and I mostly know the topics they are discussing.

Overall, I have a long way to go, but I'm happy with the results so far.


This goal was a mistake, but I persevered. Even though 50 movies was fewer than I watched in 2016, it is still a lot, and I hadn't planned on being on vacation for the last week and a half in October.


In conclusion, 2017 was a year of contrasts. There's a lot I wish had went better, but I read a bunch of books, and made real progress at learning French. That's good enough for a bingo and good enough for me.


One of the problems I've found in the 4 years of doing resolution bingo is that it requires resolutions to be objectively measurable. My resolutions are often metrics instead of the underlying goals I'm trying to accomplish.

This year I've tried to separate what my goal is from how I measure it. I've made 25 resolutions, each with three objectives. If I can accomplish at least two objectives, I'll consider that goal accomplished.

There are a few goals that are closer to a collection of three distinct goals, and a few where objectives are still pretty subjective. Apparently, coming up with 25 resolutions/75 objectives is fairly hard to do.

I'm guessing this new format is going to require some refining, but I'm hoping it's an improvement. Even if it isn't, at least I have 75 distinct objectives to work on.


I'd like to make up for the backslide I had last year. My specific mileage goal is one more mile than 2016 so I can feel like I've made improvement since then.

To accomplish this, I've done several different things. I've added monthly running goals to compliment the weekly ones. I've lowered my longer-run goals so that I'll strive to hit them. And I've added some goals for regular, slightly-longer runs, in the hopes they start to replace my shortest runs.


I'm not expecting to read as much in 2018 as I did in 2017. I have a lot I want to accomplish this year, and I just may not feel like reading quite that much. I tried to set specific objectives that were lower, but not too much lower.

I spent a lot of last year reading one of four longer books, so I'm trying to make sure to have specific goals and objectives to make the time to read longer books again this year.

I'm also hoping to keep my personal library organized, in an automated fashion if at all possible.


My main goal is just to take a lot of photos. If I do that, I think most other things will just follow.

I also want to do more with film. I have a few instant cameras, and my parents' gave me their old (currently broken) film camera—I should actually use them.

I'm also hoping to keep my photos organized. Currently, most of the photos I took last year are just in a folder named "Unsorted". I need to start using some sort of photo-management tool, and I'm thinking of writing my own since I also want a good API for searching my photos that I can use for bots.


Learning French went well last year, so I would like to continue to make steady improvements. I'd like to get to the point where I can just comfortably read and understand written French. I'm much further behind on spoken French but I'd like to get to the point I'm at with written French currently.

Programming (creative)

I finally started making bots last year, so I'd like to continue on that. A bunch were fairly rushed, so I'd like to make sure I'm also making time to work on existing ones.

I'm always very excited about NaNoGenMo, but then don't really do much. It didn't help that I was off on vacation for a bunch of NaNoGenMo 2017, but the real issue is I haven't taken time to learn how to procedurally generate text prior to NaNoGenMo.

I've had make a game as a resolution for a while. I'm hoping having some specific goals might make it more likely this year.


This is the year I actually make my own esoteric programming language. I've wanted to for a while, but I've stalled out on what I want to make and on making a parser generator. I've got a basic language idea in mind, and I'm ready to stop throwing out almost-complete parser generators and starting over.

I'd also like to start programming more in a language other than python. The top contenders are either Rust (which I've liked, but never really gotten comfortable with), or JavaScript (so I can play around with Glitch, and because I clearly don't know web-dev). I may go the exact opposite direction and get really good at J instead.

Since I have a bunch of programming I really want to do this year, I'm going to try to make sure I have a major project I'm working on each month.


I've had a lot of problems with the apartment I moved to last year. I need to move somewhere better.


I didn't make any progress on this last year, but I still want to learn this. I'm going to be listening to more French stuff, and watching more subtitled stuff, so it would be nice if I could knit at the same time.

The Rest

As always, not dying is right at the top of my list of things I want to accomplish this year. Based on previous years, reading a book a week and watching 31 spooky movies in October should be fairly easy to accomplish.

Reading and running already are fun things that I already have resolutions about but I thought it would be nice have an explicit goal of doing relaxing things.

The secret projects are secret, but are also specific things. One will either be revealed this month or never. One can't be revealed until 2019-01-01. One either needs to be done by April this year, or for next year.

Addendum: 8 Day Weeks

As of 2018, I'm making the following changes:

I've been unofficially following the first two policies for some challenges previously (e.g., finishing up some French studying in the morning instead of staying up later on a Saturday). Nothing gets double-counted so I'm not doing less, and it encourages healthier habits.