Live data from Hacker News

How Nix and NixOS get so close to perfect

christine.website

111–120 of 183 posts

Re: How Nix and NixOS get so close to perfect

#111

Earlier quoted context omitted.

> Because industry makes good decisions? That's irrelevant - if you want uptake, you need to support what user's want. It's been clear for at least a decade now that programmers don't want Haskell syntax. Whether it's a good syntax or not is irrelevant.

Why do you think it's Haskells syntax that is the problem? The syntax is not so weird. I'd say the semantics are the hangup. 100% purity and lazy evaluation are a much harder pill to swallow then the syntax.

> Why do you think it's Haskells syntax that is the problem? The syntax is not so weird. I'd say the semantics are the hangup. 100% purity and lazy evaluation are a much harder pill to swallow then the syntax.

Could very well be - either way the language has been rejected. Boasting of Haskell characteristics[1] is, IMO, a great way to turn off prospective users.

[1] I don't really know if the Nix project actually does blog posts and reachouts where they boast of Haskell-ish similarities.

Re: How Nix and NixOS get so close to perfect

#113

Earlier quoted context omitted.

OK, fair enough, not an—independent? terminal?—problem: the syntax is largely forced upon us by the semantics, it’s not a Common Lisp vs Dylan or a Python vs Lua vs Ruby thing; and the semantics is the crux of the implementation approach (though not of the packaging organization being implemented). If you want to argue against the semantics, by all means, but “industry doesn’t think it looks pretty” does not cut it,…

> If you want to argue against the semantics, by all means, but “industry doesn’t think it looks pretty” does not cut it I'm not arguing against semantics, and "the industry doesn't think it looks pretty" is not my argument either. My argument is that, if you want the industry to accept something, it needs to be acceptable to the industry. Haskell-ish syntax[1] has clearly been unacceptable to the industry for a long…

My inner social psychologist, shameless amateur that he is, is not at all ready to pronounce the syntax to be the problem with nearly as much confidence as you do.

As far as I can tell, the only languages with Haskell-like syntax that have tried for serious industry adoption are Haskell, Scala, and perhaps Elm. (Idris is a borderline case, but it’s young and in any case I think we’re still a couple generations away from viable total languages.) Each of these has unconventional and similar semantics, different but complex type systems, and is trying for general applicability, while Nix has somewhat different semantics and no static type system at all, and is also trying to cover a very limited application area. Even Nix’s syntax, to my eye, is about as ML-like as it is Haskell-like.

How can we be so sure it’s the syntax, specifically, that is the problem? Are we controlling for these differences in any way at all?

It would be another matter if F# or OCaml or even Dylan was a runaway success while Haskell was not; while strict vs lazy is a hell of a difference I could be convinced that the syntax is the problem if people from the industry tried one after the other and consistently backed off in disgust, but that is not happening as far as I can tell.

I really don’t see how the verdict here could be anything but a definite “inconclusive”.

Finally, I’m also not seeing why I want industry acceptance. (I don’t think Xe’s post discusses it at all.) I want to use it, I want other users to discuss it with, I want it not to die a slow unmaintained death in five to ten years, but otherwise... Meh?

Advocating it to a single organization seems like a limited task (which I might fail), but advocating it to “the industry” seems like arguing with a force of nature (and I will fail). There would be some advantages to me if it were adopted, but then again it’s a first-generation system that has already accumulated substantial legacy cruft, so maybe I don’t want it to be adopted as it is now? Exploring the solution space? Definitely. Adoption at this particular stage? Not really sure, hard to get worked up about it.

P.S.

>> even “I don’t think it looks pretty” would afford more respect on my part

> My opinion on Haskell syntax, and whether or not you respect my opinion, is also pretty much irrelevant [...]

Wrong kind of “respect”, sorry: not how much I trust it, but how much concrete information I can expect to squeeze out of it (complete trust helpful, but neither necessary not sufficient). Opinions of large groups of people, even if reliably known, are notoriously hard to turn into actionable insights.

Re: How Nix and NixOS get so close to perfect

#114
post #80

Earlier quoted context omitted.

Quoted post unavailable.

A positive about that whole experience is that it's made me way better at clickbait, which seems to have worked because you've been interacting with my content at all. One cannot choose where they incarnate in this plane. Nor can they choose the religious preferences of the people they incarnate around. You kinda have to just roll with the punches and hope something decent comes out of everything.

> A positive about that whole experience is that it's made me way better at clickbait, which seems to have worked because you've been interacting with my content at all.

Sure, it's also made me less likely to install NixOS.

Funny way to try and help a project, but what do I know, I haven't been in a cult and I'm terrible at clickbait.

Re: How Nix and NixOS get so close to perfect

