!avYyleMexqjFHoqrME:nixos.org

Nix Documentation

420 Members
Discussion about documentation improvements around the Nix ecosystem85 Servers

Load older messages


SenderMessageTime
28 Nov 2023
@infinisil:matrix.orginfinisil Minijackson: Looks like an oversight! Could you open an issue for this? 18:23:59
@Minijackson:matrix.orgMinijacksonsure!18:24:23
@Minijackson:matrix.orgMinijacksondone: https://github.com/NixOS/nix.dev/issues/81718:32:24
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @infinisil:matrix.org
Minijackson: Looks like an oversight! Could you open an issue for this?
It’s not an oversight. As mentioned at least twice in bold letters in the introduction, this is not supposed to be a complete overview but shall rather point out things that are both important and unusual about the language. Conditionals are neither, therefore they aren’t there. The article is very long already.
19:27:33
@fricklerhandwerk:matrix.orgfricklerhandwerkWhat I could really need help with is cleaning up the language reference in the Nix manual. It’s still mostly a long meandering wall of text that needs to be a lot more concise, needs more focused examples, and most importantly syntax patterns for all the constructs.19:29:43
29 Nov 2023
@zmitchell:matrix.org@zmitchell:matrix.org You don’t think conditionals are an important part of the language? They’re one of the first things you learn in any language…  16:50:43
@Minijackson:matrix.orgMinijacksonI do think the tutorial needs to quite small to be digestible. Maybe the page needs to be split into a Tutorial + Reference?17:49:22
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @zmitchell:matrix.org
You don’t think conditionals are an important part of the language? They’re one of the first things you learn in any language… 

Yes, conditionals are essential for programming. But they’re not special at all in the Nix language and - maybe important is not a good word, let’s say - particularly relevant for how it’s used in practice. As a beginner you will likely only see and work with purely declarative constructs. The introductory tutorial is absolutely not about computational reasoning, and definitely not about expressing anything in the language, but first and foremost about getting a first clue about what’s even going on.

We have to optimize for brevity and relevance, and I deem conditionals to below the threshold for a first encounter. People are more likely to see map and filter than if … then … else in the wild.

17:55:55
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @zmitchell:matrix.org
You don’t think conditionals are an important part of the language? They’re one of the first things you learn in any language… 
* Yes, conditionals are essential for programming. But they’re not special at all in the Nix language and - maybe important is not a good word, let’s say - particularly relevant for how it’s used in practice. As a beginner you will likely only see and work with purely declarative constructs. The introductory tutorial is absolutely not about computational reasoning, and definitely not about expressing anything in the language, but first and foremost about getting a first clue about what’s even going on.
We have to optimize for brevity and relevance, and I deem conditionals to below the threshold for a first encounter. People are more likely to see map and filter than if … then … else in the wild. This is e.g. why builtins are mentioned, but not in any detail.
17:56:27
@zmitchell:matrix.org@zmitchell:matrix.org Even if that’s the case, the fact that most people use imperative languages with if-statements is reason enough to at least call out that they do exist if you want them, but you probably want to do XYZ instead. 20:09:16
@fricklerhandwerk:matrix.orgfricklerhandwerk * Yes, conditionals are essential for programming. But they’re not special at all in the Nix language and - maybe important is not a good word, let’s say - particularly relevant for how it’s used in practice. As a beginner you will likely only see and work with purely declarative constructs. The introductory tutorial is absolutely not about computational reasoning, and definitely not about expressing anything in the language, but first and foremost about getting a first clue about what’s even going on.
We have to optimize for brevity and relevance, and I deem conditionals to below the threshold for a first encounter. People are more likely to see map and filter than if … then … else in the wild. This is e.g. why builtins are mentioned, but not in any detail.
23:43:47
@fricklerhandwerk:matrix.orgfricklerhandwerk *

Yes, conditionals are essential for programming. But they’re not special at all in the Nix language and - maybe important is not a good word, let’s say - particularly relevant for how it’s used in practice. As a beginner you will likely only see and work with purely declarative constructs. The introductory tutorial is absolutely not about computational reasoning, and definitely not about expressing anything in the language, but first and foremost about getting a first clue about what’s even going on.

We have to optimize for brevity and relevance, and I deem conditionals to be below the threshold for a first encounter. People are more likely to see map and filter than if … then … else in the wild. This is e.g. why builtins are mentioned, but not in any detail.

