Remix.run Logo
barishnamazov 9 hours ago

This is pretty cool, but I hope it isn't used for human-readable config files. TOML/YAML are better options for that. Git diff also can be tricky with realignment, etc.

I can see potential usefulness of this is in debug mode APIs, where somehow comments are sent as well and are rendered nicely. Especially useful in game dev jsons.

actionfromafar 8 hours ago | parent | next [-]

Yaml is the worst. Humans and LLMs alike get it wrong. I used to laugh at XML but Yaml made me look at XML wistfully.

Yaml - just say Norway

airstrike 8 hours ago | parent [-]

The Norway issue is a bit blown out of proportion seeing as the country should really be a string `"no"` rather than the `no` value

marxisttemp 7 hours ago | parent | next [-]

YAML strings should really require delimiters rather than being context-dependent.

actionfromafar 7 hours ago | parent | prev [-]

Yeah, but it's a fun slogan. My real peeve is constantly getting the spaces wrong and no tooling to compensete for its warts. If there were linters and test frameworks and unit tests etc for yaml, I'd just sigh and move on. But current situation is, for instance in ADO Yaml: "So it's time to cut a release and time is short - we have a surprise for you! This will make some condition go true which triggers something not tested up till now, you will now randomly commit shit on the release branch until it builds again."

Stuff that would have been structurally impossible in XML will happen in yaml. And I don't even like XML.

Y-bar 4 hours ago | parent [-]

> If there were linters

Available and kept up-to-date. I found for Python, PHP:

https://github.com/j13k/yaml-lint

https://github.com/adrienverge/yamllint

Also .net:

https://github.com/aaubry/YamlDotNet

And NPM/js:

https://github.com/stoplightio/spectral

silvestrov 8 hours ago | parent | prev | next [-]

Just say Norway to YAML.

merelysounds 8 hours ago | parent [-]

This is a reference to YAML parsing the two letter ISO country code for Norway:

    country: no
As equivalent to a boolean falsy value:

    country: false
It is a relatively common source of problems. One solution is to escape the value:

    country: “no”
More context: https://www.bram.us/2022/01/11/yaml-the-norway-problem/
Y-bar 8 hours ago | parent [-]

We stopped having this problem over ten years ago when spec 1.1 was implemented. Why are people still harking on about it?

merelysounds 4 hours ago | parent | next [-]

A new spec version doesn’t mean we stop having the problem.

E.g. kubernetes wrote about solving this only five months ago[1] and by moving from yaml to kyaml, a yaml subset.

[1]: https://kubernetes.io/blog/2025/07/28/kubernetes-v1-34-sneak...

Y-bar 4 hours ago | parent [-]

The 1.1 spec was released about _twenty_ years ago, I explicitly used the word _implemented_ for a reason. As in: Our Yaml lib vendor had begun officially supporting that version more than ten years ago.

merelysounds 3 hours ago | parent [-]

Note that you reference 1.1, I think that version still had the norway behavior.

Etheryte 7 hours ago | parent | prev | next [-]

Because there's a metric ton of software out there that was built once upon a time and then that bit was never updated. I've seen this issue out in the wild across more industries than I can count.

Y-bar 4 hours ago | parent [-]

I’m not here clanking down on Java for lacking Lambda features, the problem is that I did not update my Java environment past the 2014 version, not a problem with Java.

Etheryte 3 hours ago | parent [-]

I think this mixes up two separate things. If you're working with Java, it's conceivable that you could probably update with some effort. If you're an aerospace engineer using software that was certified decades ago for an exorbitant amount of money, it's never going to happen. Swap for nearly any industry of your liking, since most of the world runs on legacy software by definition. A very large number of people running into issues like these are not in a position where they could solve the problem even if they wanted to.

Y-bar an hour ago | parent [-]

That’s about 99% of the argument I am making. The problem is legacy software and bad certification workflows, not the software being used.

If I’m working with Java it’s indeed conceivable that I could update with some effort.

If I’m working with Node it’s conceivable that I could update with some effort.

If I working with YAML is it not conceivable that I could update with some effort?

PHP is stupid because version 3 did not support object oriented programming.

CSS is bad because version 2 did not support grid layouts or flexbox.

Why should I critique on these based on something that they have fixed a long time ago instead of working on updating to the version which contain the fix I am complaining about?

There is a gradient limit where the onus shifts squarely to one side once the spec has changed and a number of libraries have begun supporting the new spec.

actionfromafar 8 hours ago | parent | prev | next [-]

Now add brackets and end-tags, I'll reconsider. ;)

Y-bar 7 hours ago | parent [-]

Brackets works fine:

    Roles: [editor, product_manager]
End tags, that I’m not sure what that is. But three dashes is part of the spec to delineate sections:

    something:
        setting: true
    ---
    another:
        thing: false
quotemstr 6 hours ago | parent | prev [-]

Because once a technology develops a reputation for having a problem it's practically impossible to rehabilitate it.

_pdp_ 3 hours ago | parent | prev [-]

Yaml works really well with LLMs (not to generate but to consume). So yes, we use it all the time in our service.