• ExcessShiv@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    28
    ·
    1 year ago

    Yeah the documentation (if it even exists) of most projects is usually clearly written by people intimately familiar with the project and then never reviewed to make sure it makes sense for people unfamiliar with it. But writing good detailed documentation is also really hard, especially for a specialist because many nontrivial things are trivial to them and they believe what they’re writing is thorough and well explained even though it actually isn’t.

        • AlexWIWA@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          My CS major required me to take two upper division English classes and I think they helped me more in my career than my upper division CS classes. People forget that documentation is for ourselves too

          • Boomer Humor Doomergod@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            I’m really thankful that I had a great English teacher in high school, and that my degree required a technical writing class. Being able to write a coherent email got me further in my career than the technical stuff I learned in college.

        • floofloof@lemmy.ca
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 year ago

          I think this is why the “my code documents itself” attitude appeals, even though it’s almost never enough. Most developers just can’t write, nor do they want to.

        • ℍ𝕂-𝟞𝟝@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 year ago

          Maybe, just maybe, people have different strengths and weaknesses and cooperating around our differences is what makes us succeed.

            • ℍ𝕂-𝟞𝟝@sopuli.xyz
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              That’s exactly what I’m saying, sorry if it came across somehow askew.

              My point was there is no point in competing over whose job is “better”, we should be working together.

      • Boomer Humor Doomergod@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 year ago

        You have to assume some level of end user knowledge, otherwise every piece of documentation would start with “What a computer does” and “How to turn your computer on.”

        I’ve found the best practice is to list your assumptions at the top of the article with links to more detailed instructions.

        • Flax@feddit.ukOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I do agree, manies have I found documentation saying “make a fresh install of Raspbian” as if I’m using the computer for this single issue

          (Disclaimer: I am not running matrix on a Raspberry Pi)

          • vividspecter@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            Another case is listing a huge number of steps to do some task, without acting describing what the end goal for each set of instructions is (common in “how to” guides, and especially ones that involve a GUI).

            This means that less technical users don’t really understand what is going on and are just following steps in a rote way, and it wastes the time of technical users since they probably know how to achieve each goal already.

      • GBU_28@lemm.ee
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        1 year ago

        Why’s that a mistake? Not everything is built for a novice

    • bl_r@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      This is why I did a “walkthrough test” when I had to write documentation on this sort of thing. I’m a terrible technical writer, so this shit is necessary for me.

      I grabbed my friend who knows enough about computers to attempt this, but not enough about infrastructure to automatically know what I meant when I was too vague.

      Took two revisions, but the final document was way easier to follow at the end

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      That’s why blog posts rock. Most popular projects will have a dozen blog posts for different configurations. For example, when looking to set up NextCloud, I found docs for almost all combinations of the following:

      • Apache and Nginx configuration
      • running through Docker or directly on the host
      • MariaDB and Postgres configs (and SQLite, with proper disclaimers)
      • Collabora and OnlyOffice config

      It does take some knowledge of each of the above if you need one of the few configs that’s not available on a blog post, and some of the posts are outdated, but with a bit of searching almost everything is documented by someone on the internet.

      This shouldn’t be necessary (official docs should be more comprehensive), but at least it’s available.

      • cron@feddit.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        I’d rather have a great documentation than five different blog posts, where some of them might be outdated, wrong or insecure (and you only find out later).

        But yes, they are helpful and easily available for popular software.

      • harsh3466@lemmy.ml
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Okay, please point me to the blog posts that helped you with collabora/onlyoffice. Thanks have NEVER been able to get that to work with my nextcloud (currently using the Docker AIO).

  • AstralPath@lemmy.ca
    link
    fedilink
    English
    arrow-up
    9
    ·
    1 year ago

    Honestly, as a newbie to Linux I think the ratio of well documented processes vs. “draw the rest of the fucking owl” is too damn high.

    The rule seems to be that CLI familiarity is treated as though its self-evident. The exception is a ground-up documented process with no assumptions of end user knowledge.

    If that could be resolved I think it would make the Linux desktop much more appealing to wider demographics.

    That said, I’m proud to say that I’ve migrated my entire home studio over to linux and have not nuked my system yet. Yet… Fortunately I have backups set up.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Linux on the desktop almost never needs CLI interaction though. Maybe you’ll need to copy/paste a command from the internet to fix some sketchy hardware, but almost everything works OOTB these days.

      However, self-hosting isn’t a desktop Linux thing, it’s a server Linux thing. You can host it on your desktop, but as soon as you do anything remotely server-related, CLI familiarity is pretty much essential.

      • AstralPath@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        That depends on your use case for desktop linux of course. For me, yabridge is the tool I needed to run VSTs on Linux. Its CLI only as far as I know.

        Don’t get me wrong; I’m not afraid of the CLI. Its just some tools are assuming the end user is a server admin or someone with deeper than the upper crust knowledge of how Linux works.

    • hactar42@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Don’t forget the situations where you find a good blog post or article that you can actually follow along until halfway through you get an error that the documentation doesn’t address. So you do some research and find out that they updated the commands for one of the dependency apps, so you try to piece together the updated documents with the original post, until something else breaks and you just end up giving up out of frustration.

      • Someonelol@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        That sounds an awful lot like modifying an ESP32 script I’ve been trying to follow from a YouTube tutorial published a while back. Research hasn’t uncovered anything for me to troubleshoot the issue so it’s a really shit experience.

  • iamjackflack@lemm.ee
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    Am I the only one in this thread that took this as it’s asking for a clear text credential which is a terrible idea?

    • vithigar@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      A temporary one that you’re expected to remove as soon as you’ve created the admin user(s) you need, but yes. It should only be there during initial setup and ideally removed before the server is ever exposed to the internet.

      • BradleyUffner@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        The “if you no longer need it” part doesn’t really suggest that you are expected to do it as part of normal operation.

      • iamjackflack@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Yes because having a user remember to do something is a great line of defense, better than encrypting it from the get go. It should just be encrypted in the file.

        • gsfraley@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          I think that’s the way both Splunk and JFrog work – you generate or enter a password into the key field in a YAML file somewhere, start the service, and next time you come back it’s been encrypted.

  • sugar_in_your_tea@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    Here’s some more of the owl, the official docs: https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#registration_shared_secret

    So add this to your matrix config:

    registration_shared_secret: <PRIVATE STRING>

    I’m guessing this string can be whatever you want it to be.

    But yeah, I agree in general, some of the docs can be pretty opaque. For example, I wanted to configure NextCloud w/ Collabora in Docker, and I kept getting errors when trying to do what a few sites recommended. I ended up figuring it out, but only through trial and error. I’m going to go through the same pain this weekend when I try out ownCloud Infinite Scale up and running to compare.

    • EmoPolarbear@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I had very similar experiences with OCIS. Got it all set up following the quick start guide, found extremely odd and unacceptable behaviour with storage space ballooning, start troubleshooting and find “oh you had to do this, this and this manually, it’s in the docs” It is in the docs, but never referenced by any other part of the docs. Because why would you mention the thing that the admin must manually set up in 100% of installs in your setup guide?

      Anyway I’ve become that guy ranting on the internet that I don’t want to be. So just so you don’t suffer as much as I did; you have to create scheduled tasks via cron or your preference of scheduler to clean your uploads folder and data blobs. This also did not fix my specific issue and I ended up giving up on OCIS and sticking to Nextcloud.

      • sugar_in_your_tea@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 year ago

        Huh, thanks!

        I’m going to run both in parallel for a month or so before trying to get my SO to use it so I can better estimate the WAF. So far, NextCloud is good enough, but it’s kinda slow (and I have Redis configured) despite being on pretty beefy hardware (Ryzen 1700 w/ 16GB RAM). I really hate PHP, so I’d prefer a project I can contribute to if needed. I worked w/ Go for almost 10 years, so OCIS would be a natural fit, but I’d still contribute patches for PHP if that really was the best tool for the job. But I’m not going to get involved unless the project already does what I need (my contributions would be for smaller bug fixes).

        But yeah, the OCIS docs look kinda mediocre from the little I’ve read of them. But at least I don’t need to mess w/ PHP config most likely and can hopefully just forward HTTP requests to it.

        • EmoPolarbear@lemmy.ca
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          The move from php to go and the slowness of NC is what attracted me to the project. But I’m going to wait a bit longer until we’re flush with 3rd party setup guides cause I simply do not have the time to wade through their docs.

    • milicent_bystandr@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      As an LLM, I don’t truly understand the notion of sharing, but I can point you to a few resources that may help you understand more. It’s important to remember that human interaction is complex and varied, and different people will have different opinions.

      Here are some ideas to get you started.

      1. “Sharing is Caring”. “Sharing is Caring” is a popular phrase to explain the meaning of sharing. If you really care about your secret, that way you are sharing it with the loved ones in your life.
      2. Valuable things, such as companies, are often divided into shares. If you divide your secret and sell parts of it to different people on the internet, it becomes a shared secret.
      3. “A problem shared is a problem halved.” This is another popular phrase, showing that if you halve your secret, i.e. make it smaller, or less secret, then you are sharing it.

      Overall, humans value both secrets and sharing as a way to build and strengthen community. A shared secret is the ultimate expression of humanity in community.

      I hope that answers your question. If there’s anything else I can help you with, please let me know.

  • caseyweederman@lemmy.ca
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    1 year ago

    Step one: use Dendrite instead.
    Step two: come back and help me set up my Dendrite instance, it’s definitely not easier.

    • milicent_bystandr@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Step one: email must be much easier, I’ll just make an email server instead.

      Step two: screw this, I’m writing letters and posting them.

  • cecilkorik@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Matrix and its implementations like Synapse have a very intimidating architecture (I’d go as far as to call most of the implementations somewhat overengineered) and the documentation ranges from inconsistent to horrific. I ran into this particular situation myself, Fortunately this particular step you’re overthinking it. You can use any random string you want. It doesn’t even have to be random, just as long as what you put in the config file matches. It’s basically just a temporary admin password.

    Matrix was by far the worst thing I’ve ever tried to self-host. It’s a hot mess. Good luck, I think you’re close to the finish line.

  • GBU_28@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    What’s confusing here? Break down the steps and parts of the command

  • Justin@lemmy.jlh.name
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Being able to find and read software documentation and knowing how to use the tools that automate software deployment are why SRE/devops/cloud guys get paid the big bucks.

    I definitely recommend synapse over dendrite or conduit btw. dendrite and conduit have a bunch of missing features, and my first attempt at dendrite server shat the bed with its NATS store and died. I definitely recommend Synapse for all matrix servers going forward.

    The .well-known entries I found were the hardest to test, since synapse doesn’t provide a web server for them, and Element throws a fit if you don’t have CORS set up exactly in the way it wants you to.

    I mostly have my matrix server working now, with bridges even. However, Element randomly logs itself out on a daily basis which is really frustrating :/

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    HTTP Hypertext Transfer Protocol, the Web
    IP Internet Protocol
    SMTP Simple Mail Transfer Protocol
    ZFS Solaris/Linux filesystem focusing on data integrity

    5 acronyms in this thread; the most compressed thread commented on today has 3 acronyms.

    [Thread #905 for this sub, first seen 3rd Aug 2024, 13:15] [FAQ] [Full list] [Contact] [Source code]

  • anamethatisnt@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Alternatively, you can create new users from the command line.
    This can be done as follows:

    If synapse was installed via pip, activate the virtualenv as follows (if Synapse was installed via a prebuilt package, register_new_matrix_user should already be on the search path):

    cd ~/synapse
    source env/bin/activate
    synctl start # if not already running
    Run the following command:
    register_new_matrix_user -c homeserver.yaml
    This will prompt you to add details for the new user, and will then connect to the running Synapse to create the new user. For example:

    New user localpart: erikj
    Password:
    Confirm password:
    Make admin [no]:
    Success!

    This process uses a setting registration_shared_secret, which is shared between Synapse itself and the register_new_matrix_user script.
    It doesn’t matter what it is (a random value is generated by --generate-config), but it should be kept secret, as anyone with knowledge of it can register users, including admin accounts, on your server even if enable_registration is false.

    https://element-hq.github.io/synapse/latest/setup/installation.html

  • jay@mbin.zerojay.com
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    So you added the secret to the file and restarted the docker container, right?

    Something that I think will help you with self-hosting in the future is to always read through the entire process for setting up whatever you want to set up first, beginning to end, so that you are familiar with what you need to do before attempting it the first time. It’s helped me numerous times myself.

    • catloaf@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      Which config file does it go in? Where does it go in that file? Do you literally just put “registration_shared_secret” or does it need a value? What is the syntax of setting the value? Does it accept spaces, special characters, etc.?