Protip: If using @DrizzleORM, make regular backups/dumps of your local dev DB. Migrations can't be undone (yet?) so if you want to change something without making a new migration, you'll have to roll back.
I think I'll give Zig another year! It's really neat, but the core features and standard library are still changing really fast, which means the docs are minimal and it's hard to tell how to do very common things. Look forward to seeing where things land, though.
I've been making my way through Ziglings (https://t.co/AnNrV6PB4v). A very neat language! Every time I think that the comptime stuff is gonna absolutely melt my brain, it all just kind of... falls into place. Excited to learn more.
The last couple of days for #AdventOfCode, I've done a naive solution for Part Two that takes way too long to run, and ran that in the background while working on something more sensible.
That way I get the early star on the leaderboards and still have the fun of optimization :)
Earlier today: "Ah, as long as I'm in Rust for Advent of Code and having fun, I may as well continue slowly migrating my Kotlin sideproject to Rust..."
Now: "AAAAAAH JNI IS WEIRD AND EVERYTHING IS ON FIRE"
Pro tip for #AdventOfCode: this is a great time to practice a test-first workflow! Each challenge gives you sample inputs and expected results, and often a few distinct steps to build up to the final answer. Write a test for that step, then write the code that computes it!
Next up: probably Advent of Code. But I also kind of want to dabble in Assembly a little more and finish that book I started on it.
I considered doing Advent of Code in Assembly and immediately thought better of it.
After 10 days, my little reading list randomizer prototype is functional! There's more I'd like to add to it, but I'm reaching the point where it's clear I'll need to rearchitect some stuff, so I'll take a break and figure out my next steps. Some lessons learned:
SQL is such a weird language. It kind of resists efforts to break complex expressions down into smaller named pieces. You can do it, especially in Postgres, but it's not as effortless as my JavaScript instincts have been accustomed to.
Next up: I want that random list to actually get saved to the database. Mostly so that you can get back to it and mark it as Seen! But also, it might help with analytics and learning your preferences down the road.
To control the scope of my side projects, I use what I call a "hyper-agile" process. Basically I just always ask myself, "if I could only add one more feature, what would it be?" This really helps!