10
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?
When the ooh.directory site made its way to HN & Tildes a month ago (https://tildes.net/~tech/13hp/ooh_directory), it made me want to start up a blog/journal again, so I created https://ari.blumenthal.dev, with the fun catch that the whole site is an infinite 2d grid.
You can unlock a minimap for the blog, but if folks have other ideas for cool easter eggs, send them my way!
This is awesome! I'm sharing it in a couple of places.
Is the font Dijkstra's handwriting?
Thanks! And correct! I read https://joshldavis.com/2013/05/20/the-path-to-dijkstras-handwriting/ recently which was a blog post about learning to replicate Dijkstra’s handwriting and found a version of it as a font at http://lucacardelli.name/indexArtifacts.html
I got into playing Quake (the original) and its many user-made levels again recently. While playing, I've often thought to myself that it would be neat to be able to use the game as a sandbox that I can write scripts to immediately affect while I'm in-game. The game is open-source, so this seems very feasible. I decided a good way to do this would be if the game exposed an HTTP API locally, as it's a popular method for inter-process communication and has the bonus of being easy to integrate with a web app if I wanted to later or expose across a network (so I could write code on my laptop affecting a running game on my Steam Deck, or let a friend online write code to affect my game).
Quake is written in C, but I don't want to write much code in C as it's not a memory safe language, which as someone interested in computer security is something I strongly believe should be minimized especially for network-facing code, and it lacks a lot of nice things of Rust, like the package manager Cargo which makes using new libraries infinitely more pleasant than using libraries with C, especially for a cross-platform project. I've forked vkQuake and started integrating Rust code of my own into it. I updated the build scripts for each platform vkQuake supports (Windows, Linux, and Mac) to handle Rust code in the project, and I've even got continuous integration with Github Actions building the project on each platform on every commit. I've integrated the Axum web server into it, and I've got it responding to HTTP requests with "hello world" while the game is running. Next I need to actually make it read and write to game data.
A second entry in the theme of an infinite 2D surface.
I installed Firefly III after some decent struggles getting Docker to do what I wanted. Finally free from paid personal finance software.