Swooping
This is really cool and useful! I’ll be using this! Thank you
On this note: do we have a fairly good understanding of why none of these alternative systems took off?
This is very interesting, but also worth mentioning that this is a paper from 1978. I didn’t check the date at first and got very excited when I read
A new class of computing systems uses the functional programming style both in its programming language and in its state transition rules.
thinking some new developments were happening today.
This is a much less extreme example, but I still feel it illustrates the point:
I don’t think a 2h old comment with no upvotes (beside the auto-upvote for new comments) should place above an 8h old comment with 4 upvotes. Whether a 4h old comment with half the upvotes of an 8h old comment should place above the latter is more debatable.
I’d like to find an example with higher numbers in a 24h window but that’s hard to come by at this time.
I sympathise with the syntax often getting in the way. On the flip side I find untyped languages opaque, leaving me to guess what code actually does. Lisps are a great offender because macros, syntactic primitives and functions look the same but behave differently, and without type signatures it becomes a mess.
The thing with type systems is that they only reveal the gestalt of something that’s already there. All languages have types. It’s just that many don’t bother to correct you.
I tried to write a language parser in Guile, but when I couldn’t figure out what the different data structures actually looked like I eventually gave up.
The most confusing part of flakes is that it isn’t the default, but sort of defacto is because so many use it (myself included). At this point I feel it should be the default. The installation process doesn’t use the flakes feature so it has to be worked around and it isn’t straight forward.
Nix(OS) has a case of expert user base that aren’t motivated enough to make it easier for those unfamiliar with the concepts to get going.
Nix makes more sense if you understand referential transparency and functional programming. Even then, how a lot of nix expressions are written is quite confusing with all the self-recursive overrides, functions that are somehow also sets etc.
The best documentation and tutorials are probably somewhere other than in the official ones (though official documentation is not bad). Nix Pills and the wiki, especially.
Totally understandable. One day we may see a graphical installer and configuration manager and that is the day I can start recommending others to try it
I suffer from it too.
For programming I’ve found that the more strongly typed a language is, the less I have to worry about keeping in mind. Being able to offload a lot of basic soundness checks to the computer saves me when I lose track and allows me to focus on smaller components without having to worry about messing something else up elsewhere.
That’s about it, though, in terms of life pro tips from me. I end up having to rely on others to complete some trains of thought as I seem to get stuck at an early stage of thinking something through. That means I often start a conversation with an impression or opinion that I’ll have revised by the end of it due to factors I hadn’t considered.
Learning Nix and NixOS was the best investment I’ve ever made for my computer use since switching to Linux a decade ago or so.
The barrier of entry is so high I don’t blame anyone for not making the leap but I wish more people could enjoy the benefits. All other distros bar GuixOS feel utterly archaic and clumsily designed by comparison.
…and my critique is about them not acting in their own interest (and fighting corporations at the same time). Linux wouldn’t have taken off if it weren’t copyleft. It would have been as niche as BSD if it had existed at all.
Why would they crack down specifically when it’s open sourced? I could see why they would do it before it goes open source though. Once it’s out there it’ll be hard to prevent the continuation of the project
The default configuration generated by nixos-generate-config
is a good starting point. From there you can probably find more things to disable or trim down. environment.systemPackages
and environment.defaultPackages
for example are lists you can make very short.
I was alluding to the fact that it’s not a copyleft license. AGPL is a suitable OS license.
Matrix or IRC are popular. Can also be XMPP or any other open protocol. Bridge to proprietary networks if necessary but a FOSS project should never rely on Discord. https://drewdevault.com/2021/12/28/Dont-use-Discord-for-FOSS.html
MIT license is a great way of making sure corporations will take this and run away with it
You can configure NixOS to have as little or as much as you want by setting the right options. Guix is much the same.
Arch also allows customising to a similar level but that’s less… configuring and more installing things and tweaking stuff here and there.
To find videos across several instances there is this (as official as it gets) search engine: https://sepiasearch.org/
Lots of Chinese stuff that lack subs. Often it’s only available on bilibili, too.