23:44:11
30 Nov 2023
@ThorHop:matrix.org@ThorHop:matrix.org joined the room.00:57:34
@ThorHop:matrix.org@ThorHop:matrix.org

Ey, folks. Need some language custodians. In regards to services.fail2ban.bantime-increment.maxtime, the description says this:

"bantime.maxtime" is the max number of seconds using the ban time can reach (don't grows further)

I was thinking of doing a PR with this:

"bantime.maxtime" is the maximum limit of bantime in seconds (300), minutes (5m), hours (5h) for an IP, which cannot be exceded.

At first I thought "defined in seconds" , but even according to the example posed time can be measured using units as well.

01:38:56
@ThorHop:matrix.org@ThorHop:matrix.orgWould it be wrong to fire off PR's directly, or should I do it in bulk every now and then?01:39:09
@tomberek:matrix.orgtomberekhopland (valorent vicky): often these settings descriptions are taken from upstream: https://github.com/fail2ban/fail2ban/blob/44fa2959e7c8ee010138250b3dafcfebc57dbce8/config/jail.conf#L55. I. Such a case, please consider improving upstream documentation so other benefit as well. 03:57:28
@i97henka:matrix.orgi97henkaSorry, got some family commitment popping up and conflicting with today's meeting. See you again next time.14:33:21
@nbp:mozilla.orgnbpMuch better, however as a personal recommendation, I suggest using the list of times after each repeated failures. I found that attackers would repeat their attack after a while once they notice that they are banned, and alternate between corrupted hosts. 14:56:49
@nbp:mozilla.orgnbp *

Much better, however as a personal recommendation, I suggest using the list of times after each repeated failures, using something like bantime-increment.multipliers = "1 2 4 8 16 …";

I found that attackers would repeat their attack after a while once they notice that they are banned, and alternate between corrupted hosts.

Using multiplier following some exponential definitely help at getting rid of most repeated attempts.

15:00:17
1 Dec 2023
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @fricklerhandwerk:matrix.org
What I could really need help with is cleaning up the language reference in the Nix manual. It’s still mostly a long meandering wall of text that needs to be a lot more concise, needs more focused examples, and most importantly syntax patterns for all the constructs.
Could you clarify what you mean by "syntax patterns"? Also, just to confirm, you're referring to this? https://nixos.org/manual/nix/unstable/language/
04:38:06
@ichbinmatz:matrix.orgichbinmatz joined the room.04:49:04
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @bzzm3r:matrix.org
Could you clarify what you mean by "syntax patterns"? Also, just to confirm, you're referring to this? https://nixos.org/manual/nix/unstable/language/

Things like at the top of this document: https://nixos.org/manual/nix/unstable/language/constructs/lookup-path

I don't want to call them grammar because we're still far away from actually formalising any of that

09:04:41
@fricklerhandwerk:matrix.orgfricklerhandwerkBut grammar rules would be the technical term09:04:51
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @ThorHop:matrix.org
Would it be wrong to fire off PR's directly, or should I do it in bulk every now and then?
Please do make PRs. Try to make small ones, they're easier to review and get merged quickly.
09:05:36
@fricklerhandwerk:matrix.orgfricklerhandwerk
In reply to @ThorHop:matrix.org
Would it be wrong to fire off PR's directly, or should I do it in bulk every now and then?
* Please do make PRs. Try to make small ones (both scope and diff), they're easier to review and get merged quickly.
09:05:58
@moritz.hedtke:matrix.orgmoritz.hedtke set their display name to Moritz Hedtke.11:08:07
2 Dec 2023
@mao_tse-tung:matrix.orgmao_tse-tung joined the room.04:30:05
@bzzm3r:matrix.org@bzzm3r:matrix.org
In reply to @fricklerhandwerk:matrix.org

Things like at the top of this document: https://nixos.org/manual/nix/unstable/language/constructs/lookup-path

I don't want to call them grammar because we're still far away from actually formalising any of that

ah cool, so a little BNF like thing
04:33:51
@asymmetric:matrix.dapp.org.ukasymmetricthis is kinda neat https://landscape.nixlang.wiki/11:33:10
@bzzm3r:matrix.org@bzzm3r:matrix.org ran nix-shell in nixpkgs/docs/ a while....still compiling 🤣 23:13:54

Show newer messages


Back to Room ListRoom Version: 6