172 karma · joined July 8, 2021
The problem is the way we usually package the apps with Docker-Dockerlike builders
Where do I begin with this...
I Think Rust+WASI is cool, but this idea has more years than I do.
I'm not really against tools that make it easier to use nix, I think devenv is a nice tool and I like that it doesn't hide nix, the same way I love home-manager and use it all the time.
I have a Docker with an old version of centos which for some reason is the one provided to us.
I then create an "overlay" over it using nix, so I can actually use software with newer glibc etc... easily.
Regardless of that, nix is way better than docker, in the sense that docker doesn't ensure reproducibility, you can build a Dockerfile in two different days, and get different versions of packages installed, this is simply not possible with nix, you have complete control over your tools.
And if you decide to port your application to a "nix package", you have complete control over all the dependencies of you application, a reproducible way to build it, and an easy way to deploy it.
Nixpkgs focuses on reproducible builds, that means that for the same inputs, you always are going to get the same binary output.
All of Nixpkgs are built using nixpkgs, and they don't depend on any library outside nixpkgs, including glibc and compilers.
That means that you can "lock" your packages into a version, and you ensure that it will run the exact same version and configuration in all machines that you install it, no matter the underlying OS or how old/new it is, glibc problems etc...
This is the power of Nix.
All of this can be done via a simple
Flake.nix -> define the system Flake.lock -> automatically generated, defines the exact version of nixpkgs among others.
(Can also be done via channels but flakes are better imo)
I understand that if you don't know anything about the language or what is a flake, it may be a little bit difficult.
But really, adding a new package to your environment once you have a flake setup, which a minimal one is trivial, is just adding the name of the package.
Here you have a flake.nix example from leptos. https://github.com/leptos-rs/leptos/blob/main/flake.nix
You want a new dependency? Add it to buildInputs. (this one doesn't have packages setup, but anything in the attribute set packages will be available in path)
You want to search a package: https://search.nixos.org/packages (or use the cli)
you want to test a package before adding it? nix-shell -p or nix shell for example.
Heck, even if you want it more easy, you could write a tool in less than 100 lines that adds packages names to .json/.yaml/.toml, which allows you to parse it using the nix language and a simple cli written with bash functions to add/remove packages if you wanted.
That's why it is hard for me to understand this project as a product, it seems like a wrapper to the most basic things :\
Just for that #embed directive I would already use cake for the moment (although it seems like it is only doing the file->array conversion)
Apple is the one gatekeeping
I think that we already have a good chunk of them, I doubt there could be worse than the ones we have.
"OpenAI worried because these text-generating AI systems can be used to generate massive amounts of well-written but misleading or toxic content."
This is solved by prestige, exactly what normative media had until some years ago, when they decided to throw everything away and just lick politics asses or just sell their integrity for money.
"You could ask them to design a more deadly coronavirus, provide instructions for making a bomb, make naked pictures of your favorite actor, or write a series of inflammatory text messages designed to make voters in swing states more angry about immigration. "
The coronavirus sentence is hilarious, and you don't need AI for any of that.
I'm kinda sick, what they mean with "regulating AI" is that they just want to control what the AI spits out to match their political agenda and beliefs, slowly impregnating the users of these AI of their political ideas.
Obviously, it's me and you who will not have access to uncensored models, big corps and the gov will have access to whatever they want unrestricted, and most hilarious, they WILL use the AI to "swing political beliefs".
"Tell me who is your manufacturer" for example
Compare that to a list of examples and documentation on generic issues/topics, without ever going into the specifics of a reasonable question.
Apply this to any kind of knowledge.
I think that it is a wonderful tool for education, and it is indeed changing the pace at which people learn.
How a better alternative will created if you can't put it on any device to make it popular.