Kait Makes Things

Another Day, Another Ruby Framework to Play in

Hanami 3.0 has dropped and can I just say, the docs are gorgeous. I love the bold fun rebrand and their positive encouraging attitude.

I first stumbled upon it after giving BrutRB a spin and ultimately deciding to let it mature for a bit before I return, but feeling the itch to keep going with ruby. JavaScript all day every day can be a bit dull.

So, to scratch the itch and prepare for using LLMs at work last year (was it only last year? Hot dog), I tried to dictate the build of an app in Hanami 2.3 (while traveling cross-country, of course) to kick the tires. It was there that I realized both the gap in documentation and Warp's insatiable appetite for tokens, though I did manage to scaffold out an e-commerce application of sorts, complete with duplicate authentication in seven places, four layers of middleware, inconsistent slicing. I'm not sure who is out there one-shotting anything of quality, but those experiments were... messy.

I think I learned something along the way? At the very least, I solidified that I learn by doing much more than reading diffs. Show me a working non-trivial example to copy if you really want the concept to stick. They put a lot more ongoing explanation into these new docs than previous versions. I appreciate that.

With the last days of my maternity leave fast approaching, I am finally feeling human enough (and new baby's increased naptime allowing) to sit at the computer for decent stretches to stare at said documentation until something sinks in. There's always a short ramp-up where I fear that I have forgotten entirely how to code, but it always clicks back in before too long.

So far: Structs are impermanent. Decorations are parts. Don't write SQL directly. CRSF errors mean I didn't include deps properly. There are so many status codes beyond 404, 200, and 500. Who knew? (How many of these are standard?) It does feel nice to read stack traces and puzzle over schemas again.

In any case, here's to playing around in ruby in any framework that's not rails.

#dev #ruby