I knew I was in trouble the moment I had to update PHP. I was writing an article on reflection in GDScript, the primary scripting language for Godot. As I wrote the article, it grew heavy with code snippets, and I recognized that GDScript being very similar to Python, would be easy to add syntax highlighting to using any of the numerous options out there.

I knew I was in trouble the moment I had to update PHP.

Wordpress was the backbone of the old website; a bit heavy for my purposes, but a web developer I am not, and Wordpress makes it very easy to get a lot of things done quickly. Plugins are a part of that ease--installing syntax highlighting in Wordpress is just a matter of finding the plugin that best suits your site, and off you go.

I go to install an appropriate plugin and to my horror I'm staring at the death knell of my website.

Please upgrade your version of PHP to 5.4 or higher.

Oh no. It was all I could muster. There was nothing else to be done.

It was my own fault

Running your own server (or in my case, a VPS with Linode ) has some pretty major benefits, but if you find yourself a lazy bum, like myself, you can quickly run headlong into rough waters.

My issue wasn't with upgrading PHP, my issue was with upgrading anything. My server ran Ubuntu--it still runs Ubuntu. But unlike the version of Ubuntu installed on this server that just, well .. served you this page, the old version of Ubuntu I was running, was prehistoric. So old in-fact, that apt-get was worthless. All the repositories it linked to no longer served up software compatible with my system version.

There is an archive you can reconfigure apt-get to point to, that houses older versions of Ubuntu and the software available for those versions, so that you can incrementally upgrade your installs. My system however, was so far out of date, not even the archive could save me. I had to face reality; I had no choice but to deploy a new disk image and start over from scratch.

Do I even know what I'm doing?

Hint: The answer is no.

Everything on my server was so far out of date, because I frankly had no need to touch it. Between Wordpress, Concrete5 and Citadel, anything I would need to handle could be done through a front-end. As long as I kept those systems up-to-date, everything kept working and I lulled myself into a false sense of security.

That appreciable length of time where my admin duties were negligible, atrophied my ability to properly setup and maintain a server. Finding myself staring down at the unavoidable proposition of starting from scratch was not a pleasant position to find myself in.

Fortunately for myself, I'm a fast learner and went about handling this in the same manner I did the first time: I went to Linode and followed their sizable collection of articles on how to setup a server from scratch, using the exact stack I wanted for my setup (I at least know that much).

The long of it short, is that much smarter people than myself have long since figured out how to make these setups quick and easy, and I was up and running in no-time. Even security and port configuration were a breeze, between ufw and Linode's guides.

What a bunch of junk

Behind the scenes, the old site looked like the shopping cart of a backyard mechanic, when he's in-line at Harbor Freight during one of their Parking Lot Sales!.

The old website was an amalgamation of various web-apps, that at the time, seemed like I really needed them. Really needed them. Honestly none of them were ever really used. For the same reason you don't shop at the supermarket on an empty stomach, you don't shop for cool gadgets to pack your website with, without a clear understanding of what you want your website to do. Behind the scenes, the old site looked like the shopping cart of a backyard mechanic, when he's in-line at Harbor Freight during one of their Parking Lot Sales!.

Let's count them down, I had:

  1. Concrete5 I put up content, but nobody looked at it, including me. All the real content was in the blog. The original idea for having this CMS was that it would allow me to easily create custom pages for various projects. The reality of the situation, is given the abundance of sites such as Bitbucket and itch.io, there's not much need for keeping your own fancy page for a project. It can easily be handled in any modern blogging software by writing a page as a post, and marking it featured or promoted, so it resides in the main navigation menu.
  2. Forum This was used so little, I don't even remember which forum software I used. I don't think it ever received a single post, which is good, because I never looked at it and didn't care to.
  3. Citadel Mail To say this was unused would be unfair; my email was served out of here and didn't cost me a dime. The issue is, I was hosting my own email, so any issues with the server, and I'd lose email too. I'm not sad to see it go, and ecstatic that a 3rd party host was able to migrate all my emails, while still serving to and from the same mail address.
  4. Wordpress Much in the same as Citadel, I actually did use Wordpress. Where the issue arose is that it did much more than I needed it to. While it certainly wouldn't be worth throwing away a working installation for something simpler, now that I already had to look into replacing it, I did.

The new website is much simpler than the old. The only front-end software it runs now is Ghost, with Ghost being much simpler and lightweight than the Wordpress installation it replaces.

Cut away the fat

If you'll kindly look around, you'll notice I've opted to forgo comments, and the site is light on images. Putting this together I had the same realization I had in desktop software development a long time ago. The more you limit your scope, the less you have to do.

I do not like web development; I am not a web developer. The less time I spend putting a website together, the more time I can spend writing software and writing posts about software development. To me, it was clear that cutting away as much fat as possible, would make this whole process go much faster, and leave the end result much cleaner.

Even still, going from a new disk image to what you see before you, took between September 28th 2016, and the date of this post, October 3rd 2016. I suppose, like the development of all products & technology, the majority of the time is spent on the last 10%. Getting a usable site up and running didn't take very long--what took time was formatting and modifying the theme and backend to look good (at least to the best of my abilities), and just as importantly, feel good when using it.

Where to go from here?

Where do you think? It's time to cook.