Friendly reminder if you prefer dealing with JSON - YAML is a superset of JSON, so any valid JSON is also valid YAML.
A lot of YAML
Submitted 11 months ago by jeena@jemmy.jeena.net to programmer_humor@programming.dev
https://jemmy.jeena.net/pictrs/image/e4c8f755-97f1-4674-87d2-b0ffb62c79f8.jpeg
Comments
dan@upvote.au 11 months ago
magic_lobster_party@kbin.social 11 months ago
That’s more of a weakness of yaml. There’s so many ways to specify the exact same thing. Not exactly what you need for configuration files maintained by multiple people. It easily becomes an big incoherent mess.
In JSON the default way is the only way. Nice and coherent.
dan@upvote.au 11 months ago
I agree that YAML is painful.
JSON is painful in its own way too, though. There’s a lot of syntax noise from things like braces, quotation marks, etc, so it’s easy to make a mistake. Regular JSON doesn’t allow trailing commas.
YAML tried to solve some of that, and did succeed in some ways, but introduced its own issues.
TOML seems great to me, but maybe it has its own issues. TOML actually has defined data formats for things like dates (both offset and local) and times, which is missing from both JSON and YAML so every app ends up doing it its own way.
theterrasque@infosec.pub 11 months ago
Found out the hard way that no, it’s not… there are a few valid json files that most yaml parsers choke on
JackGreenEarth@lemm.ee 11 months ago
What’s the original?
JimVanDeventer@lemmy.world 11 months ago
darkdemize@sh.itjust.works 11 months ago
Interesting. I’ve apparently never seen the original. The best version I’ve seen, which I thought was the original, was porn. It just makes the guy’s face in panel 4 that much better.
vox@sopuli.xyz 11 months ago
i thought the original onewas about flashlights
morbidcactus@lemmy.ca 11 months ago
trash80@lemmy.dbzer0.com 11 months ago
F04118F@feddit.nl 11 months ago
Home Assistant back in 2019…
TwistedTurtle@monero.town 11 months ago
It’s been satisfying watching my configuration.yaml file shrink over the years as more and more things get handled by the UI.
topinambour_rex@lemmy.world 11 months ago
Is Yaml bad ?
EmergMemeHologram@startrek.website 11 months ago
Not always, but the second you use anchor/references you have sold your soul in a Faustian bargain of convenience.
On the alignment chart of data/markup formats:
- lawful good: JSON
- lawful neutral: TOML
- lawful evil: XML
- neutral good: reStructuredText
- true neutral: HTML
- neutral evil: LaTeX
- chaotic good: YAML
- chaotic neutral: Markdown
- chaotic evil: xlsx
uid0gid0@lemmy.world 11 months ago
I honestly think that JSON and YAML should be swapped due to YAML’s strict indentation rules whereas you can just pack an entire JSON object on one line.
Stumblinbear@pawb.social 11 months ago
TOML is my bestie
kuneho@lemmy.world 11 months ago
I went straight from chaotic evil to lawful good.
stebo02@sopuli.xyz 11 months ago
good to know I’m on both the lawful good and the chaotic evil side
marcos@lemmy.world 11 months ago
Yes, a bit. But that’s not the problem.
The problem is that the current fashion of devops is done through piles and piles of badly defined YAML. If it used any other configuration language, it would be just as bad.
mkhopper@lemmy.world 11 months ago
It isn’t “bad”, as it does have a purpose. It’s just fucking annoying to work with.
Michal@programming.dev 11 months ago
How’s it annoying? It’s easier to edit by hand than json as it allows for comments and there’s no trailing comma errors. I prefer it any day over json.
MagicShel@programming.dev 11 months ago
There are plugins that go back and forth between JSON and YAML so as you might expect it’s similar. Unlike JSON, spacing has semantic meaning, which can be a little annoying, especially when cutting and pasting. It’s nice in that configs aren’t cluttered up with open and close braces. It could be annoying AF if you’re a tabs instead of spaces person but idk because I’m a spaces person.
I like YAML for config over .config files but it’s not a big deal either way. It just encourages better organization of settings because the hierarchical structure demands it while .config let’s you just drop a setting anywhere in the file. But it’s valid to have the opposite preference for the exact same reasons.
joyjoy@lemm.ee 11 months ago
I’ll answer your question with a question. Why does YAML support sexagesimal? (that’s base 60)
ports: - 22:22
Becomes
{ "ports": [1342] }
learningduck@programming.dev 11 months ago
I learned the hard way that no is false in yaml. Took us a while to realize why our app failed to start in Norway. Too many ways to do something.
tuna_casserole@programming.dev 11 months ago
not at all. it’s used for configuration and stuff. having a lot of it can be a real bummer depending on the context. like a puppet config or perhaps a super weird docker compose setup. I’ve never heard anyone complain about the markup though. it’s like blaming json for a crap api or something or idk blaming the coffee cup for burnt coffee 🤷
MotoAsh@lemmy.world 11 months ago
It’s just another structured data format. It’s used for a lot more than config. It’s also how you define commands and etc for Ansible. Like how a Maven project is defined in XML or a NodeJS package has its JSON.
Sure they’re still “just” data formats on their own, but what they’re used for is genuinely just as important as what it is. I really doubt XML would’ve held on like it has without HTML being the web.
sndrtj@feddit.nl 11 months ago
For some little config it’s fine, but it’s horrible when used when you have thousands upon thousands of lines of it. Lots of DevOps tools tend to use it like a fully-blown turing-complete programming language, and each has a different DSL of doing variables, loops etc. And that becomes an abomination.
vrkr@programming.dev 11 months ago
I like YAML.
FooBarrington@lemmy.world 11 months ago
That’s okay, not everyone can be right :)
tja@sh.itjust.works 11 months ago
Reminds me of
Image