It's 2018 - Time to Redesign My Site

I've had a blog going since 2007. It has evolved in purpose over time and I am pretty sporadic about writing for it. I've only posted twice in as many years. One thing is fairly consistant however, I redesign it ever few years with a new tech stack.
September 22nd, 2018  by Blaine Garrett

The Early Days

Since I signed up for my first GeoCities account back in 1996 (?) I've been using my personal site as a sort of laboratory. I started off with the WYSIWYG editor in Netscape Navigator Gold. It wasn't before too long that I was writing my own HTML. Once I had access to a scanner at school, I was putting my artwork on my site too. As I continued to learn and started paying more attention to design and wanted to make changes to the website, it became very cumbersome to update a bunch of HTML files.


So I Learned Programming...

I started off with ServerSide Includes (SSI) so I could dynamically insert layout into pages, but quickly evolved into creating perl applications using tab deliminated text file databases. Throw in a little ImageMagick and I was making thumbnails and uploading images via a password protected admin interface of my own making. This was 1999.

Eventually, I learned PHP 3 and some mySQL and started banging out other sites like the Art Attack (which boasted over 1k users by 2002) and Local Music Online (which was a huge resource for the NW Wisconsin Music Scene from 98 - 2003. I look back at these times fondly. I didn't care about unit testing or QA or architecture and could crank out features in hours using just Notepad, phpMyAdmin, and an FTP account. It was also the time when you could accidentally delete an entire database, not have backups, and your users would be understanding and re-sign up. Oh yeah, no SSL and passwords stored in plain text. It was the wild west!

Nevermind, Back to CSS-less HTML

During the college years, as I continued to run The Art Attack, took up consulting work, and focused on school, my personal site was reduced to a single HTML page of links to things I thought were neat. Somewhere in there MySpace and Facebook launched and more and more people had internet access. 


The Rise of Web Logs

Around 2007, the concept of "blogs" were taking off as was Wordpress. I was fairly busy with my first real job - doing engineering for the relaunched Netscape (later Propeller), and didn't have a ton of desire to keep building my site from scratch - there wasn't much to learn that I hadn't already done a thousand times. Wordpress seemed ideal. 

The only problem with wordpress is that vulnrabilities were frequent and if you had made any customizations to your layouts, upgrades were never clean. At some point, I was hosting a phishing attack - a login page for the bank of Belgium which emailed the unsuspecting victim's credentials to some russian hacker.


The "Make Our Own Framework" Days

I decided to ditch Wordpress, but the idea of maintaining my site remained. I started working on a platform called "Merkabah" that I used to power a couple small projects I was working on. It was a Dajngo-based framework designed for Google AppEngine with a lot of JQuery in it.  It was generally shortlived, but I still used it for my personal blog up until very recently.

I Guess Javascript is the Future

In the mean time, I've been working more with REST services and Javascript front ends in the Redux family of libraries. They've pretty much killed JQuery for rich interactions in the browser. Server Side Rendering was still spotty without super custom setups (like on MPLSART.COM). SSR is still important for SEO and Social Sharing. 

Earlier this year, Google announced they were starting a Early Access Program for running Node JS on App Engine Standard. I was excited to be accepted to it as it meant I could use the NextJS framework with all of AppEngine's goodness like autoscaling. I'll write more on these bits later, but it means all the SSR goodness, combined with modern Javascript client rich interaction and speedy loading all the while on AppEngine's scalable hardware.

I'm excited to be re-doing my site from scratch again using these tools.
So, here we are. As you are reading this, you are looking at server rendered markup (go ahead, curl it) leveraging an external REST api on Google App and have all the magic of Single Page Apps without all my headache of Webpack setup and keeping a zillion libraries up to date.

To the Future and Beyond

I'll continue to be working on the site for the forseeable future and in all likelyhood, abandon it for a couple of years again, and then redesign it with whatever the hottest tech is then. Who knows, maybe I'll have a VR version of my site for you to enjoy in 2022. That'll be cool. Meanwhile, I'll try to actually keep it up to date - it's been a busy couple years I tell ya.