(From a chat about Docker - a tool for encapsulating complexity in software application deployment.)


Today I'm ruminating on my dream for a unified source-code package management DSL that's language agnostic. Package management: "there's one DSL for rbenv, one more for python's virtualenv, composer et al for php, cabal freeze for haskell, etc.etc. How about just one DSL? It can be done."

"This flies in the face of why we use containers in the first place."

Really? Well call me 'greedy,' then. Docker fixes a problem in deployment; I want something that fixes a problem in computing. Using containers to encapsulate complexity in language stacks (source code, to runtime, and whatever lies between) is like using a bazooka on a mosquito; the foreseeable future will be more like the laser mosquito zapper - however far off that is (the mosquito laser already exists, IIRC). Bazookas are not the best analogy - containers are probably more like "avoiding mosquitos by hiding  under a net".


And after that, I'd like a unified FFI that's language agnostic (I know, it's called the OS, sockets etc. -_-, but no), so that building, and deploying multilingual applications becomes trivial in complexity. Much work to be done.

On one hand, shared-kernel containerisation was invented to solve problems in software configuration management (I don't mean source code management). On the other hand, I think the problem I'm concerned with is where we are in history, in terms of how operating systems, and machine nodes, and binaries, and source code are related to each other. The current situation is too complicated. It will get more complicated. But it will one day be much cleaner.


So if I let myself get distracted by all this, I'll never get back to that interest in improving the "standard mathematical notation," "permanently breaking the turing test," and that other one of "a MECE education syllabi."

What Docker does for devops, I've always wanted to see more of in the broader universe of human knowledge management - whether it's framed as information studies, or civilisation, or education, or math & scientific notation, I don't really care. It's all the same fundamental units of computation after all.


Ah, a good day for listing dreams!


No comments :

Post a Comment