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
+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.
-
-
- 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. +
- Learning embedded development. I’m working through a process that will take me through Arduino on ESP32, then into bare metal programming on an STM32 Nucleo board, then mastering advanced stuff like trusted security modules on STM32H5, then RTOS with more STM32, then FPGA programming on an Artyx. Along the way I’m experimenting with PIC microcontrollers and other embedded toys as well. I hope to complete this course by some time in 2027. +
- Relaxing after a successful fire academy. The first half of every year is devoted to training firefighters in Marion County, Georgia. We just graduated 3 new support firefighters and 3 new suppression firefighters, so I’m taking a break from training for a while to focus on other things. +
- Working on a tinyhouse for my oldest daughter. She has been very patient with me to complete this project, but I absolutely need to bear down and get this done. She deserves it, and besides, I promised.
My ~/.plan history is on the Starfort Source Vault.
Musings
You will stop at nothing to reach your objective, but only because your
@@ -675,7 +659,7 @@ style="padding-right: 2px;"> TOC
brakes are defective.