I thought coming up with a treesitter-based syntax coloring theme was hard. Turns out creating textmate-based themes is even more finicky.

In other news: Root Loops now supports Visual Studio code theming (UI and syntax). Give it a shot!

a dark visual studio scheme

I love the concept of tiling window managers but they often encourage a weird obsession to fine-tune and customize every last aspect of the experience. I gave PaperWM a shot this week and it seems to hit a sweet spot: It’s a simple Gnome plugin and integrates well with my regular desktop experience while giving me a convenient way to manage my windows and workflows with the keyboard wherever I go. If you use Gnome but miss the i3/sway experience, give it a try!

Made delicious pan pizza tonight.

Pan pizza with salami.

24 hours cold ferment. Provolone cheese for a rich smokey flavor and french salami for salty goodness.

Soul food after an exhausting week.

Remember, folks 🤓

Cloud infrastructure inevitably evolves through the following stages:

  1. Terraforming
  2. Terrastorming
  3. Terranorming
  4. Terraperforming

“Ortskontrollfahrt” was briefly interrupted after my chain came off. Lots of small shenanigans, but I really love this moped.

A green NSU Quickly moped standing on a gravel path next to a corn field

This gorgeous whirlwind turns 5 today 🥳

A chocolate Labrador chewing something on the lawn.

Happy birthday, buddy! Here’s to many more years of companionship ❤️

Made some pizza with home-made pistachio cream.

A Neapolitan style pizza with mortadella and a base of pistachio cream.

Excellent stuff! 🤌

Every single time I consider using #nixos to set up a dev environment for one of my side projects, I give up after about one hour of getting more and more confused.

I really, really want to like nix. I would love to understand and use it for reproducible dev environments. I just haven’t found a way to get started without spending days to understand the fundamentals. In the meantime, an “apt install ” takes a few minutes tops and solves my immediate problem. Bummer.

I got Lenny a new bed so he can hang out in my office in style. Looks like he’s happy with it 🥰

A chocolate labrador lying on a fluffy bed, looking a little sleepy and content.

Today my coworkers learned one of my favorite German words:

Schnapsidee.

Despite the foreign language, it seems to be a universally understood concept.

Continuous Integration

[kuhn-tin-yoo-uhs in-ti-grey-shuhn]

Noun.

1999: Every developer on the team merges their changes into a shared mainline several times a day.

2024: There’s a YML file somewhere that declares how to build and unit test your stuff, no matter which branch you’re on.

Testing your changes in isolation from everybody else’s changes is not quite what they meant with “integration”, folks 😬

The web can be an overwhelmingly toxic and frustrating place.

And then there are moments like this morning where a random email hits my inbox, coming from a stranger who read something on my website, found it interesting, and decided to take the time to say “hi” and “thanks” ❤️

Lukewarm take:

If your generic type declaration ends with something that looks like a git conflict marker, you might have missed the opportunity to find a reasonable abstraction 🙃

private static Expression<Func<T, int, IEnumerable<Tuple<PostHistory, Tuple<string, int>>>>> GetHistorySummaryQueryFactory<T>()

Smoking ribs for the lads. Its a sunny day, I’ve got nothing to do, my best buddy is with me, let’s go!

Spare ribs on a smoker, ready to be smoked. The ribs are coated with a bright orange rub. There&#x27;s a chocolate lab standing next to the smoker looking like he&#x27;d love to have some of the meat.

What a shit week. Let’s kick off the weekend with some home-made pizza 🍕

A Neapolitan style pizza sitting on a wooden board. The pizza is topped with burrata and decorated with fresh basil.

Took a 3 week break in December. I’ve been doing that for the past few years and it’s been incredibly refreshing.

This year I took the opportunity to make my first home-made ham (Ham’s hams!). 4 weeks of curing, drying, smoking, and resting.

Really proud of the outcome for a first attempt.

Slices of ham on a wooden board with two slices of bread on the side

Trying to stay away from computers after work if I can. I’ve been restoring an old moped I found in my dad’s basement.

It’s a NSU Quickly N from 1956 with a two-stroke engine that makes you feel like you’re riding a chainsaw.

I was absolutely clueless when I started out, but over the last two years I’ve touched pretty much every part except for hte engine.

Lots of fun, frustration, and admiration for simple mechanics.

A green and white NSU Quickly moped hanging from a garage ceiling