This year I am lazy. I really don't have much time for AoC currently. The code will be ugly. I will have no neat framework testing and running the code.
The initial plan was to solve as much as I could with GPU shaders and massive parallelism to learn about those things, since I am slowly porting candle to Vulkan, and need to be able to write good compute shaders for that purpose. But.. I found no time to even start on the framework I need, due to real work.
So I decided to do the days in Rust as usual, but with some extra constraints for nostaligic purposes. This is how I grew up on programming:
- While solving a puzzle, I am not allowed to use Internet for looking things up. No Wikipedia, no Stack Overflow. No Googling. Obvious exceptions is the AoC website, and rustdoc, since that is available locally in the Rust installation anyway.
- Of course no AI, not even local models.
- No external crates. Just stdlib. E.g. no regexes.
- I will (and this is perhaps the most glaring abuse of my nostalgia rules) use a modern IDE, but without AI, just the normal automatic lookup of function documentation, like signatures, and type hints. Writing Rust without some IDE support, would waste too much time.
Silly constraints, but it provides some good exercises in reinventing or remembering algorithms, which I think is good braintraining for a man coming to age (I am 59 years old, have been programming since I was 13).
Also this year, I do not care about getting up at 06 CET. I will do it whenever I find time in the day. I will of course try to not be more than 24h late, it looks ugly on the leaderboard, even if the results are ugly anyhow.