*NIX enthusiast, Metal Head, MUDder, ex-WoW head, and Anon radio fan.

  • 0 Posts
  • 16 Comments
Joined 2 years ago
cake
Cake day: June 12th, 2023

help-circle
  • There are cases where forward and reverse DNS need to match, and you may not want to have any association between two domains. SMTP is something that comes to mind. If your HELO/EHLO domain doesn’t match up, there are many servers that just won’t deliver your mail. I host my own email, and I work with very technical people. I don’t want “fun-domain.com” and “domain-on-my-resume.com” resolving to the same IP address. But I can host them on the same server.

    There’s still some software out there that does not support SNI.

    While your post body focuses on VPS, your question doesn’t, so I’ll also mention self hosting your own VMs. You can do a lot with reverse proxies and funky port based traffic routers, but sometimes just giving the VM it’s own IP is way simpler. Especially if you don’t mind hosting the VM, but aren’t interested in managing the service. I host a VM for a MUD I used to play. I don’t run the MUD, I don’t want to. I want them to be able to do stuff on their website without me having to edit a reverse proxy config, or without having to give them access to the host server.

    It can also be used to increase the number of connections you can have to a single interface.

    Perhaps you’re hosting your own VPN and you want traffic to come out an entirely different interface than the one your other services are on, for segregation reasons.

    A secondary IP can also allow for a bit of service redundancy. Probably not the most relevant thing in self-hosting land, but the ability to move an IP between two different VPSs (assuming they’re on different hypervisors anyway) is pretty handy.




  • The amount of software available in the package manager, without adding external repositories, exceeds that I’ve seen in any other distro I’ve used. Even with epel, I feel like others fall short.

    The ability to modify the build time flags of software while still using the package manager is also huge. I hate when ffmpeg doesn’t have speex support because some upstream dev figured it was a corner use case.

    It’s me, I’m the target demographic. I’m the one asshole who wants to build ffmpeg with speex support, clamav without milter support and rxvt WITHOUT blink support.

    There are some pretty great userspace helpers too. Things to ensure your kernel is always built with the same options. Things to upgrade all your python or perl modules to the new interpreter version for you. Tools for rebuilding all the things based on a reverse dependency search.

    Slotted installs are handled in a sane, approachable, and manageable way.

    The filesystem layout is standards compliant.

    I recall someone on /r/Gentoo saying something like “Gentoo is linux crack, when you get a handle on it, nothing compares.”

    When I boot my laptop into fedora/arch/mint/etc (or really any non-bsd based distro), I feel like I’m using someone else’s laptop. There are a bunch of git repos under /usr/src for the software I wanted that wasn’t in the package manager. I need to manage their updates separately. Someone else has decided which options are in this very short list of GUIs. I’m using whatever cron daemon they chose, not the one I want. Why is there a flat text log file under /var/db/? Why won’t you just let me exist without any swap mounted? $PATH is just a fucking mess.




  • Have you looked for providers that offer ETRN? Seems like that might fit your use case well.

    I’ve hosted my own email for over a decade with very few issues. It’s low ram and CPU usage so a very cheap VM (or a pair in different locations if you wanna be leet) can be a viable way to avoid the ISP related issues people have trying to host it at home. If you really want it all ending up at home you can do ETRN as mentioned and while TCP/25 is often blocked at home, the submission port (TCP/587) rarely is.



  • I must have been way out of it late last night. I totally missed that you were asking why people do it and not looking for recommendations. Sorry for the spammy nonsense response to your OP.

    To the latter question, I’ve seen devices that do OTP and FIDO in addition to basically storing arbitrary strings (e.g. your cc number).

    I get harassment scolding me for using Lemmy to advertise when I mention any of the products by name, despite having no affiliation with any of them outside of being a user, but they’re not hard to find if you look.




  • Tiling WM that you are not sure you want to get into: Sway. It’s a great alternative to i3 IMO.

    What I use when I care to put in the effort of setting something up in great detail: Enlightenment. Some may argue that it’s not “lightweight”, but you can readily include only the bits you want, and avoid things like network config guis and system tray apps or whatever it is that you don’t want. Even when you’re using “all the things” which is not technically “lightweight” what it IS is performant. Oh, it’s also very pretty.



  • You’re absolutely right. For what it’s worth, it’s just the first part that’s important.

    When you pick up a new concept from a “resource” such as a tutorial, take a minute to explore the concept and understand the semantics of what you’re doing. In the name of illustrating a concept tutorials can often be misleading in subtle ways.

    An explanation of my “useless use of cat” example:

    The command line has a concept called “piping”. This lets one command send output to a second command. It’s very handy. There is usually also a “cat” command, which will read a file and send the contents where you tell it. This is often your screen, or through a “pipe” to a second command. There is also a “grep” command that lets you search data for certain words.

    Many “linux newbie” tutorials combine these tools to show how “piping” lets you send data from one command to another. “cat” some text file, then “pipe” the output to “grep” to search for your words. It usually looks something like cat ./my_address_book.txt | grep Giles to find lines in “./my_address_book.txt” that contain the word “Giles”. The thing is that “grep” can take a file name as an argument. You can just do grep Giles ./my_address_book.txt, and cat is for concatenating files into one. If you want to simply read a file there are more appropriate tools such as “less”. This by the way is the “useless use of cat”

    When you’re a newbie though, it may be the first time you’re seeing either “grep” or “cat”. The tutorial is just trying to show you “pipes”. Along the way you’re picking up these “bad habits”. I’ve met professional sysadmins who didn’t know grep took a filename as an argument. It was always “cat blah | grep my_search”. I will see people type “cat /some/file | less” instead of “less /some/file”. It shows a lack of understanding of what these tools actually do, and IMO it just comes down to regurgitating tutorial actions without bothering to understand the semantics of what you’re being shown.


  • Don’t follow tutorials, understand them. I’m so tired of seeing useless uses of cat because some asshole writing a tutorial 20 years ago decided to illustrate how pipes work with a good ol cat file | grep string as if grep didn’t take a file name as an argument.

    The more time I spend being mad about this the more I notice people using horrible practices in tutorials because they’re too lazy to setup a legit use case.

    A new user sees this and thinks this is how grep works.

    Loops are another common one. People going around not knowing you can pass a glob to a shell for loop. Because the tutorial they read was lazily written and they didn’t bother to understand the bits of what they were being shown, only how to reproduce/mangle the command until they manage to get close enough to what they want out of it.