Dependency management in Go: https://research.swtch.com/vgo-principles
There's a tradeoff between work for libraries (declare your minimum version/any incompatibilities) vs work for programs (investigate when dependencies aren't compatible). If programs are more common, should we empower them?
Related Posts
When writing long-lived programs (daemons etc) in Rust, I find myself asking *where* I should put data.
In a GC'd language it's just "I have a string" but Rust forces me to find somewhere to put it.
You do get a performance benefit for this work though.
A pleasant surprise: updating the direct dependencies in difftastic has reduced the total transitive dependencies. I wasn't expecting that.
I've been learning some Common Lisp by writing some simple JSON munging programs. I'm sure it's not best practice — I should probably deserialise to CLOS automatically — but it's a nice way to get comfortable with the basics.
It feels weird deliberately ignoring helpers though.