I've been reading about the object-capability model as seen in the E programming language.
It reminds me of dependency injection, but used pervasively. Rather than calling static methods, you pass in object arguments and call methods in them.
miniblog.
Related Posts
LLMs seem to handle dependency upgrades really well.
The task is well-specified, there's usually a build/test suite to check correctness of the modifications, and there's often a changelog they can consume too.
I made some changes to a node express project that I haven't touched in almost five years. I was pleasantly surprised that I only needed to update one dependency to get it working again!
(It was sqlite3, which is a native dependency using node-gyp.)
I struggle with dependency syntax. I never remember what ^1.2.3 means or how it differs from ~1.2.3.
I believe both npm and cargo assign the same meanings to this notation, but it's less obvious than e.g. 1.x.
1.2.3 isn't an exact version constraint either!