6 ms·
>Docker Maybe it's just me but when I see Docker with a project like this I already zone out. This is still just based on cdparanoia/cdrdao [0]. I wish people
by thrownawaysz 4y ago
>Docker
Maybe it's just me but when I see Docker with a project like this I already zone out. This is still just based on cdparanoia/cdrdao [0]. I wish people would just push single portable binaries instead of starting the whole process with Docker (especially when the source code is alreaedy available)
0, https://github.com/whipper-team/whipper/blob/develop/whipper/program/cdparanoia.py https://github.com/whipper-team/whipper/blob/develop/whipper...
0, https://github.com/whipper-team/whipper/blob/develop/whipper/program/cdrdao.py https://github.com/whipper-team/whipper/blob/develop/whipper...
- sschueller 4y agoI agree with you, however if I had to pick between snap and docker I would go with docker evertime.
- jdsully 4y agoDocker is a life saver if your shipping software on Linux. Otherwise you’re going to have to deal with endless bug reports from oddball distros. Docker lets you test with a stable set of dependencies and know that’s what your users will see.
- orangepurple 4y agoIt's like people forget statically compiled binaries exist
- deleted 4y ago[deleted]
- skybrian 4y agoIt's a good solution, but there are popular programming languages where that doesn't work.
- je42 4y agoHow about flatpak? To fulfil this function?
- hezag 4y agoAnd snap, Appimage...
- dTal 4y agoAppImage is just a handy single-file solution for the very standard "tarball of executable + dependencies" which is good enough for such complex projects as Firefox and Blender. You don't need to integrate with the OS, and you don't need to put everything in a container either. Just include all the binaries and libraries you need, and make sure everything looks in the correct path. That's it.
- robinsonb5 4y agoContainerisation is a clever technology, but I can't help feeling it's a capitulation; an admission that the compatibility problem was just too hard for us to solve. It's undeniably useful and pragmatic, but its existence should be a source of shame, a constant reminder that we failed.
- cpach 4y agoA thought that just popped up in my head: I wonder how a priest would react if someone came to the confessional to talk about Docker and the Open Container Initiative (:
- wwarner 4y agoI think of it exactly the opposite way. Containers show that an extremely high degree of compatibility has been achieved. Think about it, you can run new software, on an unrelated distro, even a newer distro that wasn’t planned when the host distro was created, because they all conform to the Linux ABI.
- mindslight 4y agoYou could also "just" ship a VM disk image and cut down those variables even more... As a user/self-administrator, I really do not appreciate a developer throwing a ton of incidental complexity over the wall. Docker is basically a scaling up of the "works on my system" cop out. I get that there are a lot of oddball distros, but it would seem that a policy of only digging into bug reports on specific well known distros would be more appropriate than basically forgoing the entire concept of a distribution in favor of what are essentially huge static binaries. It's especially a problem when projects go nuts with this Dockerization anti-pattern, and become actively hostile to distributions shipping plainly administerable versions of their software (looking at you Home Assistant).
- kleiba 4y agoThere's no obligation to support every distro on the planet.
- deleted 4y ago[deleted]
- jdsully 4y agoIf you’ve run an open source project you will get these bug reports. It’s also not obvious if it’s a bug in your code or a dependency many times so you’re going to want to debug it. As an example alpine has a smaller default stack size. It’s not obvious if that stack overflow is expected or not.
- kleiba 4y agoSure, you might get them. But you have the option to ignore them, preferably with a friendly message back to the reporter, stating that, say, Alpine Linux is currently not supported.
- dTal 4y agoWhy does it matter what distro you're running on? You shouldn't be relying on anything outside of the tarball you ship, besides maybe glibc. Is there anything which can't be made to run from a self contained directory? I'm sure Docker's great if you want to guarantee that the thing inside can't access the host system, using all kinds of kernel mechanisms, but that's generally the opposite of what you want for application software. The main advantage of Docker for application distribution that I see is that it's lazy. You don't have to worry about keeping track of what's required, you don't have to fiddle with paths, you just hack until something works and then ship it. That's fine if you prioritize your time over your user's time.
- tyrust 4y agoThere are alternatives listed directly below the Docker instructions. Seems like a silly reason to write-off a project.
- kkielhofner 4y agoPackages are available for just about any distro in the next heading. Source is available as well (obviously). Still not a single binary but as you note with it being written in python and based on cdparanoia, etc how would that work? It's based on python with relatively obscure requirements[0] that also calls out to system binaries. Looking at the Dockerfile[1] it is built with specific revs of component software to work around various issues. Take a look at the build docs and you'll see just how many existing projects (python and otherwise) it takes to deliver the end result. IMO Docker is one of the "best" and most straightforward ways to package up all of this with the end result (as usual) putting any Linux user two commands away from ripping a disc. [0] - https://github.com/whipper-team/whipper/blob/develop/requirements.txt https://github.com/whipper-team/whipper/blob/develop/require... [1] - https://github.com/whipper-team/whipper/blob/develop/Dockerfile https://github.com/whipper-team/whipper/blob/develop/Dockerf...
- csdvrx 4y ago> Still not a single binary but as you note with it being written in python and based on cdparanoia, etc how would that work? Cosmopolitan python is a good starting point: https://ahgamut.github.io/2021/07/13/ape-python/ https://ahgamut.github.io/2021/07/13/ape-python/ > IMO Docker is one of the "best" and most straightforward ways to package up all of this No. Using containers has its place. But would you use containers on hello world? Likewise, if you've got to use a container for cd ripping tool, you've failed somewhere.
- anamexis 4y agoThe post you're replying to gave several reasons why something like Cosmopolitan Python is not sufficient. This is nothing like hello world.
- csdvrx 4y ago> This is nothing like hello world. Full disagree. Ripping a CD in 2023 should be as complicated as hello world. > The post you're replying to gave several reasons Let's go through them! > Packages are available for just about any distro I use windows. > It's based on python with relatively obscure requirements So include the modules along with the cosmopolitan python > that also calls out to system binaries Put that logic into the cosmopolitan binary: if Linux then do this, if Windows then do that etc > Take a look at the build docs and you'll see just how many existing projects (python and otherwise) it takes to deliver the end result. Do the same to these extra projects. > most straightforward way The lazy way? Yes. Like if you can't be bothered to implement basic features, have a billion dependencies. If as a consequence you code is unstable, put it into a container, and orchestrate. Here's a simple C equivalent: if you have memory leaks because you know malloc() but don't know about free(), the right solution isn't to kill and respawn when you go above some memory quota, but to learn about free().
- gompertz 4y agoI zone out too and thought it was just me. I think the problem is more that I don't use docker frequent enough so I have to visit the commands each time and do a refresher, which deters me.
- freedomben 4y agoIf you set the suggested alias in your bashrc, there's nothing to remember. I use this same solution for many other things and it's fantastic.
- magicalhippo 4y agoAs a mere user, the thing I like about Docker is that it centralizes the configuration settings and storage. For most Docker instances I run I have a simple script (or compose file) which does everything, and by reading it I know exactly which configuration tweaks I did and where the data is stored. No more forgetting that one line in some non-obvious file in /etc that made everything work. Backing it all up is trivial as the volume mapping makes it clear where the important data is stored. Of course, if the project doesn't have any dependencies and doesn't require tweaking /etc settings to work, then sure a single self-sufficient binary would suffice. However this project relies on Python, so that's probably not gonna work.
- dTal 4y agoJust ship a tarball with your own Python and a venv in it. Blender ships with its own Python and it's just a tarball.
- xen2xen1 4y agoFunny, I was already pre-sad that it probably wasn't dockerized. Wonder if I can combine this with another docker project and this will rip CD's and the other will rip DVD's automatically?
- mynameisash 4y ago> the other will rip DVD's automatically? Do you have a specific project in mind that does DVDs?
- the__alchemist 4y agoI concur. And a standalone program written in Python. I like Python the language, but running someone else's python code is a mess. Look at the build/dependencies etc sections on the page. What it should be: "Download and install this binary for Win, this for Linux, or this for Mac. Run it to use (or install depending on complexity) the program. Or, if building from source is desired for whatever reason, it should be "Clone the repo. Run `cargo build --release` or w/e.
- nixpulvis 4y agoConfiguration software like Docker is the new Java.
- amelius 4y agoNo, Docker is the new apt-get. Snap actually uses the same container technology as Docker. (Not a fan of Snap, though)
- quotemstr 4y agoIt'd be nice if people who insist on distributing software with Docker at least made sure their images worked with rootless Docker. An ecosystem that worked with rootless Docker and that didn't leave large stray image files behind silently eating up disk space wouldn't be that bad.
- deleted 4y ago[deleted]