Gabe Fernandes

Live & Studio Audio Engineer, Musician, Creative. Hacker.

Web Development Hell

Jesus. I’m taking a moment to breathe.

For a couple of years, this domain was hosted through a managed WordPress subscription. All of the backend configuration was done for me, and I paid for everything in one place. It worked, but something was missing. It didn’t interest me, or excite me, to have a website.

When I was a kid, I had a refurbished piece of crap desktop PC. It had maybe 512MB of RAM, and probably a Pentium or a Celeron processor. I had to choose between good performance, and an internet connection, because the Wi-Fi dongle I used to get online would take up vast amounts of my limited memory. Back then, things were simpler. I had an HTML 4.0 textbook, and a copy of Windows XP with Notepad.exe. Between the ages of 9 and 11, I was teaching myself batch scripting, HTML, CSS, and vanilla JS, without an IDE, or any fancy libraries, or anything. Then again, as far as I remember, there wasn’t much of anything else besides HTML, CSS, and vanilla JS back then.

Now, at the age of 26, having abandoned computer programming since I graduated from University and focused on trying to earn an income as an audio engineer, I decided I wanted to get back into the world of computers. I’d decided to cancel my WordPress.com subscription because the cost of the hosting each year was extortionate for a website that I didn’t have any control over. Even the cost of the domain name was double where it would be on other hosts/registrars.

For a while, I just didn’t have a website. But that didn’t quite feel right either. I had a look around, and remembered that I used to play around with a VPS when I was a teenager. I remembered how comparatively cheap it was compared to other options, and how much fun it was being in control of a remote computer. I decided to get back into it. Most of my time has been spent configuring the operating system, writing custom MOTD scripts that only I would see when I logged in each time. I’ve had some of the most fun I’ve had in years -chasing down the rabbit holes of dependencies, trying to get to the bottom of obscure errors and strange edge case scenarios, since I’m often doing everything wrong. I don’t always find the right solution, but I find solution, which ultimately usually teaches me something.

I started with an apache2 web server, obviously. You’re literally just a sudo apt-get install apache2 away from being able to serve data to someone on the other side of the world. Even in the age of social media and an abundance of online communication tools, this still inspires me. I think possibly even more so now. However, gone is the futurist optimism of the Frutiger Aero era of the 2000’s. Then, it was inspiring that you could communicate with your own equipment. Now, 15 years later, it’s inspiring to me that you still can.

It is not abnormal to feel that the internet isn’t cool anymore. It’s certainly not optimistic. Perhaps my algorithm is reflective of my pessimism, but YouTube shows me vast quantities, in never-ending configurations, of videos about the decline of the internet and western civilisation full-stop. Corporatism has ruined the freedom of speech on the internet. In a lot of digital spaces, particularly around people we know in real life, I can’t help but feel a strong degree of self-censorship, and socially-imposed censorship. I wasn’t around for the peak of the Geocities era, but remnants from that original web were still present in abundance during my childhood. I would get lost on the internet, chasing link after link, delving deep into the writings and designs of the people who came before me. It thrilled me to know there was knowledge out there, even if it was the subjective experience of a socially-undesirable character from another continent. Maybe I was the only one who’d ever read it. Those people were brutally honest, and real. There were websites that clearly demonstrated someone in the throes of a psychotic episode, but somehow looking back at those websites they feel charming, uncomplicated, and honest.

So, I had my server running. I transferred my domain name, and fixed up the A-records to point to the new IP address. The question was, what to do with it?

I spent three tough nights, that would otherwise have been spent ruminating on other things at the time, programming in HTML5 Canvas to render a Matrix code effect. The film inspired me as a kid -the idea that the world could really be influenced by one person sat behind a computer, with the right knowledge and tools. So I figured out how to recreate it. I got so far, then I found a better algorithm on a YouTube video, and then I improved upon their idea to come to the finished article. Maybe someone else will stumble upon my code and improve it further. I hope they do!

Sadly, as I read on a Stackoverflow post recently, if you play around running enough commands as root you will eventually break something. Earlier today I managed to accidentally move all of my system files somewhere else, completely breaking my installation. On the bright side, I now know I can go from a clean Ubuntu installation to a functioning WordPress website with SSL and FTP in less than an hour.

A self-hosted WordPress blog is where I arrived. But this came after much deliberation, experimentation, and two months of research.

Gone are the days of vanilla web technologies.

We are in the era of the framework.

I looked into node, react, next, vue, angular. I watched videos of people comparing JavaScript to TypeScript. I googled a question and found a hundred subjective answers from different developers depending on their subjective experience. This was frankly, fucking insane. XKCD re-entered my consciousness, after many years away.

I got so angry trying to sift through conflicting information, power struggles between package management solutions and the very public melodrama between them, horror stories about people on scalable serverless hosting platforms being DDoS’d and receiving six figure bills on what was originally a free plan, without a spending cap.

JavaScript is a scripting language. Scripting languages are supposed to be interpreted in real-time. I don’t know what the fuck happened between my childhood and my mid 20s, but I refuse to compile JavaScript. The most basic apps were taking 20 minutes to compile on my server when I was running Coolify, and there was a 50% chance it would crash mid-deploy and require me to force a restart from my host’s end.

I fucking refuse. All I want on this site is a nice sexy landing page so people know I’m a very hungry and proficient young sound engineer, and a blog. And alongside, I want to still be able to serve random HTML pages, like matrix.html, without having to decipher an over-complicated server with layers of bloat and bullshit that is simply in the way of what I want it to do. So I’ve settled for a middle-ground. I’m self-hosting WordPress on Apache, and running my other bits in the background. This server functions like a server, not like the circle-jerking bollocks and bloat of compiled JavaScript. I’ll return to web development in a few years, and hopefully by then, the vanilla web standards will have caught up to a point where I no longer have to link to the above XKCD comic.

I just ran top on my server and I’m barely using any CPU or memory running things this way. Barely using any storage either.

tl;dr: Fuck frameworks, I’m doing this old-school. Love x


Leave a Reply

Your email address will not be published. Required fields are marked *