9
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
I have fallen deep down the rabbit hole that is the Zork Implementation Language (ZIL). Completely by accident a few weeks ago I stumbled upon the ZILF compiler and the awesome people behind it, then just went ham. After writing a Gruescript text game in 2025, I'm totally jazzed to try and put together a true, classical parser game for Ectocomp 2026. I'm chipping away this game bit by bit and loving the whole MDL heritage, the interesting syntax, and the deep nerdery that is reading "Learning ZIL" by Steven Meretzky as if I am some junior INFOCOM implementer from the early 80s. I know it's deeply silly, but sometimes life calls for silly.
My pool temperature sensor, a Dallas DS18B20, seems to have lost its watertightness. The pool water temperature is anywhere between 0 and 60 Celsius woth occasionally showing something believable and sometimes not working at all.
I have my sensors connected to Raspberry Pi and it will be put away in the next week, so I developed a new plan. I'm gonna use ESP8266 and hook it to Home Assistant via ESPHome. The RPi was also reporting temperatures to Home Assistans, but it was real overkill for such a simple task.
I went through my electronic parts collection, found step down, step up and TP4056 battery boards and one perfboard and I started making... mess at our dining table, really. After a few evenings of thinking and soldering I'm done. Just ten minutes ago, I tested everything outside and it works.
The setup is:
This power side of the project links output of step-down and step-up converters through schottky diodes to one single output, meaning if there is sun out, it provides power, when the sun is not out or is insufficient, battery provides power.
This all goes into some kind of Wemos ESP8266 board that has three connectors set up to connect Dallas temperature sensors, each one on its own board pin. Thebperfboard has also quite some room for expansion, so I can add more sensors if needed.
Now I have to design and 3D print some enclosure and holder so it can be all attached on the back of the solar panel.
Derping around with using Falco.Datastar to see if I can get some better F# frontend stuff with less worrying about js.
Datastar is a htmx+ in my eyes that keeps most of your logic on the backend, which is what I want for 99% of my apps (professional or personal).
Falco is a nice lightweight web development stack with routing/view engine/etc, and a datastar wrapper library.
Point being that it looks like I should hopefully be able to develop 99% of any app with basic HTML + F#, no wading through JS. We'll see how far that actually gets, but so far I'm quite happy with what I'm seeing.
I made a small Gopher server in Zig. It reads a request from stdin and outputs the corresponding file content or menu to stdout before exiting, so it's intended to be used with something like inetd or socat. It can either generate menus from directories dynamically, or you can place an ".index.gopher" file in any of the directories which is emitted instead of the directory listing, or a ".header.gopher" file which is emitted before the directory listing. In these files you can omit the host and port columns if you just want to make local links.
Here's the source: https://text.garden/gopher.zig. It's for Zig 0.15.2 and I know that it won't compile for the current version because the way Zig does I/O changed since then, but an upgrade to later versions should only be a small change in the main function.
And today I learned what ZIG is. Thanks! I completely missed this one.
Then you have missed some of the best programming drama in a while!
I just write C/C++ and erlang for legacy stuff. I have no clue what goes on in the world. I'm forever frozen somewhere between 1999 and 2010.
Reminds me a bit of hobbit software :D
I'm pictured here and I kinda think I like it. Me and the lads are admiring some WNDPROCS and conversing over SendMessage, you guys have fun though!
My OpenBSD based web server is basically The Shire.
I've been using it almost exclusively for my personal work in the past few years. Very good quality of life features and it fits naturally where I would otherwise use C. Still very much WIP, but at least for my purposes the individual releases have become stable enough that I can just stick with them until I'm ready to adapt to the changes in the next version.
The design facilitates a style of programming where you can easily avoid dynamic heap allocations. For example, every standard library function that needs to allocate takes an allocator as an argument, where you can plug a general heap allocator, a heap-backed arena allocator, a plain page allocator, an allocator backed by a static buffer, a counting allocator (for tracking leaks) or whatever implementation you can come up with yourself.
I am back working on audiobookcovers.com again. I’ve been trying opus 5 since it released. I realized something that was holding me back. I’ve been working on a system for literally years that properly automates archiving of images from the subreddit, and I have quite little to show for it. My realization is that I enjoy architecting this project much more than writing it. Since modern coding models are good enough to write decent code, I have gotten much closer to the vibe coding side of things. It’s still not entirely vibe coded like some of my projects. I will look into the code where necessary, but I’m generally not looking at it line by line right now. For example, I just rewrote a database schema change that opus proposed. It seems to like to ramp up complexity of a project when it isn’t required.
But it has been quite fun. And I am so much closer to being able to ship an actual useful update than I was even a few days ago.
My first contribution to hermit os was just merged! I've improved the vsock support which is something I'm using for my security oriented webbapp hosting project. I still have some additional patches that fixes issues with running hermit os based applications on firecracker; kvmclock support and some other stuff.
Next focus is to figure out a solid path for postgres replication to backup nodes. I have backups based on the WAL working (all encrypted outside the guest vm), but I think a replication solution and filesystem base backups might be nicer. Needs more work either way.
This week at IndieGamesCafe I'm working on adding emoji support to chat. I thought it should be very simple cuz its all unicode. However styling it properly to fit the text is not easy on web, not to mention encryption and adding emoji reactions to messages. The scope creep continues and I ended up supporting most popular languages for autocomplete and emoji search even if your browser language is English. /s