• 3 Posts
  • 100 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle



  • Arch Linux. Everyone said it was hard to use, unstable, etc. but my experience with it has been the exact opposite.

    Yes, the install process is needlessly complicated (although it got a lot simpler now that we have archinstall), but the OS itself is rock solid and rarely has any issues that require more than a reboot or a package reinstall to solve. The AUR is a godsend too if you don’t want or don’t know how to compile stuff from source.


  • The first time I heard about programming being obsolete was when I was taught UML in university. That was over almost 15 years ago and it didn’t happen, if anything programmers now also had to know UML, which isn’t all that bad but it definitely didn’t replace anything, it’s just useful for designing and documenting projects.

    I also heard from colleagues that in the 80s and 90s people said that SQL was supposed to be used by users directly, making (some) programming obsolete.

    Now AI bullshit claims to be making programming obsolete. I won’t hold my breath.







  • I think this one beats them all.

    My home server keeps a few services up, including an instance of Jitsi Meet. The server runs nixos and the nixos package for jitsi is incomplete to say the least and doesn’t even support authentication, so I use the docker-compose version and I have a script that runs periodically to keep it updated. So far so good, right? Well, no.

    Because the server is at home, I have a dynamic external IP address, so I have to use a DDNS provider, but jitsi doesn’t expect this and uses a stun server at startup to determine the public IP of the server once, so if my connection goes down or is restarted and the IP changes, jitsi needs to be restarted or it won’t work anymore.

    The solution?

    • My router runs OpenWrt, so I am able to run a script that checks for external IP changes. When a change is detected, it uses SSH to connect to my server to restart jitsi
    • Because I don’t want the router to just be able to run any command, I created a jitsi-restart user that has no shell
    • When the router tries to log in with its pubkey, sshd creates a file called restartasap in the jitsi folder and closes the connection
    • On the server, there’s a systemd unit running a script as the jitsi user that periodically checks for that file, and if it exists it deletes it and restarts jitsi

    I’ve been running this setup since mid 2020 and I expect this to continue until IPv6 becomes the norm.