Wiping the Slate Clean: Version 7.0 (or so)

Posted by Eric Cloninger on March 11, 2018 · 8 mins read

According to ICANN, I registered ericcloninger.com in June 2001.

The first iteration was hosted on a Frankenbox that I built from parts. It was just a motherboard, power supply, hard drive, and RAM that sat on a shelf in my office. It didn't even have a case or any fans. It ran an early version of what is now known as a LAMP (Linux, Apache, MySQL, PHP). It was connected to my home broadband connection.

It didn't take long to realize that hosting a website on a home broadband connection was a bad idea.

Alpha web server. Count the number of bad ideas.

Even in 2001, long before we were all streaming Netflix and Spotify, having an inbound connection from the open Internet caused lots of problems. My little server was constantly bombarded by connection attempts that weren't interested in me, other than as an opportunity for mischief. So, I moved my domain to a virtual hosting provider.

As I learned more about web programming, I added dynamic pages generated by PHP and driven by content in a MySQL database. That's when I learned about sanitizing inputs and what is now called an SQL Injection attack. The owner of my virtual host called me at home to tell me he was deactivating my site because it was generating tens of thousands of web requests per hour to other sites. Further, the MySQL database had consumed nearly all the disk space for all the websites the servers. We both learned something that day. Ooops.

Eventually, I scrapped the home-grown PHP site for a Content Management System (CMS) called PHP-Nuke. PHP-Nuke had the ability to add color schemes and custom functionality via PHP code. PHP-Nuke had a number of fatal security flaws that eventually ruined nearly every site that used it. PHP-Nuke was managed by a single person, so a community version arose called PostNuke that addressed many of the flaws. Along the way, I added some photos using another project called the Menalto Gallery.

I realized I didn't want to be a webmaster with this project and PHP-Nuke/PostNuke required too much effort. I just wanted to write some things somewhere that others could read them. This was long before FaceBook and Twitter gave us the ability to blather on at length, so I went looking for something suited to my needs.

WordPress is used by hundreds of thousands of sites. If you keep up with the frequent updates, a WordPress site will run well enough, but criminals are constantly looking to exploit WordPress. I used a hosted WordPress site for a year or so, but I hated that my site looked like so many others. When I looked at the web logs for my site, I saw it was under constant attack from bot networks trying out the latest exploits. On a couple occasions, I found where they had gotten in before the updates. Fortunately, they didn't do any noticeable damage.

I decided I really didn't need a site that took input from visitors. I didn't need to store information in a database. I didn't need any of the things that criminals and mischief-makers try to exploit. All I really needed was the ability to show some text and pictures with an index of my content.

In 2014, while searching for a job, I decided to test out Bootstrap, based on a friend's recommendation. I liked how Bootstrap described UI elements and made layout much simpler and would adapt to many screen sizes. I decided to see if I could encode my resume as a static HTML page using Bootstrap. The result of that project has seen a number of iterations and can be found on the Hire Eric link above. I eventually ended up taking a contract at Samsung.

I'd been working on some open-source projects for work and saw how many projects hosted on Github used Jekyll. Jekyll isn't a CMS, per se, but it solves some of the same requirements. It lets you add new content but there is no database on the back end. There is customization that can be done through CSS, but otherwise it's just static HTML with some indexes generated for easy navigation and RSS feeds. Jekyll wouldn't work for a big company web site, but for a small company, an open source project, or an individual, it's all that's needed.

The learning curve for Jekyll isn't too steep. The hardest part is understanding the Liquid syntax enough to do the build-time processing. CSS is a dark art as far as I'm concerned, but I was able to dig into it enough to make some stylistic changes to my site.

I deployed the first version of a Jekyll site for my personal stuff some time in early 2015 using a project that integrated Bootstrap with Jekyll. I spent a weekend adopting old articles I've written into Jekyll posts with the appropriate metadata. I added a couple dozen articles that year as we traveled to Europe with the kids during the months of June and July. We got home and I added a few more.

A new version of Bootstrap came out and I realized the Jekyll/Bootstrap project I built my site upon had been abandoned by the original author. Faced with forking the project and hacking in a new version of Bootstrap, I abandoned that project f or a plain Jekyll theme that I could customize myself without Bootstrap.

Late in 2015, life got complicated, then it got horrible. It's still complicated, but a lot less horrible.

A month or so ago, I was looking at the Google Analytics for my site. My aging content didn't have many visitors other than spiders. I decided I needed to rework my site. I'm using the same navigation structure as before, but I'm removing most of the out-dated content and everything that involves my family. One thing I discovered from GA early on, was that some of the photos got way more hits than I was comfortable with. The photos have been moved where I can control access to them.

I'll keep a few stories from the past, but I'm mostly starting over with content created from this point forward. I keep telling myself I need to write more, so maybe this will be the time I do it. If not, there's always Version 8.0.

Image credit: Copyright 2020, Eric H. Cloninger. Gleaner in Decay, Hydro, Oklahoma