• towerful@programming.dev
    link
    fedilink
    arrow-up
    65
    ·
    20 days ago

    uses yaml for scripting so it’s clean and readable.

    Eh…

    I guess yaml is fine.
    I hate the significance of whitespace, and the fact that I cannot find any editor that can auto-format. Which are both related, I guess: there is no way to know a yaml document is actually correctly formatted without knowing the intended schema.

    Whereas JSON doesn’t have this ambiguity. But JSON has it’s own drawbacks.

    • doeknius_gloek@discuss.tchncs.de
      link
      fedilink
      arrow-up
      28
      ·
      edit-2
      20 days ago

      I kinda like YAML for simple configuration files, but the YAML spec is borderline insane.

      https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell

      And don’t get me started with ansible, it never works the way I think it should and almost every playbook or role I write is a pain to get right. When it works, it’s a really nice tool and I couldn’t manage my homelab as efficiently without Ansible, but it frustrated the hell out of me way too often.

      • towerful@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        20 days ago

        I feel I spend more time iterating yaml.
        There isn’t any tooling that actually helps you write it.

        I feel like there is a gap in the market for a solution that uses typescript, typed python or some other type-able scripting language, which then generates the yaml files.
        A language that has language servers, intellisense, all the modern dev tools. Schemas are provided as simple type descriptors. And whatever script you write then produces the correct result.
        Some sort of framework on top of that to provide an opinionated workflow, and some tooling to lint/validate/produce.
        And the result is yaml files which can be checked/diffed against in-place config, and version controlled for consistency.

      • towerful@programming.dev
        link
        fedilink
        arrow-up
        3
        ·
        20 days ago

        XML is extremely verbose.
        Again, requires some other tooling to generate (I feel I can point to JavaScript for an example of XML manipulation)

        • lud@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          20 days ago

          Yeah, reading XML without rendering it or at least with syntax highlighting is a pain.

          JSON is way nicer.

        • JackbyDev@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          20 days ago

          What’s funny is that if you use attributes a lot then XML can be about the same size as JSON. But people think there are things you should and shouldn’t use attributes for for some reason. The only thing XML has going for it is a really nice schema format, but even today that’s pretty moot. JSON schema and others are pretty well supported.

    • thesmokingman@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      20 days ago

      Are you looking for an editor that can format YAML out-of-the-box or with plugins? In my experience, most editors only support a small number of formats out of the box and extend that functionality with plugins. I have yet to find a solid, production editor without a decent YAML formatter. If you’re using one of the common commercial ones, Red Hat maintains many that work explicitly for Ansible.