WWL

Posted on Oct 4, 2022

Starting

I love reading people writing about what they’re working on. I hate writing about what I’m working on. Who would want to read that? Incongruence be damned.

Fall

Summer is over. That’s always a bitter pill to swallow but the colours make up for it in the short term. Great mushroom hunting too.

Colours

Lately

Here’s some stuff I’ve been up to.

LDMud Nixpkgs

In ~summer 2021 I got interested in LPMuds again. This is a niche within a niche but the LPC programming language was the first language I really got and so it always has a special place in my heart.

My LPMud game engine of choice is LDMud, a piece of software that can trace its lineage 30+ years into the past. Refreshingly it’s still under active development and has gained some really cool features recently (including Python support to bridge LPC/Python).

If MUDs, and LPMuds in particular, weren’t niche enough why not add another dimension: NixOS. Recently I packaged LDMud 3.6.6 for Nixpkgs. I’ve been using this derivation locally for some time for a ✨ secret project ✨ and I’m happy it was able to be merged upstream. The LDMud copyright is unique in its non-commercial requirement and so had to be added as a “non-free” distributable package.

VeXation

In January 2019 I started a project called VeXation, chronicling my (very intermittent) progress writing a from-scratch Windows 95 PE file infector virus using Borland Turbo Assembler 5. This project has been a lot of fun, but is also hard to work on in small chunks and so tends to go long periods of time between updates.

My last post was in April 2021 when I re-implemented my development environment with Qemu. Since then I actually did make a bit more progress on the virus and implemented a small patch to preserve the last modified date of infected .exe’s. After that I got stuck in the tarpit that was my Gatsby site-generator setup. It was always a bit of a shaky foundation for me to build on as someone that doesn’t actually understand React, but letting it fall ~2 major versions out of date was the final straw.

Recently I re-implemented the site using Hugo. My needs are very straight-forward and the Go ecosystem is familiar in a way the JS ecosystem is not. This time around I also wrote a Nix flake to make it super duper easy to reproduce the entire build environment. The Github actions workflow that publishes the site is pinned to the exact version of Hugo and the theme I’m using in my local env. Big thanks to Fernando Ayats’s “static blog with hugo and nix flakes” post (edit: appears gone now!) for offering a great starting point to adapt.

Here’s hoping all these shaved yaks make it easier to write the next post. :clown:

Thinking about

  • The Wavefunction Collapse Algorithm. A stupid name for an interesting technique for procedurally generating “things” (textures, maps, towns) with the same overall vibe as a set of inputs.
  • The Dolphin Progress Reports. Incredible wizardry. Really great technical writing covering said wizardry. I wish every long running free software project published reports like these. 😍
  • The Outer Limits (1995). There is nothing wrong with your television set. Do not attempt to adjust the picture. What if X-Files cross Twilight Zone with less money and coherence. Another 1990’s production largely filmed in BC.

Until next time

crow