14 February 2026
So I've Been Quiet Lately...
If you follow me on the Fediverse at all, or on Matrix, then you’ll probably have noticed that I’ve been fairly quiet about development stuff lately (and just in general, at least on Fedi). I figured I’d give an update on this.
Mental Health
The biggest reason I’ve been more quiet and less active lately is that my mental health has taken a nosedive. This isn’t new for me, I’ve suffered with pretty severe mental health issues since 2012/2013, specifically major depression with psychotic features, anxiety, ADHD, BPD, suicidal ideation…. These all decided to flare up around the end of December, too :-P I’m better now, and I see a therapist regularly (I have for the past 10+ years), so no need to worry. But yeah this is the main reason for my lack of activity.
This is a big reason why I don’t work, if you ever wondered. I can’t do work or attendance consistency.
Benben
Anyway, Benben. It has been getting some work done on it, though, with an overall goal to release v1.0 by the end of this year. But I’ve purposely been going more slowly with it to better avoid the burnout I felt near the end of last year, hence why it’s been more quiet.
So far my priorities with Benben have been updating the build system, and getting support for libuade added to it as an alternate way to play module/tracker files. The former is already finished, and it now uses my new dependency manager and build initiator tool, Reika, to build binaries. It’s working great, and I’ve found that I can use the tool for Pascal as well. I’ll probably add a few more things to Reika before I call it v0.1.0, but it’s already stable enough to use for Benben.
Adding libuade, however, has been a bit of a pain. I’ve already got bindings written for libuade in CL-RemiChips, and part of a public interface for the bindings that follows the Context protocol that all the other bits of CL-RemiChips has, and this has proven enough to at least write a test player and also play files in the REPL. Unfortunately, when I went to integrate it into Benben, I ran into a bunch of idiosyncrasies with the libuade library that I didn’t expect. The biggest of these is a way to reliably get the total length of a module from the library, which I can’t figure out… and unfortunately this is a must-have for Benben. Plus there’s a lack of documentation for libuade, and the code doesn’t have enough useful comments to figure out what functions do or how the library even operates internally, so I’ve been having to reverse engineer it enough to understand. And though I have gotten to the point that I know how it basically works (it emulates part of an Amiga, essentially, then loads native M68K player code into that and also adds a FOSS version of EaglePlayer), I haven’t quite figured this out yet.
So yeah, it’s been frustrating, and even a bit deflating. If I can’t reliably find a way to get all the information I need for Benben, or some hack-y workarounds to do so, then I’ll probably have to put this off for a future version, or drop it entirely. Ugh…
I’m going to put the whole libuade thing on the backburner for now and focus on other v1.0 goals.
Messing with Pascal
So you may have noticed that I mentioned Pascal above in passing… “wtf?” you may be asking yourself. Well, let me explain! :D

OK not really, that’s a joke, I’m not abandoning Crystal :-P
But Pascal, or rather FreePascal’s Object Pascal dialect, {$mode objfpc}, is
probably going to be what I turn to first when I don’t use Common Lisp going
forward. It’s a language I already kinda knew and wanted to use more of anyway.
Plus it’s fast, low-level, optionally OOP, and doesn’t require LLVM (🤢🤮) which
is a plus. Though the next version has the option of using LLVM for a backend,
which is at least kinda cool. It’d be cooler if they did GCC, but oh well.
Anyway, I’ve been messing with Pascal stuff on the days where it’s been too frustrating to work on libuade stuff in Benben. This is another reason for me being more quiet lately. It has been a nice way for me to step away from the frustrations with libuade.
One thing that’s come out of it is my new program, RemiA2ln. This is an alternative server for A2LN that I wrote because my system did NOT like the official server thanks to Python Hell. I also was really needing A2LN because I kept missing calls and other important notifications.
RemiA2LN is written in Pascal and uses my SDMPas library, which (like I do for every language I use) is my personal stdlib for Pascal. It isn’t at v0.1.0 yet, but it’s at least been usable and stable for me here at home. YMMV. I’ll be slowly adding some new features to it over the next few weeks, mostly just stuff I personally need, like sounds that play for certain notification types.
I’m also working on porting my audio code over to Pascal (SDMAudio) so that I can tinker with audio stuff on that side of things as well. Not much is working yet, though enough is that you can encode QOA files, or listen to PCM and QOA files with it.
One thing I may consider moving forward is moving away from my native Common Lisp CL-RemiAudio library for Benben and replacing it with this (since I can build a .so callable from CFFI with FreePascal). The benefit would be a smaller overall binary size, and probably higher performance with respect to PCM, FLAC, DSP effects, and so on. This is just a hypothetical right now, though.
Anyway, that’s where I’ve been. Happy Valentines!
