infinisil
infinisil on Hacker News
Posted by
infinisil on Monday September 16, 2024 @02:28PM
from the discourse.nixos.org dept.
> And if that's not already bad, I found this section of the docs recently and it said "This section has been moved to pkgs/README.md.", but when I read the README file, it doesn't have what the test package example I was looking for! This is... annoying
That's on me, sorry! Ironically this was the artifact of a pretty large effort to _improve_ documentation [1]! This evidently wasn't executed perfectly, but I was also able to make many desperately needed cleanups in turn.
[1]: https://github.com/NixOS/nixpkgs/pull/245243
I'm going to quote
https://save-nix-together.org/:
> Single-handedly blocking Meson, which has a passed RFC, for five years because he doesn’t know meson but knows his own build system
I don't know about exact timelines, but the letter is definitely wrong about this part.
This is a great post, very well said!
Over the weekend I’ve been working with NixOS foundation members and other community members to address what you’re describing, and I’m happy to say that the foundation is very willing to delegate governance to the community!
This kind of thing takes time to erect, but I’m doing my best to push this swiftly while trying to limit burnout. Stay tuned for a statement from the NixOS foundation this week!
Hello, the person you're speaking about here. I appreciate all the concern but I'm actually doing very good! While working on Nix was originally a hobby for me, I am now getting paid to do it, so it doesn't have to eat up any of my free time. I have healthy relationships with my family and friends, seeing people every weekend. And even if I'm not very good at it, I practice playing an instrument for about an hour every day and take lessons weekly!
I also want to mention that I usually don't argue much about issues. Most of my time is spent on making concrete improvements to the ecosystem :)
It would even suffice to just swap two random elements every iteration!
- /nix has been the (default) location for at least 15 years without problems, changing this now just because Apple messed with this would be very strange
- With Nix, every path in /nix/store has its own ./bin, ./share, ./lib, etc. As such, putting /nix anywhere but in / doesn't make much sense
- And honestly, it's just short, fresh and distinctly different. The path symbolizes that Nix isn't bound by the conventions of other distro's
And problems with changing this now:
- It would be a huge amount of effort, there's many places where this location is assumed, not only in code, but also by people
- Finding the workforce to actually do this change will be near impossible, as the only benefit is a slightly easier installation for the latest macOS version, which is not Nix's main platform
They are using a Docker multi-stage build in the very Dockerfile they showed..
As choward already mentioned, I think NixOS is a very good choice: aarch64 is decently well supported with a bunch of people running NixOS on their Raspbys, and cross compilation support is really good too if needed. See
https://nixos.wiki/wiki/NixOS_on_ARM/Raspberry_Pi for more info, or hop into #nixos and/or #nixos-aarch64 on Freenode for help
Yes Nix has been around for a while and is a very good package manager. But please don't be disrespectful to everybody who doesn't know about it, it's still rather unknown in general.
From what I can gather from the FAQ, this won't work for routers behind a NAT, which is the case for me and I assume many others too, this should probably be mentioned somewhere.
A bit worrying that it'll be forever closed source, especially since it needs to expose your router to the internet and that it's written in C and also this sentence from the FAQ:
> Everything was built from scratch
Not sure how I feel about Google entrenching itself in yet another part of the technology stack
However, this won't bring you back, it will just bring back a clone that is exactly like you.
> already available in 44 states
I'm a bit disappointed by all big companies focusing on the states. Fact is, over 95% of people don't live in the US. Every time I see some fancy new technology, chances are I'll never get to use it in my country.
> The first two years it was pretty upfront about being a work-in-progress that wasn't for people who wanted something stable
I've been very much on the Swift train in its first 2 years, but I've never heard of anything like that. Do you have a source?
If you're doing so much casting you're doing something wrong. Swift's power comes from the type system, which alleviates the need for all casting in general. Instead of using a [String: Any] dictionary which bears no meaning at all, consider converting it to a struct with accessors of the right types. If you work with the type system, Swift will be a joy to use, because that's where it shines.
Was the snooze time exponential? If it would e.g. double every time it might just work
> Eller's algorithm creates 'perfect' mazes, having only a single path between any two cells, one row at a time. The algorithm itself is incredibly fast, and far more memory efficient than other popular algorithms (such as Prim's and Kruskal's) requiring storage proportional to only a single row. This makes it possible to create mazes of indefinite length on systems with limited memory.
http://www.neocomputer.org/projects/eller.html
I almost couldn't watch the videos on this website because of their size, 50MB each! Just a simple `ffmpeg -i in.mp4 -crf 23 out.mp4` reduces the size by a factor of 10 without noticeable difference. If the blog author is reading this, please consider using video compression, not everybody has super fast internet.
There are ways to get around the immutability, but they are very highly discouraged and I haven't seen anybody use them other than newcomers. Think of it like `unsafePerformIO :: IO a -> a` in Haskell.
Namely there is:
- Making the Nix store writable. Normally it's mounted read-only, and only the Nix daemon can write finished deterministic builds there. Often wanted by users who haven't learned how to handle Nix packages, as they just want to change some file in the store.
- Disabling the sandbox. Usually all builds are done in a sandbox which doesn't have network access, read access only to the Nix store and write access only to only the destination directory in the Nix store (with some exceptions), which gives strong reproducability guarantees.