3 ms·
Not sure what the appeal is for downloading 5 Megabytes and running on a VM (in the OSX case) through a daemon's REST API for what could be a direct exec() of a
by andrewstuart2 10y ago
Not sure what the appeal is for downloading 5 Megabytes and running on a VM (in the OSX case) through a daemon's REST API for what could be a direct exec() of a 250 kb binary (in the case of jq).
Don't get me wrong, for running services without worrying about their dependencies I couldn't be happier than I am with Docker and the slew of tech that's built up around containers. This, however, is a very complicated solution to a really simple problem.
"All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections."
- bfirsh 10y agoI originally made it for stuff with horrendous dependencies: https://mobile.twitter.com/bfirsh/status/824688876056895489 https://mobile.twitter.com/bfirsh/status/824688876056895489 Agreed it's a bit silly for things like jq, but I wanted to see how far I could stretch it. My long-term goal is to have Docker as the only thing installed on my laptop. ;)
- fragmede 10y agoThis actually solves a too-many-layers-of-indirection problems; wherein Python has virtualenv on top of pip, Ruby has bundler on top of gem, both of those sit on top of apt + dpkg or yum/dnf + rpm. Instead of two levels of package management (virtualenv + apt-get), you have one; a docker image.
- Groxx 10y agoIf you're referring to the VirtualBox dependency, that has been gone for a while now. Docker for Mac is noticeably lighter weight and faster (though still a VM, yes). 5MB + REST: oh heck yes. And far slower to start up (though fast enough for most purposes - it's nothing like what it was with VirtualBox). For problematic things like mysql though, I'm thrilled to pay that cost rather than fight with the config / linking / etc song and dance every single time.
- andrewstuart2 10y agoThe vbox dependency is gone but Docker for Mac still runs in a virtual machine (because it has to); it's just now running in a HyperKit VM [1], presumably with a very lightweight linux image. This is akin to switching on Linux from VirtualBox to KVM. It's faster, but it's still full virtualization, with all the pros/cons that brings ( rather than simply kernel-enforced separation. For services (like mysql), though, I agree with you fully. Docker is a wonderful solution in that space, because the savings justify the overhead. For wget and jq? Not so much. [1] https://docs.docker.com/docker-for-mac/#/what-to-know-before-you-install https://docs.docker.com/docker-for-mac/#/what-to-know-before...
- Groxx 10y agoYep, agreed. I do like the sandboxing quality though, as most things I install aren't as widely used and trusted / audited as wget and jq. I might consider using this for well over half of the stuff I touch, simply for default-safety. Anyway. It's pretty clear this is mostly an experiment to see how far it can go, not making any claim to what you should use it for. I think we can agree it's pretty neat, if a bit silly sometimes?