No offense but it sounds like you don’t actually understand nix flakes if you think they’re 1:1 equivalent to Docker.
They simply are not containers. They allow the declarative BUILD of any derivation at any time in the future. They hermetically lock all dependencies and build instructions which allows you to archive and reproduce the EXACT content-addressed dependency graph of the software. You can rebuild using a flake while Docker doesn’t actually allow that same hermetic reproducible guarantee whatsoever.
See here for a much better explanation of the glaring differences between the two: youtu.be/0uixRE8xlbY
You could even build a container with a flake though I’d recommend OCI instead because they’re an open standard…
This is programmerhumor so perhaps allow for a bit of hyperbole on my part. I wasn’t completely factual.
However the initial days of Docker were effectively promising to solve the exact same “it works on my laptop” problem. The idea was that developer builds docker image and pushes it to repository where it can pass through CI and eventually the same image gets to production.
As you can see, this effectively reproduces the EXACT content as well, because you transfer the files in a set of tar files.
It didn’t work for many reasons. One of which is the fact that it’s often not so much about the exact files, but the rest of the environment like DBs, proxies, networking, etc that is the problem. I’ve seen image misbehaving in production due to different kernel version/configuration.
I know it’s a strange place for this conversation but the facts remain: docker images don’t do this and nix flakes actually do. As the video I linked demonstrates and you allude to, Docker files aren’t 100% hermetic (which means they’re not reproducible) while Nix flakes actually do achieve this. Watch the video I linked for more explanation which directly talks about how nix works with the goals of Docker that you mentioned in the head of your last comment. I hope my non-confrontational tone comes across somehow. This is all said with respect and in the spirit of science.
First of all. Thank you for civil discussion. As you say this is weird place to have such discussion, but it’s also true that these jokes often have some kernel of truth to them that makes these discussions happen organically.
So with that out of the way and with no bad intentions on my side:
I’ve noticed you use Dockerfiles and Docker Images interchangeably. And this might be the core of misunderstanding here. What I was describing is that:
Developer builds an image (using Dockerfile or otherwise) on their laptop and then pushes that image to a Docker repository.
This exact same image is then used in CI to do integration tests, scanning, whatever…
If all is good, this image is then deployed to production.
So if you compare sha of the image in production and on developers laptop, they are the same checksums. Files are identical. Nix arrives to this destination kind of from the other side. Arguably in more elegant way, but in both cases files are the same.
This was the promise (or one possibility) in the early days of Docker. Obviously there are some problems with this approach. Like what if CPU architecture of the laptop differs from production server? Well that wasn’t a problem back in 2014, because ARM servers just didn’t exist. (Not in any meaningful way) There’s also this disconnection between the code that generates the image and the image itself, that goes to production. How do you trust environment (laptop) where image is built. Etc… So it just didn’t stick as a deployment pattern.
Many of these things Nix solves. But in terms of “it works on my laptop” what I wrote in previous comment applies. The environment differences themselves rather than slightly different build artefacts is what’s frequently the problem. Nix is not going to solve the problem of slightly different databases because developer is runing MariaDB locally to test, but in production we use DB managed by AWS. Developer is not going to catch this quirky behavior of how his app responds to proxy, because they do not run AWS ELB on their laptop, but production is behind it. You get the idea.
When developer says it works okay on their laptop, what it usually means is the they do not have 100% copy of production locally (because obviously they don’t) and that as a result they didn’t encounter this specific failure mode.
Which is not to say, that Nix is bad idea. Nix is great. I’m just saying that there’s more to the “laptop problem” than just reproducible builds - we had those even before Docker Images.
Hope that makes sense. And again, thanks for civil discussion.
I think most, if not all the major 3rd party app devs are working on something for Lemmy now. Reddit has not only devalued themselves, but made the Fediverse 100% more accessable. I'm a Boost user so this is awesome news. There are so many Lemmy apps in the pipeline. I've tried Connect Jeroba and Thunder. At this point they're all newish, and pretty much the same. Hopefully all this app competition will lead to new innovation. Lemmy users are the winners here. We're witnessing the dawn of the Lemmy app wars.
oh shit, that would do it for sure. Surely race is still protected no? If not, then I can see many a store in the south going back to the days of segregation
Pretty sure this racist, illegitimate court, knew what they were doing in ruling that religious beliefs override protected classes, including those in the Civil Rights act. The Klan is a religion after all.
WAIT! NOT LIKE THAT THOUGH! IT WAS ONLY SUPPOSED TO KEEP THE GAYS OUT!
/s
But that's one way to do it. No churches, no religious people, no trump supporters, no republicans allowed at all. Give them a taste of their own medicine.
we need a religion that will make it so that you can't believe in Christianity, republicans, trump supporters, etc.. so that way we can claim it espouses our religious beliefs, just like that chucklefuck web designer said. This way we can be protected under this new ruling.
My brand of humanism forbids me from interacting with liars and proponents of bad faith. aka: don't feed the trolls. Christians citing the bible in bad faith; right wing nut-jobs citing the constitution in bad faith; SCOTUS citing religious persecution or reverse racism in bad faith..
Is Atheism considered an organized religion though? Sincerely asking because someone mention that yesterday and it got me thinking, would Atheism actually be protected under religious freedom laws?
That’s kind of what the Satanic Temple is for. It’s an atheist organization but fulfills the “requirements” of a religion so that it can be protected under the first amendment
People can do that now, but only for occupations that qualify as “speech”. Owners of “public businesses” (i.e. places that you can walk in to) still aren’t allowed to forbid entry to people arbitrarily.
I hope more communities move to lemmy, especially the mental health/support ones.
As for lemmy in general, I have to say that apart from the lack of videos, it's not bad at all, even the android apps are already better than the official reddit one (terribly slow for some reason).
Check that your instance is correct (lemmy.world) and try again when the server works better. Right now the server seems to be having a lot of trouble loading pages, etc, and maybe that’s why it’s not working for you.
I am thrilled, Boost has been the best Reddit experience for me since I stopped loving Bsconreader. I don't even remember what my problem with it was, I think it was crashing or.... something, haha.
Boost ended up being a UI I preferred significantly, and I never looked back! This is gonna be FANTASTIC, where do I throw my money?!
And all that money spent just to sit in a room with many people looking at their bright phones, talking to eachother, chewing loudly and causing a mess.
We have some cinemas around here that offer an unlimited option. For a set monthly fee, you can go to the cinema as much as you want. Obviously you have to pay for all the extras (3D, popcorn and stuff). I have one and I go to the movies like 3 times a month on average.
lemmy.world
Newest