#115

Earlier quoted context omitted.

So long as the parser doesn't except on undefined keys, you can add pseudo-comments to many places in a JSON config file. { "foo": "bar", "COMMENT": "This bars the foo" }

That still doesn't let you comment on items in the list, or on elements of actual maps - for example if those were environment variables, now you've got a random "COMMENT" variable.

Sure, it's a hack, but it's a useful hack that works in many places.

Re: How Nix and NixOS get so close to perfect

#116
post #107

Earlier quoted context omitted.

>if you want uptake, you need to support what user's want Before the iPhone no one knew they wanted a good camera and "apps" on their phone. See the important point here -> "knew they wanted"

> >if you want uptake, you need to support what user's want > Before the iPhone no one knew they wanted a good camera and "apps" on their phone. > See the important point here -> "knew they wanted" Haskell has been around now for something like 25 years. You'd have a point if the iPhone was unpopular for 25 years before users finally decided to like it. It wasn't. Users saw the iPhone and wanted it the minute they sa…

>Programmers have been looking at Haskell for 25 years and rejecting it.

I really don't know why you think that true:

https://wiki.haskell.org/Haskell_in_industry

And i really don't know why you speak for "programmers", just speak for yourself...maybe?

Re: How Nix and NixOS get so close to perfect

#117
post #84
post #81

Earlier quoted context omitted.

Thank you so much .

No problem. If you have any more questions please get in touch on https://christine.website/contact . This shit needs to be so much easier than it is. I'm also @xena on keybase if that's your tool of choice.

One more random question...

What's your thoughts on a NixOS like operating system for FreeBSD? And have you seen any development effort for it (I don't mean the package manager for FreeBSD which already exists).

Frankly, FreeBSD being an entire operating system with userland included seems way more appealing to me than Linux based NixOS - since it seems like reproductability would be even easier/stronger for BSD than Linux.

Re: How Nix and NixOS get so close to perfect

#118
post #84

Earlier quoted context omitted.

No problem. If you have any more questions please get in touch on https://christine.website/contact . This shit needs to be so much easier than it is. I'm also @xena on keybase if that's your tool of choice.

One more random question... What's your thoughts on a NixOS like operating system for FreeBSD? And have you seen any development effort for it (I don't mean the package manager for FreeBSD which already exists). Frankly, FreeBSD being an entire operating system with userland included seems way more appealing to me than Linux based NixOS - since it seems like reproductability would be even easier/stronger for BSD than…

It would be a really cool thing to see a NixOS like FreeBSD system done, but I really don't have it in me to do such a thing. It would make BSD more usable for me, save the lack of a solid service management framework like systemd.

As far as reproducibility goes, in practice most of the invariants that are not reproducible go down to people embedding way too much metadata into things for no good reason. A BSD base would certainly remove a bunch of variables, but it's not magic reproducibility sauce.

Re: How Nix and NixOS get so close to perfect

#119
post #80

Earlier quoted context omitted.

A positive about that whole experience is that it's made me way better at clickbait, which seems to have worked because you've been interacting with my content at all. One cannot choose where they incarnate in this plane. Nor can they choose the religious preferences of the people they incarnate around. You kinda have to just roll with the punches and hope something decent comes out of everything.

> A positive about that whole experience is that it's made me way better at clickbait, which seems to have worked because you've been interacting with my content at all. Sure, it's also made me less likely to install NixOS. Funny way to try and help a project, but what do I know, I haven't been in a cult and I'm terrible at clickbait.

I hope you feel happy with your life choices. Be well.

Re: How Nix and NixOS get so close to perfect

#120
post #3

As someone who really would like to have something like nix the thing that scares me away every time is the fact that the people creating this aparently did not think a lot about how to onboard users. And I don't mean a lack of documentation — what I mean is that the obvious decisions that have been taken (naming everything "Nix", using Haskell as a base for the syntax, ...) don't really fill me with confidence that…

Whether it's worth it or not depends on your skill as a programmer, your IQ, and/or the amount of time your willing to spend on learning it. Smarter people can pick it up quicker while stupider people will need to spend more time. For stupider people, it's not worth the investment.

On average I would say it takes maybe a couple months of wrestling with it to fully pick it up and you'll still encounter problems on occasion. But the end result is like riding a bike. Once you know it... you know it.

It may seem a little offensive but it is very much true. It's a function of time and intelligence. I do not consider myself a person where my intelligence is high enough that I would pick it up as the time and effort for me doesn't justify the reward. Every programmer on HN likes to think of themselves as super smart, but this just isn't the case.

The only reason why I learned it was because my Job required it. I now use it as a daily driver but if it wasn't for the job, it wouldn't have been worth it.

Post reply on HN