2025: my year in review
I always feel like I didn’t accomplish much during the year until I start looking at my notes and commit history. Then I find myself pleasantly surprised. I’m eternally intertwined in a battle against routine. I need it—routine—but as the years fly past me, I feel an urgent need to break up the monotony. I want to slow time down. I tried to embrace some spontaneity this year. I managed to push myself out of my comfort zone on several occasions. It didn’t slow time, unfortunately, but I’m still glad I did it.
Goals for 2025
As is tradition, I set a few personal goals for myself last year. Let’s see how I did.
Read five books
I’ll see Past Blake’s five books and raise him one! I finished two meaty Brandon Sanderson novels—Oathbringer and Rhythm of War. Things are headed toward a cosmic collision and I’ve been told that the next book in the series, book 5, brings some much-awaited resolution. Guess I’ll find out.
In between those I read a handful of shorter works as palate cleansers. My favorite of the three was Project Hail Mary by Andy Weir. If you like space exploration, you’ll probably love it. I’m absolutely stoked that they’re making a movie adaptation with Ryan Gosling. Do yourself a favor and don’t watch the trailer.
I also read[1] The Anthropocene Reviewed by John Green, a lovely set of essays on humanity’s hopes and fears. In a complete 180 I read Dungeon Crawler Carl, book 1. And I read the classic novella The Man Who Was Thursday by G. K. Chesterton.
Grade: A+
Write an article every month
I did it! Including this one, that’s 14 articles on the year. I accidentally started this streak a few years ago and it’s been one of my favorite things to keep going. A+
Write one work of fiction
I attempted to write a novella as part of NaNoWriMo (despite its unfortunate demise) this year. I wrote a full outline and I started the project, but after getting a few chapters in, I couldn’t stomach the story anymore. I’m giving myself a D- because the fact that this pantser wrote a full-fledged outline should count for something.
Make one game
Dammit! I keep not getting around to this one. I really want to take another stab at a PixiJS game—I’ve made two so far, one of them being kinda fun. After failing to do this twice now, maybe I can turn things around in 2026. Grade: F
Ship a new software project
At first I thought I failed this one, but as part of my rewrite of A Fine Start I shipped a little utility for using IndexedDB like local storage. It’s working for my purposes, but use it at your own risk. 😅 Grade: A-
Go on a date
I actually did this! Not particularly good at it but hey. Grade: A
Avoid turning 40
I’m still alive, as Logen Ninefingers would say, so I failed this goal. But I passed some cool milestones this year so giving myself a C.
Work
I spent this year working on a new TPS system for NASA. Office Space jokes abound and we even managed to incorporate a red stapler icon into the app. Unfortunately, I can’t seem to remember the cover sheet.
Milestones
Earlier this year, I hit a decade of being employed. In that article I describe how I spent six years after college largely unemployed as a disabled developer with no full-time experience in the aftermath of the 2008 financial crisis. It was brutal and I almost gave up on working altogether. But with a mix of persistence and luck, I managed to get a job in 2015. May 4—Star Wars Day—marked ten years of being in the workforce.
In June I turned 40 and remarked on feeling behind in life. I’ve been fortunate—hashtag blessed, even—so while I don’t love hitting 40, I’ll take it.
In much cooler news, my website turned 20 years old in August. The fact that I’ve kept a website running for that long is a source of immense pride for me. I think everyone should have a website to combat the sameness and corporate control of social media. If you’re a tech beginner and you’re curious about how to make a website the manual way, check out my free web book, HTML for People.
MagnoliaConf 2025
I ranted to an audience at the Mississippi Museum of Art about my annoyance with frontend build steps.
I enjoyed giving this talk, although I think I tried to cover too much material. But I hope my central message got through—it’s a-okay to use simple tools when they are appropriate. And oftentimes a simpler tool can go farther than you might think.
Projects
I didn’t ship many new projects this year, but it was a year of refactoring and rewrites for me and I published some new versions of my favorite projects.
A Fine Start

I released version 3 of my new-tab page browser extension. From my perspective it was a big undertaking—a total rewrite where I abandoned Vue.js and rolled my own vanilla JavaScript. From the user perspective, I introduced some long-standing feature requests, like more columns (or less), some new themes, the ability to rename groups, and a way to open an entire group of links at once.
I had some hiccups with the rollout, but I think everything is ironed out now. I’ve made it render quickly and I’ve added some quality of life improvements throughout the year, with a few more planned.
Minimal Character Sheet

In the summer, I posted about a ton of updates to my freeform digital character sheet app. As part of my holiday time off, I did even more work on the app, completely rewriting the UI. The mobile experience should be much better now. I added a new section for tracking arbitrary resources. This is helpful for lots of classes who have superiority dice, focus points, or other consumable resources.
But the coolest feature is an initial implementation of integration with the Open5e API. You can now search for spells and character backgrounds and easily copy and paste content into your character sheet. There’s still a ton of work ahead to widen this integration. I can ultimately imagine being able to pre-generate character sheets with random features. I’d love to add a dice rolling utility as well. So much to do. I’m happy to report that usage of the app has picked up and the changes so far have been well received.
HTML for People
I released this free web book about making your first website with HTML back in 2024. But I wanted to mention that, though it technically happened at the tail end of 2024, HTML for People was graciously translated into Spanish and hosted by Victorhck! I really love that it’s accessible to more people and I’d love to see even more translations in the future.
Goals for 2026
- Read five books
- Write an article every month
- Write creatively (not forcing myself to complete anything)
- Make a game (it’s been a while)
- Go do things
I’m going to keep it short and let some of my goals be vague this year. Might as well give myself some wiggle room when it comes to determining my success.
I hope your new year is everything you want it to be.
Well, I listened. I’ve been using audiobooks for several years now. I’d love to read physical books but my disability prevents me from handling them. I’ve been using Audible, but I recently joined my library’s BARD program, which offers free audiobooks to people who have difficulty accessing print books. ↩︎