this post was submitted on 14 Nov 2023
-1 points (33.3% liked)

Self-Hosted Main

502 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

I dunno why, but I have a thing against TOML. I could be reading a blog post and marvelling at the intellect of the author, but if it cuts to a code snippet of TOML I smack my teeth and question how I ended up on such an amateur site.

My opinion is not rational neither is it grounded in any technical reasoning or logic. I'd even consider myself syntactically promiscuous when it comes to pretty much any other markup language. For some reason YAML and TOML make me feel like I need to pick sides and I'm definitely a YAMLite.

I'm curious to know whether anyone else is this abnormally partisan towards YAML and TOML?

top 20 comments
sorted by: hot top controversial new old
[–] [email protected] 4 points 10 months ago

Well, I can't stand YAML, because I had to spend half a year extending a far too complex Ansible codebase. It felt like they made a Turing-complete language out of what's supposed to be declarative. And it feels like a good chunk of that was enabled by YAML offering an enormous amount of features itself.

So, yeah, I mostly just prefer TOML, because it's less easily turned into a Turing-complete language.

[–] [email protected] 2 points 10 months ago

Daddy issues?

[–] [email protected] 1 points 10 months ago (1 children)

From my point of view, most things related to software config is hierachical, meaning that a tree like structure is the most intuitive in understanding them. YAML is tree based, while TOML is section based. I find YAML much easier to keep track of. And I have great experience with Python, so the indentation is pretty straight forward for me.

But I'm not picking sides and defying the other. It's purely personal mind set related. Actually I do find some workflow very suited for TOML, like build systems, where each task is in its own section, shouting clear cut domain and dependency boundaries.

[–] [email protected] 1 points 10 months ago

TOML is tree-based too. It's just more verbose than YAML for explicivity.

[–] [email protected] 1 points 10 months ago (2 children)

Why not hate both? 🙈😬

[–] [email protected] 1 points 10 months ago (1 children)

Why not just let ChatGPT handle it don't give a damn :)

[–] [email protected] 1 points 10 months ago (1 children)

ChatGPT is a great clippy replacement for spellchecking and grammar.

[–] [email protected] 1 points 10 months ago

I just installed JupyterLab and ventured into the world of data visualization in Python, letting ChatGPT do the dirty work.

I love that it not only corrects the grammar and spelling it can fix your indentation errors in toml and yaml (or python) as well and give you an individual lesson on what you did wrong and why (if you want that.)

[–] [email protected] 1 points 10 months ago (2 children)
[–] [email protected] 1 points 10 months ago

Json with comments is literally perfect. Formattable, machine parsable, minimisable, easy and fairly concise. Honestly I can't think of anything better. (Comments in json are essential IMO, without it it's actually not that great, and I'd go with yaml instead)

[–] [email protected] 1 points 10 months ago

I know it’s kinda cheap, but for me nothing is the answer (that includes hcl). I’ll use what I find, but I can’t say that I love anything.

If something uses toml, I will use toml. I’ve also used json-schema in the past.

Depending on what I do I find yaml and kustomize okay, etc.. Using something like client-go has its advantages as well.

If I am building something from scratch then I would reach for a simple ini. I feel like everything else overcomplicates things and that’s usually a symptom for something else.

[–] [email protected] 1 points 10 months ago (2 children)

Fuck indent based notation in general.

[–] [email protected] 1 points 10 months ago
  Fuck it all
[–] [email protected] 1 points 10 months ago (1 children)

Python has entered the chat.

[–] [email protected] 1 points 10 months ago (2 children)

Ugh. I learnt Java and C# as my primary language back in the day. Imagine my disgust when I took a look at python to teach my kids. Just so wrong

[–] [email protected] 1 points 10 months ago (1 children)

I'm always confused by this. Do you not indent blocks in your Java/C# code?

[–] [email protected] 1 points 10 months ago (1 children)

Blocks are started and ended with curly braces. It’s really obvious where a for loop or if statement starts and ends. You don’t have to be careful about how indented a particular line is. Horrible.

[–] [email protected] 1 points 10 months ago

What do you mean careful? I'm not a python dev, but everything is indented just the same. I'm missing why anyone would not choose good indentation that matches the python requirements.

[–] [email protected] 1 points 10 months ago

It grows on you over time, but it takes a long time.

[–] [email protected] 1 points 10 months ago

I suspect you're either reacting to the "Tom" (which is what the T in TOML stands for), making it sound like some "one guy's" project that never really took off...

...or the fact that it reminds you of the Windows INI file format. (TBH, git's config file also uses something that reminds me of Windows INI, and it took me a while to get over it)