So, one of the moments I enjoy greatly is when you brain unlocks a concept. I've been poking at Rust and Axum a bit, also using SeaORM for the database side of things. I want to store some PostGIS stuff related to airports but I don't want to screw around in the code too much trying to manage the types... so I made my own Rust type and they just work. This is what Claude and other AI tools take away from me. The struggle is part of learning and without it, you never actually understand what you're doing.
Not that I perfectly understand things, mind you. It is important to test your assumptions and keep refining your mental model of how things work. This understanding allows you to accomplish great things and, much like puzzles, gives the intellectual satisfaction of solving things.
More to do! Always more to do. I'm trying to setup a whole thing here so I can make light up METAR map wall art. Ideally I can setup the maps in a nice UI with LED layouts, the rust code can generate the files the cnc machine will use to cut holes and also let the devices (separate rust codebase of mine) query my backend to get their weather, which I can figure out from the map layout they are using.
This is mostly just a project for learning a few different things (embedded rust, rust apis, postgis, godot rust) and it is tying together nicely so far. I'm figuring out weird pitfalls as I go, things that Spring Boot has spoiled me for that Axum and Rust do not. On the flip side of that, there are features I really wish Java had in here (and I miss Kotlin but that is a whole separate post).
It is nice to feel joy in programming again, I haven't felt that in a long while.
Now I need to figure out my data models and how to better utilize those between my controller <-> service <-> repo layers in a way that isn't so repetitive.
Other fun is I have a nice docker-compose setup to run the full stack. I figure I'll have my server eventually pull from self-hosted git and build the image, then deploy itself. I ran the server all day to let it soak a bit when fetching METARs and it worked great. Again, very satisfying to do it all myself.