To review the history of my ~/.plan file and see progress over time, you can see the history on the Starfort Source Vault.
These days I’m mostly focused on my day job, which means I won’t publish a lot of personal code, but the good news is that most of my work is open source on Repo1, and you can follow me there.
Recent Progress
- Started my embedded development journey. Started out with a Freenove ESP32-S3 WROOM board. About 1/3 of the way through their C tutorials. Built a cascading LED waterfall that rolls through and fades lights with PWM off the GPIO pins, and uses a button to change the direction of the scroll.
- Built a primitive timeclock for my son to log hours working for me on household projects and deployed it into my kubernetes cluster
- Moved entirely off of GitHub and onto self-hosted infrastructure (the server hosting this is in my living room)
- Minor bugfixes to libakerror to improve detection of functions that should return
akerr_ErrorContext *but don’t - Added
atofto my libakstdlib - Improvements and bugfixes to my [libakgl] game library
- Correctly interpret relative paths when loading assets
- Abstracted the rendering layer out into an
akgl_RenderBackendobject to make it easier to swap in GPU rendering later - Implemented pluggable physics through
akgl_PhysicsBackendand started work on an arcade physics engine. Moved away from primitive movement mechanics (input directly sets velocity) to a more proper physics simulation (input drives thrust, actor characteristics drive acceleration, gravity and atmospheric drag are counteracting forces)
- Updated my akgl test demo to use the new pluggable renderers and physics systems, updated assets for relative pathing and physics data, as well as additional HUD data for player velocity and positioning data
Specific Plans
- Complete the 2026 Marion fire academy, and produce a better plan for 2027. This academy has been just as much work as the last one, I need to be able to step away more from the next one and let the junior instructors handle more of the classes.
- Add collision detection to the libakgl arcade physics engine. Actors should be able to stand on things, run into things, and slide down angles.
- Complete ESP32 Serial communication and Sensor projects
- Plan and implement a distributed storage network for myself and my relatives. One of us recently suffered a catastrophic data failure on their NAS and there were no backups. This was a serious wake-up call that RAID in one location is not enough, so we’re taking steps towards geographically distributed replicated backups.
Musings
You will stop at nothing to reach your objective, but only because your
brakes are defective.