Yet another “brilliant” scheme from a cryptobro. Naturally this caused a gold-rush for scammers who outsourced random people via the gig economy to open PRs for this yml file (example)

  • rtxn@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    8 months ago

    I’ve used both YAML and a TOML-adjacent INI format for Ansible. While I wouldn’t use YAML for massive data serialization (because significant whitespaces are fucking stupid), it’s much better suited for manual data entry compared to most options, including TOML, when nested data structures are required.

    And if YAML’s structure is too complicated, that’s honestly a skill issue.

    • Kogasa@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      8 months ago

      Not that YAML’s structure is too complicated, but its syntax is too flexible. All the shit about being whitespace sensitive yet with whitespace errors leading to a syntactically valid YAML document. TOML’s syntax is rigid which makes it unsuitable for expressing complex nested data structures, which is good because that’s not what you should use TOML for. Ultimately the dependence on a highly flexible baseline language like YAML to create complex DSLs is a failure on the developers’ part, and the entire configuration system should be reworked.

      • moonpiedumplings@programming.dev
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        edit-2
        8 months ago

        Do you use a linter like the ansible vscode extension?

        I used to hate writing ansible, and yaml, until I installed the ansible lint vscode extension, and everything became much, much easier.

        Later on, when I was working on a docker-compose, I noticed that the vscode yaml extension (which the ansible extension pulled in as a dependency) caught errors. It’s quite intelligent, able to spot errors exactly like what you mentioned, where the yaml syntax is correct, but the docker-compose, or the ansible syntax is wrong.

        • Kogasa@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          8 months ago

          Of course. If you’re working in a DSL that’s popular enough for someone to have written a good schema/parser for then tooling can help.

    • toastal@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      Significant white space is awesome! Not supporting tabs tho shows you don’t know what you are doing, YAML.

      • Trail@lemmy.world
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        8 months ago

        They very well know what they are doing. Take your filthy tabs and get out of here. Spaces only.

            • toastal@lemmy.ml
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              8 months ago

              That just converts tabs to space but doesn’t address the underlying accessibility needs where some folks demand different indentation due to vision issues or nonstandard IO devices like braille readers. Tabs allow the user to configure the width for their needs. Being static spaces ignores the needs of many folks.