I'm Jason Firth.

 

For the past most of a year, this site sat in limbo. The question was, "What do I do with this place?"

After several years, my web hosting was about to expire, and I didn't know if I wanted to pay to keep things running.

Bottom line is, yes I am, but along the way I learned a lot about behind the scenes stuff, and I'm more in control of my website.

At first, I was looking at hosting the site myself. I downloaded a copy of Ubuntu server 18.04 and threw it onto a spare machine. Ubuntu server is pretty straightforward to get running. I set up apache, mariadb, and PHP. This all came from different write-ups I found online.

Apache is a web server that's been around forever. It's open source and has a modular architecture that allows a lot of different technologies to be used by just loading a command line. One thing I learned this time around is that one apache Apache server can be configured to serve a lot of different websites. For example, jasonfirth.ca can be configured to point at /var/www/JasonFirth.ca/ but my fake outrage site canceljasonfirth.ca can be configured to run off the same server at the same IP address and configured to point at /var/www/canceljasonfirth.ca/

Apache is smart, it knows how you access the site. If you reach the server from the url https://jasonfirth.ca or something else.

Mariadb seems like a fork of MySQL. There's some stuff to unpack here. Open source projects allow any person to create a new project based on their source code. You could take the source code of Firefox and make all the icons green and rename it luckycharmsfox and as long as general Mills is ok with you using the lucky charms trademark and you follow the Mozilla license. 

MySQL is a database server that's free and open source, but it also has a paid version. The paid version is called "enterprise" and has additional features. Mariadb appears to be a fork of MySQL that brings many of those enterprise features to MySQL.

 

PHP is a scripting language also called "post hypertext processor". Essentially, it's a programming language that lets a website you're watching make decisions on the server and make modifications to the page before it is sent to you. One way i used PHP on a previous version of this website is I had a script to add a navigation menu from one file to all the pages without having to maintain the menus on all the different pages, but php can do many things. The entire page is now a PHP based content management system. 

So why did I go with these particular packages? Well, once I set up the server in my home, I was sitting there with a server whose only job was to serve webpages and who had a huge hard disk. I decided to play around with a software package called nextcloud. Nextcloud is a really neat package. It basically lets you run your own cloud services -- it starts with something like Google Drive and contacts, but there are hundreds of plugins that let you add new features -- calendars, task lists, budgets, chat systems including video chat, webmail, and much more. Obviously these services already exist, but in this way you own them and control them on your own server or your own web hosting, and that's liberating.

I made the joke about cancel culture before, but it's true regardless -- Google in particular is looking to pare down the number of people using their services on YouTube to "commercially viable" ones, and we have been seeing the freedom we previously enjoyed slowly but surely being reduced. By being the one paying for your hosting, by being the one controlling your cloud services, You take that freedom back.

Let's think about a completely different application. Some companies have air gapped control networks, but your team still needs to communicate. Imagine setting up your own cloud services within an air gapped network, so your workers get isolated chat, file storage, file sharing, video chat, web email, calendar management, and task management. You could end up with a team with all the tools of the cloud, working in an air gapped island. 

It's good to be back, now that I know what I'm doing I expect to post more.

 

Thanks for reading!