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.

Running

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.

Reading

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.

Programming

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.

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.

Photography

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.

French

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 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.

Shocktober

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.

Summary

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.

Running

Run Regularly:

Go on 160 runs.

Run 3 times in a week 50 times

Go on a 4-mile run 50 weeks

Run Further:

Run 680 miles

Run 10 miles in a week 35 times

Run 50 miles in a month 8 times

Go on Longer Runs:

Go on an 8 mile run 10 months

Go on an 13.1 mile run 6 months

Go on a 16 mile run

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.

Reading

Read Regularly:

Read 2 books/week 40 times

Read 100 books

Read 25,000 pages

Read Long Books:

Read 15 400-page books

Read 4 800-page books

2 1000-page books

Read Diversely:

Read 25 recommended books

Read books from 25 countries

Read 25 books from countries other than the five I read the most from in 2018

Free(ish) Space:

Read a book every week

Keep Organized:

Keep books organized

Make a Library-Management Tool:

Write a book-scanning tool

Build a book database

make a searchable catalog of books

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.

Photography

Take Photos:

Share 350 Photos

Share photos 125 days

4 pre-planned shoots/collections

Use film:

Get my family's old camera fixed

40 film photos

Develop a photo myself

Keep Organized:

Keep photos organized

Make a Photo-Management Tool:

Searchable tags

Easy & mass tagging

API

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.

French

Improve my French:

study 2.5 hours/week 50 times

Read 15 books in French

Understand written French

Improve my understanding of Spoken French:

Move to advanced News in Slow French

Understand TV without subtitles

Understand spoken French

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)

Make bots:

Make 3 new bots

Improve 3 bots

Make a non-twitter bot

Make text-based procgen stuff:

Make 3 procgen tools

Make 3 procgen projects

Make a real NaNoGenMo entry

Make a game:

Make 10 things in PICO-8

Make a development roadmap for a game

Get a game to a playable alpha

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.

Programming

Learn a new programming language:

Port something to the langauge

Make a non-trival new project

Make a package/library

Make a parser generator:

Make a Self-hosting generator

Have it automatically eliminate left-recursion

Get it generate example inputs that match a grammar

Make a programming language:

Design a grammar

Build an interpreter or compiler

Make a non-trivial program that runs on two separate interpreters or compilers

Regularly work on programming projects:

10 monthly projects

Do a collaborative programming project

Programming project that is either hardware-based or otherwise has tangible output

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.

Apartment

Keep organized:

Keep my apartment clean

Move to a place I like more:

Move

Fully unpack

Get all my prints/frames mounted

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

Knitting

Learn to knit:

Knit a scarf

Knit a hat

Knit a pattern

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

Free(ish) spot:

Be alive in 2019

Read a book every week

31 Shocktober Movies

Relax:

4-day stint off the internet

Beat 10 video games

Travel somewhere new on vacation.

Secret Projects:

???

???

???

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:

Things done between 0:00–6:00 can count for that day or the previous day.

Things done on Sundays can count for either the previous or following week.

If a month starts on a Thursday or later, that Thursday–Sunday can count toward either month for monthly challenges.

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.