Blog

Code Point 437 in C++
In my upcoming game, I'm using Dwarf Fortress style spritesheets. These spritesheets are mimicing the original IBM PC character set, also known as Code Point 437. Working with this character set in C++ has been a pretty big headache, as the UTF-8 versions of some of the characters in this set are of type wchar_t. I worked around this by creating a lookup table which I generated using python's encodings.cp437 class. The downside is that all my strings now have to be std::wstring instances.
Hacking Around on Calamares

At work, we have certain requirements for a user profile. UID and GID must be 1000 for things to run smoothly with our (somewhat ancient) network share. I've been working on creating a generic image that can just be written to a machine with minimal need for further setup. To do this, I decided to use Kubuntu's OEM install mode. This creates a temporary user which can be used to install all the required packages, etc. Once you're done configuring the system, you can then exit OEM mode and reboot the machine. You'll then be prompted to create a new user, which is fine.

Except...

This user is technically the second user on the machine (with the OEM user being the first). This means that this new user will be created with UID and GID 1001 by default. Unfortunately, Calamares, the installer used by Kubuntu, does not natively support setting the UID and GID of the created user. Thankfully, the fix was a few lines added to the "users" module and now the new user will always have the correct UID and GID.

Someday soon I hope to polish the code up and allow this to be configured via Calamares' config files but this requires getting more comfortable with QT5 first.

Reinstalling Windows (*sigh*)

I have an Elgato HD60 Pro PCIe card which is, as far as I can tell, totally incompatible with Linux.

I've been tinkering with it for a few days now but I've finally resigned myself to the fact that it's too much work with the move and EMF 2026 coming up to get it working (not that I have any idea how I'd go about it). I have some minimal experience with Linux driver development and making this a project is way outside my comfort zone. And so, it is with great sadness that I spent an evening reinstalling Windows 11.

Hey, at least I can use Ableton again...