January 2026
Published:
Thirty-one days. It is kind of wild how time seems to move both too quickly and too slowly at the same time. I look back at the past month and find myself wondering where my time went. I think I’ve accomplished a good bit this month, so I’d say it was a pretty solid month for me.
Work
A few months ago, we started on a new epic on a client project. They had shown us a massive Excel workbook that they wanted converted into a tool within their internal app. This tool would need to run roughly one hundred different calculations to take in a small number of user inputs and spit out a new product configuration for them to sell to their customers.
Pretty early in the architecture process, I decided we should use neverthrow to build these calculations. The idea was that each calculation would be independent from the whole of the pipeline. They would only get their required inputs and only return their output. This would make changing them in the future relatively painless — something that has already proven valuable — and would reduce the cognitive load required to update and test each calculation.
I finished up those calculations just before the end of the year and spent a large amount of this month wiring them together — updating the ones that had changed and adding new new calculations. I spent way more time that I wanted building out the pipeline. I’m pretty happy with general pattern, but it took me a few tries to figure out the best pattern (or at least a reasonable pattern) for managing the data we needed to query, aggregating results of calculations, and determining reasonable “check points” for improved developer experience.
I’ll probably write more about this at some point. The next big thing I want to tackle is some better logging within the pipeline. It easy to see the result of any one calculation, but it can be hard to figure out the “why” of calculation since they only return their result on a success. I’ve decided on building a writer monad pattern around neverthrow to augment it with some additional logging while keeping the calculations pretty dumb.
Outside of that, I had my five year review. I didn’t get fired, so that’s good. I have a lot of other thoughts there, but I haven’t sorted them out myself. They’re mostly around imposter syndrome and some ADHD issues I’ve had the past few months.
Dev
I haven’t written much code that has made it anywhere this month, though I have played around a good bit with Ralph Loops. I think the coolest thing I did build was a little archiver CLI using bun and yt-dlp, but I really need to clean up the code and fix up some dependencies before I publish it anywhere.
I’ve switched over to using Zed for my personal development. So far, that has been fine, but I basically have it set up like VSCode / Cursor. It works just fine for everything I’ve done so far.
Homelab
I spent a good chunk of this month rebuilding my homelab. Really, it was just cleaning up docker compose files I had strewn about several different machines and unifying configs. The coolest addition to my stack in recent months is Pangolin. It’s a really handy dashboard around WireGuard and Traefik that makes exposing local services a breeze. They offer some hosting services if you don’t want to manage Pangolin yourself, but I just have mine on a VPS. I’ve been able to share some of my self-hosted services with my tabletop group with no issues!
The next thing I’m eyeballing is running some LLM. I might try out LocalAI.
TTRPG
I’ve had a mostly consistent tabletop group four nearly a decade at this point. When I say consistent, I mean the people in it. We have been anything but consistent for a while. However, last month, someone ran a one-shot and that kicked everyone into gear. Especially me.
I’ve been working on a personal system for a while now. I’ve started it, thrown it away, and started it again more times than I are to admit. This month, we actually started to use it! We had our planning session earlier this week, so next time we play, we’ll start up a proper story with my system driving the whole thing. I’ll write more on that later, I’m sure. I kinda want to make tabletop stuff its own special blog area.
I’m looking forward to writing and world building again. It’s been nearly two years since my last campaign, despite numerous attempts to get things started again. As long as everyone keeps showing interest, I think this one will stick.
Media
I’ve been reading the R.A. Salvatore’s The Legend of Drizzt novels. This month I read Homeland and Exile. Before this month ends, I’ll likely finish Sojourn. I’ll probably give these a break — I don’t want to just read fantasy fiction. I’ve got a handful of other things sitting on my bookshelf, so who knows what next month will be.
I’ve really been enjoying reading on our Kobo. I bought it a few years ago but didn’t end up using it much. My wife kidnapped it for a bit, but I’ve since kidnapped it back. I do feel like I can read a lot faster on it than I can with a physical book, but I don’t feel like I’m losing any retention. It may be less that I am reading faster, but that it is more convenient so I will read a bit whenever I have a few minutes to spare.
Outside of reading, I’ve been trying to re-explore music of my late teens and early 20’s, so I’ve had the Shins on repeat. It’s been pretty solid.
The Rest
This is a lot of words. Maybe I’ll get some actual pictures up for the next time.
I set out this year to be more mindful and more analog. That has worked… some. Some days, work just goes and I never really touch my work notebook. Other days, I scribble a lot. I’m not very consistent with it. My journal has been mostly neglected since I got sick. I am picking that up better today.
I have done a lot better with mindless scrolling, though. Some of that is due to reading more, which, ya know, I’ll take it. Some has just been that I can’t spend more than 10 minutes on Reddit without getting pissed at the world. I have spent more time playing Bullpen than I should, but it’s puzzles. They’re good for the brain, right?
Lastly, I have done quite poorly with the exercise. Similar to journalling, my brief cold about halfway through the month knocked out that budding habit. Cooking was going pretty well, though. The recent ice storms put a slight damper on that because we missed a couple of grocery orders. Hopefully, things are back to normal now, so I can cook up something warm and hearty for the beginning of February.