Weeknotes 2025 W31: Making life hard

July 28​–​August 3, 2025

Quick bits:


Shower thoughts:


The job search continues. There are a few open threads, though there’s nothing that’s making much progress.

Help me out: Get me a job in 2025.

As of two days ago — August 1st — I am officially unemployed. The unemployment money isn’t confirmed yet; hopefully I’ll get some good news about that from the Arbeitsagentur2 soon. I don’t expect there to be any issues.


My external mouse (the Evoluent VerticalMouse™ 4) has been not working great lately. The cursor gets hung up on invisible obstacles frequently, which is infuriating.

Mice are annoying. They take up space because you need to shove them around a large surface, yet no amount of space feels enough.

I had been eyeing alternative pointing devices, like an external trackpad (e.g. the Apple Magic Trackpad) or a trackball. And trackball it became: I’ve bought the Kensington Orbit with scroll ring.

It’ll undoubtedly take a while for me to get properly used to. For now, I’m surprised by how much force it needs to activate: sometimes my finger slides across the ball without making it move. The scroll ring however, is excellent.

Even though I wanted to reduce my expenses going forward (not having a job and all that), not having a properly functioning pointing device is just not a reasonable status quo.


For no good reason in particular, I have decided to switch to Colemak — transitionally, at least, swapping the letters J, N, E and K as part of the Tarmak (Transitional Colemak) approach.

I’ve physically swapped out the keys on my ZSA Moonlander keyboard, and set up a layer that allows me to revert to QWERTY momentarily, because I imagine that having the option to switch back to QWERTY will be very welcome.

Changing my keyboard layout and my pointing device might be a bit much. Sometimes, I wonder if I am deliberately making life hard for myself.


Speaking of making life hard for myself: I’ve been playing around with Zig.

I had a project for which I wanted to use a compiled language without a runtime and with C interop. Initially, I thought of doing plain old C. But oof, C is a painful language to work with.

The first alternative to C that I tried was Rust. I keep bouncing off of Rust, though. I don’t think that language clicks for me. It’s big and complex, and most importantly: I don’t ever really enjoy using it.

Zig, however, is rather nice. It is a small language and improves on C in so many ways. It has modules! Strings with lengths (not just NUL-terminated)! Safe pointers! Slices! Actual array types! Structs with methods! A built-in test system! Custom allocators!

My Zig honeymoon period has officially started.


So what am I using Zig for? Writing a new static-site generator, of course!

For me, the priorities of a static-site generator are as follows (in order):

  1. Flexible/extensible: I want to have full control over how content is processed, and I want to be able to provide my own processing steps (e.g. transformers for my home-brewed markup languages).

  2. Fast/scalable: I want web sites to compile as fast as possible. This includes parallelism. Effective incremental compilation is a must, too.

  3. Easy to distribute: I want installation to be a one-command deal. I don’t want to have to maintain a Ruby installation.

Nanoc succeeds at point 1 (even though there is certainly potential for improvement there), is quite mediocre at point 2 (doing a reasonable job given the circumstances though), and fails at point 3 (because it needs a Ruby installation).

For a SSG to follow these priorities, there are some restrictions on the tech stack:

This leaves primarily C, Rust, and Zig, which I’ve talked about before.3

This static-site generator project is an experiment. It is not Nanoc 5. No promises and no guarantees etc. I am building this thing for myself first and foremost.4


Entertainment:


Toots and skeets:

Links:


  1. I appreciate the “dress for the job you want“ comments. The job of web developer, obviously. ↩︎

  2. Employment office. ↩︎

  3. There is also C++, but that is a language that I am staying clear of. I have a tiny bit of experience with it, though that experience is enough to make me realise that I do not want to continue with it. I think this would also apply to the D programming language. ↩︎

  4. Well, I created Nanoc for myself first and foremost, too. It just ended up being used by a ton of other people and corporations. It certainly got a little out of hand. ↩︎

  5. The Other Lamb, directed by Malgorzata Szumowska, written by Catherine Smyth-McMullen (Rooks Nest Entertainment, Rumble Films (II), Subotica, 2020). ↩︎

  6. I seem to have developed the habit of falling asleep during films. Maybe — hopefully — it’s just the general sense of exhaustion that I’ve been feeling. ↩︎

You can reply to this weeknotes entry by email. I’d love to hear your thoughts!
If you like what I write, stick your email address below and subscribe. I send out my weeknotes every Sunday morning. Alternatively, subscribe to the web feed.