example.com {
root \* /var/www/wordpress
encode
php_fastcgi unix//run/php/php-version-fpm.sock
file_server
https://caddyserver.com/docs/caddyfileShow HN: I made Confetti: a configuration language file format
21–30 of 64 posts
Re: Show HN: I made Confetti: a configuration language file format
#22Nice looking project! The page in one place says it's opinionated and in another place says it's unopinionated. (I guess that means it's unopinionated :) ).
Re: Show HN: I made Confetti: a configuration language file format
#23I like the look of it, very clean Though I'm not sure why using keywords like `true`, `false` or `null` are seen as a negative. Especially the numeral digits, its the system that most of the world uses...
That said comment starting with a diese and curly brackets to group, as well as double quote for string delimiters are not that neutral on this side.
Re: Show HN: I made Confetti: a configuration language file format
#24Nice looking project! The page in one place says it's opinionated and in another place says it's unopinionated. (I guess that means it's unopinionated :) ).
Re: Show HN: I made Confetti: a configuration language file format
#25In the "Material Definitions" example there are no { }. Why not? What's the difference? Is indentation significant?
Re: Show HN: I made Confetti: a configuration language file format
#26> Confetti source text consists of zero or more Unicode scalar values. For compatibility with source code editing tools that add end-of-file markers, if the last character of the source text is a Control-Z character (U+001A), implementations may delete this character.
I’ve heard of this once, when researching ASCII control codes and related ancient history, but never once seen it in real life. If you’re insisting on valid Unicode, it sounds to me like you’re several decades past that happening.
And then given that you forbid control characters in the next section… make up your mind. You’re saying both that implementations MAY delete this character, and that source MUST NOT use it. This needs clarification. In the interests of robustness, you need to specify what parsers MUST/SHOULD/MAY do in case of content MUST violations, whether it be reject the entire document, ignore the line, replace with U+FFFD, &c. (I would also recommend recapitalising the RFC 2119 terms. Decapitalising them doesn’t help readability because they’re often slightly awkward linguistically without the reminder of the specific technical meaning; rather it reduces their meaning and impact.)
> For compatibility with Windows operating systems, implementations may treat the sequence Carriage Return (U+000D) followed by Line Feed (U+000A) as a single, indivisible new line character sequence.
This is inviting unnecessary incompatibility. I recommend that you either mandate CRLF merging, or mandate CR stripping, or disallow special CRLF handling. Otherwise you can cause different implementations to parse differently, which has a long history of causing security problems, things like HTTP request smuggling.
I acknowledge this is intended as the base for a family of formats, rather than a strict single spec, but I still think allowing such variation for no good reason is a bad idea. (I’m not all that eager about the annexes, either.)
Re: Show HN: I made Confetti: a configuration language file format
#27For example, you’ve reintroduced the Norway Problem. https://news.ycombinator.com/item?id=36745212
And I personally hope to never edit another file which lacks a strict schema like this does.
Re: Show HN: I made Confetti: a configuration language file format
#28Re: Show HN: I made Confetti: a configuration language file format
#29I don’t intend this to be mean, but is this satire? Confetti seems to proudly use concepts which are very much NOT popular right now. For example, you’ve reintroduced the Norway Problem. https://news.ycombinator.com/item?id=36745212 And I personally hope to never edit another file which lacks a strict schema like this does.
Re: Show HN: I made Confetti: a configuration language file format
#30I don’t intend this to be mean, but is this satire? Confetti seems to proudly use concepts which are very much NOT popular right now. For example, you’ve reintroduced the Norway Problem. https://news.ycombinator.com/item?id=36745212 And I personally hope to never edit another file which lacks a strict schema like this does.
Did you read TFA? It does not reintroduce the Norway problem, as every value is a string. Also, popular right now does not necessarily mean "good".
Somehow this design flaw escaped my notice.