HN user

infinisil

198 karma
Posts1
Comments62
View on HN

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

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!

Flakes has an unfortunate past [1]. The fact that so many people are using Flakes now and treating them as stable makes it effectively impossible to make drastic changes, even though the design is flawed in many ways [2]. Nevertheless, the Nix team is discussing the stabilisation in recent weeks, with the tendency to not make breaking changes, but improving the design in the long term.

[1] https://nix.dev/concepts/faq#why-are-flakes-controversial

[2] https://discourse.nixos.org/t/experimental-does-not-mean-uns...

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 :)

- /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

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

Google Fights Back 7 years ago

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.

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.