3 ms·
For me it's about the ROAC property (Runs On Any Computer). I prefer working with stuff that I can run. Running software is live software, working software, lov
by dboreham 2y ago
For me it's about the ROAC property (Runs On Any Computer). I prefer working with stuff that I can run. Running software is live software, working software, loved software. Software that only works in weird places is bad, at least for me.
Docker is pretty crappy in most respects, but it has the ROAC going for it.
I would love to have a "docker-like thing" (with ROAC) that used VMs not containers (or some other isolation tech that works). But afaik that thing does not yet exist. Yes there are several "container-tool, but we made it use VMs" (firecracker and downline), but they all need weirdo special setup, won't run on my laptop, or a generic Digitalocean VM.
- 01HNNWZ0MV43FF 2y agoYeah that's kind of a crummy tradeoff. Docker is "Runs on any Linux, mostly, if you have a new enough kernel" meaning it packages a big VM anyway for Windows and macOS VMs are "Runs on anything! ... Sorta, mostly, if you have VM acceleration" meaning you have to pick a VM software and hope the VM doesn't crash for no reason. (I have real bad luck with UTM and VirtualBox on my Macbook host for some reason.) All I want is everything - An APE-like program that runs on any OS, maybe has shims for slightly-old kernels, doesn't need a big installation step, and runs any useful guest OS. (i.e. Linux)
- neaanopri 2y agoThe modern developer yearns for Java
- smallmancontrov 2y agoI had to use eclipse the other day. How the hell is it just as slow and clunky as I remember from 20 years ago? Does it exist in a pocket dimension where Moore's Law doesn't apply?
- TurningCanadian 2y agoThat's not Java's fault though. IntelliJ IDEA is also built on Java and runs just fine.
- qwery 2y agoI think it's pretty remarkable to see any application in continuous use for so long, especially with so few changes[0] -- Eclipse must be doing something right! Maintaining (if not actively improving/developing) a piece of useful software without performance degradation -- that's a win. Keeping that up for decades? That's exceptional. [0] "so few changes": I'm not commenting on the amount of work done on the project or claiming that there is no useful/visible features added or upgrades, but referring to Eclipse of today feeling like the same application as it always did, and that Eclipse hasn't had multiple alarmingly frequent "reboots", "overhauls", etc. [?] keeping performance constant over the last decade or two is a win, relatively speaking, anyway
- dijit 2y agoI agree, that you've pointed it out to me makes it obvious that this is not the norm, and we should celebrate this. I'm reminded of Casey Muratori's rant on Visual Studio; a program that largely feels like it hasn't changed much but clearly has regressed in performance massively; https://www.youtube.com/watch?v=GC-0tCy4P1U https://www.youtube.com/watch?v=GC-0tCy4P1U
- password4321 2y ago> without performance degradation Not accounting for Moore's Law, yikes. Need a comparison adjusted for "today's dollars".
- marcosdumay 2y agoIt's not as slow as it was 20 years ago. It's only as slow as you remember because the actual performance was so bad that you can't physiologically remember it.
- gryfft 2y agoMaybe just the JVM.
- mschuster91 2y agoJava's ecosystem is just as bad. Gradle is insanely flexible but people create abominations out of it, Maven is extremely rigid so people resort to even worse abominations to get basic shit done.
- compsciphd 2y agodocker is your userspace program carries all its user space dependencies with it and doesn't depend on the userspace configuration of the underlying system. What I argued in my paper is that systems like docker (i.e. what I created before it), improve over VMs and (even Zones/ZFS) in their ability to really run ephemeral computation. i.e. if it takes microseconds to setup the container file system, you can run a boatload of heterogeneous containers even if they only needed to run for very shot periods of time). Solaris Zones/ZFS didn't lend itself to heterogeneous environments, but simply cloning as single homogeneous environment, while VMs suffered from that problem, they also (at least at the time, much improved as of late) required a reasonably long bootup time.
- klooney 2y ago> Runs on any Linux, mostly, if you have a new enough kernel" New enough kernel means CentOS 5 is right out. But it's been a decade, it'll run on anything vaguely sensible to be running today
- 01HNNWZ0MV43FF 2y agoMaybe I'm just grumpy that once you line up the support windows, it's impossible to get new software on old hardware, even though the "oomph" is there Maybe my next big hobby project should be emulating bleeding-edge Linux on some old 686 hardware. Like that guy who booted Ubuntu on an 8-bit AVR in a matter of mere days
- ThreatSystems 2y agoVagrant / Packer?
- gavindean90 2y agoWith all the mind share that terraform gets you would thing vagrant would at least be known but alas
- tptacek 2y agoSomebody educate me about the problem Packer would solve for you in 2024?
- kasey_junk 2y agoI think the thread is more about how docker was a reaction to the vagrant/packer ecosystem that was deemed overweight but was in many ways was a “docker like thing” but VMs.
- tptacek 2y agoOh, yeah, I'm not trying to prosecute, I've just always been Packer-curious.
- yjftsjthsd-h 2y agoWhat's a better way to make VM images?
- DaanDeMeyer 2y agoThere's lots of tools in this space. I work on https://github.com/systemd/mkosi https://github.com/systemd/mkosi for example.
- sgarland 2y agoMaking machine images. AWS calls them AMIs. Whatever your platform, that's what it's there for. It's often combined with Ansible, and basically runs like this: 1. Start a base image of Debian / Ubuntu / whatever – this is often done with Terraform. 2. Packer types a boot command after power-on to configure whatever you'd like 3. Packer manages the installation; with Debian and its derivatives, this is done mostly through the arcane language of preseed [0] 4. As a last step, a pre-configured SSH password is set, then the new base VM reboots 5. Ansible detects SSH becoming available, and takes over to do whatever you'd like. 6. Shut down the VM, and create clones as desired. Manage ongoing config in a variety of ways – rolling out a new VM for any change, continuing with Ansible, shifting to Puppet, etc. [0]: https://wiki.debian.org/DebianInstaller/Preseed https://wiki.debian.org/DebianInstaller/Preseed