• Home
  • Blog
  • Contact
  • Projects
  • Content Mirror
  • Matrix Guide

  • June Status Update

    June 14, 2022

    The last few weeks have been extremely busy. Summer classes will be coming to a close at the end of the month, and there's still a lot to be done, with papers, exams, and other assignments. I haven't been able to work much, either, but I'm looking forward to when I can start working a more normal schedule.

    Unfortunately, gas is so expensive here, around $5.20/gal, which is a bit much for my small income at the moment. I will probably try to work from home as much as possible, and maybe go into the office only one or two days a week. But, if I'm going to do that, I should probably get some monitors and a dock, because right now I just have my work laptop, and it is hard to be super productive with that small screen and keyboard.

    Lately, I've been playing around with a virtual private server (VPS) that I am renting from a hosting company. This is the first VPS I've ever got to use, and I have to say, some parts are really convenient, and some parts are not. It's super easy to spin them up, and I love that I get a real public static IP address. I really like both of those things, and it can be surprisingly affordable, too. Unfortunately, however, I'm not a huge fan of the resource limits, including the bandwidth limit. Of course, I probably won't be hitting any limits, considering that OpenBSD is extremely lightweight, but still, I don't like that the limit is in place. Although I of course understand why it is, you can't have users abusing your infrastructure.

    The other thing I don't care for is security. There's no point in employing full-disk encryption, because the hosting company could just dump the key from memory when the server is booted up. So there's really no peace of mind as far as security goes. At the end of the day, you're still at the mercy of the hosting company to respect your data. That's why I still like having my own hardware, and I don't ever see replacing my server with a VPS. Plus, I can get storage for way cheaper. My hosting company charges $0.10 per gigabyte per month. So 10GB is $1.00/mo and so on. It's reasonable for small amounts of data, but for 2TB, which is currently what I'm running on my home server, and which will probably only grow, that's $200 a month! Whereas I can pick up a couple 2TB drives for $70 each, and not have to pay monthly.

    The reason I'm even in the VPS realm is because I had the potential opportunity to host a website for a family friend. It's one thing to host my own personal email and website on my own server in my basement, because I'm the only one that depends on it. But if I were to add more people to my home server, then the stakes are a lot higher. I do really want a production-quality network setup at home, and that is something I'm striving for, but our residential power grid and ISP are just not reliable enough. There are outages, and I don't feel that I can subject my customers to those outages, which is why I wanted to host their websites somewhere they will actually be reliable. A VPS is really perfect for that, so that's the route I took.

    Unfortunately, the whole thing fell through and this friend didn't want a website in the end at all, so now I'm just sitting on a VPS that has a few domains pointing to it, but I'm thinking about turning it into an authoritative DNS server for all my domains. The DNS needs at least two authoritative name servers for each domain, but up to this point, I've only had one dynamic IP address. Now I have my residential IP address, and the VPS address, so I could easily spin up nsd(8) on both, and serve some records. I can register both addresses with the company I get my domains from, and then I can serve my own DNS records.

    The advantage to doing this, even though it would be a lot more work, and have a lot higher consequences if something goes wrong, is that I should be able to get my changes propogated faster. Right now, my domain provider only offers a time-to-live (TTL) of 5 minutes. Back when I was running a DNS server on my Arch box, I had a TTL of just 1 minute. This means that downstream DNS servers are forced to check in for changes a lot more often. Now, the reason this is important is that a TTL of 5 minutes doesn't mean everywhere in the world can access a new domain in 5 minutes. It still takes upward of a half hour to propogate through the entire system, but with a TTL of 1 minute, we can get that down to 5 or 10 minutes at most. Now, this will put a bit more load on my servers, but I have more computing power than I know what to do with, so that doesn't really bother me.

    I've also gotten into the domain business. I've bought up a few domains and pointed them at my VPS, just in case some family or friends ever want a website or custom email address. I don't know if I'll renew all of them when they expire, but I'll definitely hang on to my girlfriend's as of yet unused domain until she decides she wants to use or, or I just give her a subdomain of my domain, whichever she prefers. I also don't know how long I want to keep the VPS. I might actually just redirect all the domains to my home server, but for that, I'll have to write an API client for my domain provider so that I can update all of the DNS automatically when my IP address changes, because that would be a pain to do manually.

    As far as other computing news goes, as much as I love my little Raspberry Pi sitting on my desk, I'm debating on whether or not I should dig out my dock for my laptop and just use that as my main computer instead. That way, I don't have to leave the Pi running, and I can still get a much more powerful computer without burning too much electricity. My laptop is old, but it still doesn't use nearly as much energy as my old desktop, so maybe it is a good compromise. It has a lot of RAM and a decent enough CPU—at least, it's much better than the Pi's. The only difficulty I'm having is with the monitor. Given that I do most of my personal computing on a TTY, I only really need one screen. Although, right now I have three laptops that I use regularly. My OpenBSD laptop for school, an Ubuntu work laptop provided to me by my company, and then an old Dell laptop that used to be my parents. I've been using that one for my website business—buying domains, managing the VPS, etc. I really want to get rid of the Dell and the Pi though, because the functions that both of those serve can be just as easily by my OpenBSD laptop.

    For changes in the software realm, I have to admit a small change in my ideology, which is that I now realize that OpenBSD is not the answer to everything, but other operating systems solve other problems for other people. I've been forced to use Ubuntu for work, and I'm realizing just how clean and polished it is. It is so much nicer than I remember, and, yes, I admit it, it is much more usable than FVWM on OpenBSD for basic tasks such as browsing. Additionally, it includes Firefox and Libreoffice in the base install, which are the only two GUI applications I have to install on OpenBSD. This makes me think that Ubuntu would be more appropriate for desktop/laptop use, while OpenBSD is still much more appropriate for the server. So, I've briefly considered switching my laptops over to Ubuntu, but at the same time, there's something to be said for consistency across all my devices. I know OpenBSD more intimately than I think I ever knew Ubuntu, because OpenBSD just makes more sense as far as operating system design goes. It's easier for me to use, and has the software I need right in the base. Ubuntu is targeted at users that are fine just using a mouse to navigate fancy GUI windows, so it ships with a lot of convenience programs, and is a lot more bloated. But if you open a modern Ubuntu terminal, you'll find none of the basic tools. Not even make(1) or a version control system like cvs(1)! This means I can't even build basic programs without installing packages! So then you have to install all those packages from the repositories, and I'm not a fan of mirroring a 985GB package repository [1] just to install things that should be in the base.

    So, with that all being said, I'll stick with OpenBSD on my machines. OpenBSD is still the operating system for me. I like the way it operates, but I know that Ubuntu is probably much better for less technically-advanced users, so I will at least mirror the Ubuntu installers, in case my family or girlfriend ever needs a new OS.


    © 2019-2023 Jordan Bancino.