|
xtal posted:Isn't Docker's package management just sweeping the underlying package manager under the rug? Most images use apk, apt-get, rubygems or whatever and aren't reproducible. Uh, yeah they are?
|
# ? Feb 19, 2020 00:31 |
|
|
# ? May 27, 2024 04:04 |
|
necrotic posted:Uh, yeah they are? What happens when a package is depreciated or otherwise removed?
|
# ? Feb 19, 2020 00:41 |
|
The Fool posted:What happens when a package is depreciated or otherwise removed? Well, obviously it won't work if a source package is removed. That's true of any build system, though. If you want truly reproducible builds you have to vendor everything you use, that's no different here.
|
# ? Feb 19, 2020 00:52 |
|
The Fool posted:What happens when a package is depreciated or otherwise removed? Use the snapshot repository?
|
# ? Feb 19, 2020 00:53 |
|
As someone who uses Docker exclusively for OS virtualization, I find this semantic debate fascinating.
|
# ? Feb 19, 2020 00:59 |
|
Volte posted:The images aren't supposed to be reproducible from the Dockerfile, in fact going to great lengths to ensure that they are is kind of counter to the entire point of Docker. The environments themselves are reproducible, via the images. If the problem is "my environment isn't reproducible because it depends on the whims of apt-get", the solution provided by Docker is "run apt-get one time and then snapshot the output, then never run apt-get again". The scripts that generate the images aren't important to the end user and there's no actual requirement that the average user ever writes or even executes a Dockerfile to use Docker for its intended purpose. I think that fits the defintion of "sweeping under the rug" I removed it from my earlier post but NixOS does what Docker does in a considerably better way. I just didn't want someone to poke a hole in NixOS and say that means Docker is good. Containers on NixOS are reproducible, defined declaratively as opposed imperatively, and use the same chroot + cgroups foundation as Docker. You have a fully integrated package manager and don't have a concept of container imagers versus standard code, you just decide to run certain code inside a container by indenting it two levels. You use the standard UNIX tools instead of Docker wrappers you need to learn. The internetworking can even be set up fully typed and statically guaranteed! But if Docker is like JavaScript, NixOS is like Haskell. xtal fucked around with this message at 01:23 on Feb 19, 2020 |
# ? Feb 19, 2020 01:13 |
|
Your description of nixos makes it sound like a simple wrapper around cgroups that doesn't handle package management at all. So I'm not sure it really fills the same role as docker?
|
# ? Feb 19, 2020 01:26 |
|
Jabor posted:Your description of nixos makes it sound like a simple wrapper around cgroups that doesn't handle package management at all. So I'm not sure it really fills the same role as docker? It definitely does include package management, I must have not explained it well. NixOS can run arbitrary packages (nixpkgs) inside containers, but doesn't have a separate concept of container images versus ordinary packages. Containers can also refer to each other by name which is how you have static guarantees about how they communicate. https://nixos.org/nixos/manual/#sec-declarative-containers The `docker run` thing can also be replicated on NixOS with something like `nix-shell -p gimp --run gimp` which I do often for apps I don't want to keep around. xtal fucked around with this message at 01:36 on Feb 19, 2020 |
# ? Feb 19, 2020 01:32 |
|
Okay, so once I've set up my app in a nixos container, how do I ship it to run on some other machine the same way I would send a docker image around? Do I have to just send the configuration file that defines the container and hope that whatever machine is running it is able to access all the same packages?
|
# ? Feb 19, 2020 01:37 |
|
Jabor posted:Okay, so once I've set up my app in a nixos container, how do I ship it to run on some other machine the same way I would send a docker image around? Sending the configuration file is one way, but the consumer would have to have access to the Internet (or wherever the packages were originally from.) You can also send the built derivation (which isn't necessarly a container, as you can run it inside or outside a container) and all of its dependencies. This would be something like /nix/store/1.0.0-my-app which depends on /nix/store/1.0.0-ruby which depends on /nix/store/1.0.0-pcre. Since users are permitted to run multiple, isolated versons of the same package, this is totally fine. NixOps, the pseudo-official NixOS devops tool, does it this way. There are tools to make this efficient, and it's easier to optimize since each package is reproducible and hashed for verification. https://nixos.org/nix/manual/#sec-nix-copy-closure This is all talking about a hypothetical future where we're all using NixOS, but I would rather focus on an ideal future instead of deal with a short-term hack. xtal fucked around with this message at 01:44 on Feb 19, 2020 |
# ? Feb 19, 2020 01:42 |
|
xtal posted:This is all talking about a hypothetical future where we're all using NixOS, but I would rather focus on an ideal future instead of deal with a short-term hack. Okay. Us here in the real world will continue using the tool that actually works and solves our problems today instead of waiting.
|
# ? Feb 19, 2020 01:49 |
|
The real world is a steaming pile of crap, so your strategy isn't working very well. We are, after all, in the Coding Horrors thread. Software is in a state of crisis. I think that we need to focus on correctness for once and treat our craft with respect. Layering bandage upon bandage has got us so far. It's also disrespectful to the people trying to progress the state-of-the-art when you poo poo in the pool and ruin it for them too. Wise people told us we never should have (example) allowed JavaScript, and now those wise people probably have to write JavaScript because morons didn't listen. It must be very frustrating to always have to code for the lowest common denominator. xtal fucked around with this message at 02:06 on Feb 19, 2020 |
# ? Feb 19, 2020 01:53 |
|
Jabor posted:Okay. Us here in the real world will continue using the tool that actually works and solves our problems today instead of waiting. Alcohol is just one of many tools in the toolbox though.
|
# ? Feb 19, 2020 01:58 |
|
xtal posted:The real world is a steaming pile of crap, so your strategy isn't working very well. We are, after all, in the Coding Horrors thread. Software is in a state of crisis. I think that we need to focus on correctness for once and treat our craft with respect. Layering bandage upon bandage has got us so far. There's a mile of difference between actually progressing the state of the art, and ivory-tower "this would be perfect if only the entire world stopped what they were doing and started doing this instead". (Spoilers: it wouldn't be perfect, you just don't have enough people hammering at it to run into all the pain points that people have already encountered and successfully dealt with in the extant tools).
|
# ? Feb 19, 2020 02:13 |
|
Volmarias posted:Alcohol is just one of many tools in the toolbox though. devops? more like devoops amirite
|
# ? Feb 19, 2020 02:16 |
|
We all have to immediately migrate to the single correct, perfect method. According to this Medium article I just read, it addresses all the weak points of the previous correct, perfect method, which is now deprecated because it is only trash some kind of moron would use.
|
# ? Feb 19, 2020 02:17 |
|
Space Gopher posted:We all have to immediately migrate to the single correct, perfect method. According to this Medium article I just read, it addresses all the weak points of the previous correct, perfect method, which is now deprecated because it is only trash some kind of moron would use. Picture this, but if all of the correct solutions actually came out in the 1960s, and it's been going downhill and in circles since then. The people old and wise enough to realize it are dealing with some resentment over their Cassandra complex. vvv: I like and agree with your post! Solidarity with Kickstarter and I will redouble my organizing efforts. xtal fucked around with this message at 02:35 on Feb 19, 2020 |
# ? Feb 19, 2020 02:19 |
|
xtal posted:The real world is a steaming pile of crap, so your strategy isn't working very well. We are, after all, in the Coding Horrors thread. Software is in a state of crisis. I think that we need to focus on correctness for once and treat our craft with respect. Layering bandage upon bandage has got us so far. Those “wise” people could have worked on organizing tech unions instead of bike-shedding over what tool they use to build some bullshit enterprise application. There’s very little dignity to be had in this industry because of their hubris.
|
# ? Feb 19, 2020 02:26 |
|
I write javascript and it's not that bad tbh. Docker is ok and large parts of the tooling could be way better but as a tool, it works
|
# ? Feb 19, 2020 02:48 |
|
Suspicious Dish posted:I write javascript and it's not that bad tbh. Don't you work at Red Hat or something? Because PulseAudio is the JavaScript of that too.
|
# ? Feb 19, 2020 03:07 |
|
Jabor posted:There's a mile of difference between actually progressing the state of the art, and ivory-tower "this would be perfect if only the entire world stopped what they were doing and started doing this instead". I don't know, I'm doing fine in Windows world without containers and without this nonsense, doing state of the art tech I'm not going to get into in order to not doxx myself. One of the things I do is occasionally get in touch with a library developer and tell them I need a binary that supports a later compiler than they have in their sample I can link to, or else I can't evaluate their product. And they do it! Another thing I do is realize that a library has advanced in a breaking way since we last used it, but I need the latest version to support something else, so guess what? I update our support to the latest version. It takes some time, but it's not hard to do! But you have to do it regularly, or you accumulate technical debt, and block yourself off from future features of important pieces of hardware, and no amount of containerization is going to save you from that.
|
# ? Feb 19, 2020 03:10 |
|
I left red hat 6 years ago, the linux desktop world 4 years ago, and anything linux-adjacent 3 years ago. Not sure what you're talking about though. You had multiple opportunities to pick actual javascript (gnome-shell, polkit) and somehow landed on pulseaudio of all things...
|
# ? Feb 19, 2020 03:12 |
|
Absurd Alhazred posted:I don't know, I'm doing fine in Windows world without containers and without this nonsense, doing state of the art tech I'm not going to get into in order to not doxx myself. I have one project I need to use WSL to compile and that's about as messy as my Windows pipeline gets. Except for one piece of FOSS that I needed to install node in order to compile the build system in order to build an MSVC solution because the developer refused to supply binaries. We ended up not using the software.
|
# ? Feb 19, 2020 03:25 |
|
Absurd Alhazred posted:I don't know, I'm doing fine in Windows world without containers and without this nonsense, doing state of the art tech I'm not going to get into in order to not doxx myself. At my job, also a windows shop, we relatively recently moved from Newtonsoft.Json 4.5.11 to some version in the 6 range. That's up to... version 12 now? Definitely don't recommend waiting.
|
# ? Feb 19, 2020 04:05 |
|
Space Gopher posted:We all have to immediately migrate to the single correct, perfect method. According to this Medium article I just read, it addresses all the weak points of the previous correct, perfect method, which is now deprecated because it is only trash some kind of moron would use. I just looked at the trash moron wiki and it's not deprecated??? this post is misleading and I am going to bombard you with pedantic tweets about it until you snap and tell me to gently caress off
|
# ? Feb 19, 2020 11:27 |
|
skull mask mcgee posted:Those “wise” people could have worked on organizing tech unions instead of bike-shedding over what tool they use to build some bullshit enterprise application. There’s very little dignity to be had in this industry because of their hubris. Hello? What? Everyone is arguing loudly about docker or containers or some poo poo down here, we can't hear you all the way up there on that horse
|
# ? Feb 19, 2020 11:29 |
|
One of the problems of software is every tool created to make things easier allow worse people to write worse code. Python enable science and math types to write code, but these people have not concept of usability, portability, maintainability, abstraction leaks, ... .. so they write 20 lines long scripts that need a entire virtual OS around them to even run.
|
# ? Feb 19, 2020 12:05 |
|
Tei posted:One of the problems of software is every tool created to make things easier allow worse people to write worse code. Ugh, I hate it when worse people show up. Those guys are the worst.
|
# ? Feb 19, 2020 12:20 |
|
Tei posted:One of the problems of software is every tool created to make things easier allow worse people to write worse code. Would you prefer they did it in an even worse language like matlab or R? Or maybe in fortran like the good old days?
|
# ? Feb 19, 2020 12:29 |
|
I'd rather have a Python module with Fortran inside instead of the severely outdated debian old-old-old-oldstable docker image with pre-heartbleed openssl and f77 inside.
|
# ? Feb 19, 2020 12:44 |
|
Soricidus posted:Would you prefer they did it in an even worse language like matlab or R? Or maybe in fortran like the good old days? Thats not the correct path. That would be worse. I think the best way is to teach them usability, maintainability and all the other isms. Write. Better. Code.
|
# ? Feb 19, 2020 12:45 |
|
Soricidus posted:Would you prefer they did it in an even worse language like matlab or R? Or maybe in fortran like the good old days? I actually like matlab for the way it (i) doesn’t change core functionality every time one of the devs has a meltdown and (ii) warns you at least two versions beforehand on the rare occasions when it does
|
# ? Feb 19, 2020 12:55 |
|
You probably also admire it for how it indices arrays, you heathen.
|
# ? Feb 19, 2020 13:13 |
|
Every scientist has an opening in their careers for learning to code. One or two semesters. Before that, they can't code. After that, they can't learn any new code. E: typing some auto Ola fucked around with this message at 14:27 on Feb 19, 2020 |
# ? Feb 19, 2020 13:40 |
|
Hammerite posted:Hello? What? Everyone is arguing loudly about docker or containers or some poo poo down here, we can't hear you all the way up there on that horse i was being partly facetious, when i responded to the post claiming that programming is bad now because people ~decided~ to use certain technologies against the advice of graybeards, as if those decisions were made in a vacuum free from the pesky influence of material reality
|
# ? Feb 19, 2020 14:14 |
|
Antigravitas posted:You probably also admire it for how it indices arrays, you heathen. It uses the zero for other things, such as the proportion of each module that has no documentation, the number of ‘hilarious’ Monty Python references you will encounter while reading that documentation, and the number of times you will be forced to type something as stupid as ‘import beautifulsoup4’
|
# ? Feb 19, 2020 14:18 |
|
Ola posted:Every scientist has an opening in their careers for learning done coding. One or two semesters. Before that, they can't code. After that, they can't learn any new code. Is a same. They say Einstein had poor math skills and had to ask favours to help him up to the task. If Math is the language of physics, code is the language of data. If you pay attention that your math is good, you should also pay attention how your data is processed. Tei fucked around with this message at 14:42 on Feb 19, 2020 |
# ? Feb 19, 2020 14:26 |
|
By the way, speaking of Matlab, this is piece of software I had to install, with DRM written in Matlab. You can't copy and paste from this dialogue box.
|
# ? Feb 19, 2020 15:58 |
|
https://www.youtube.com/watch?v=fA7P3KIqbog
|
# ? Feb 19, 2020 18:56 |
|
|
# ? May 27, 2024 04:04 |
|
Lol at the ArgOS showing after a normal windows boot, meaning that this "OS" is actually a shell running inside windows.
|
# ? Feb 19, 2020 19:04 |