Relaunched My Website

Written 2015-10-22 by Len Payne in Learning

Welcome to the new and improved LenPayne.ca. Because this is theoretically easier to maintain and update, I will hopefully be updating the site more often. Why is it easier to maintain? Most of that has to do with GitHub Pages and Jekyll. While I still love the MEAN stack, a static site generator is much easier to use.

Out With the Old

My previous site was based on the MEAN stack (Mongo, Express, Angular, and Node). It was a great learning experience and gave me an opportunity to practice things that have helped immensely in my professional career both in the classroom and outside of it.

However, it was still a database-backed dynamic site that wasn’t very dynamic.

In simple terms: the five posts I made over the course of two years might as well have been static HTML pages. The process of writing out a new post actually required me to put in the hard-coded HTML anyway, down to the <p> tags.

Security was an issue too (though far from a priority.) I enjoyed digging into a KDF framework to properly derive keys and store them securely. At the end of the day, though, it was like taking a sledgehammer out to pound in a thumbtack.

In With the New

So now I’m using Jekyll on GitHub Pages to pump out posts in Markdown (or HTML, or plaintext) rather than backing them with a database at all. This trend towards static site generators is something I can really get behind. My time with WordPress makes me shudder. Sure, a tool like Jekyll still has a significant technical component (ie- Joe from Joe’s Crab Shack couldn’t update his own site) but the possibility of a site getting “hacked” the way that WordPress has allowed for botnets and security holes is almost nil.

The Good, The Bad and The Ugly

I like Jekyll a lot, for what it lets me do (which is, write Markdown posts.) It gives me control over my presentation and content, the way a good CMS allowed, without the overhead of PHP or a database.

The combination of includes like {% include foot.html %} and variables/filters like {{ page.date | date: "%F" }} gives me all the things I like about templating systems without the hassle.

The biggest downside is that it’s still a significant investment of time and effort to get the initial site up and running. At this point, I’m easily at the ten or fifteen hour mark, which is a lot for a personal project these days.

Another significant downside is that Jekyll is Ruby-based. But that’s just a personal-preference/holy-war issue, not a game breaker. It works very well, and I have to admit that the script/ops world is moving more and more to Ruby these days, in spite of my insistence that it’s a dying language. So maybe it’s me that’s wrong.

Either way, warts and all, this project gave me the opportunity to try out some new front-end tools as well, including Materialize, which is a Material Design-based front-end framework. Basically: floaty buttons that have a neat wave effect! There’s some other cool things that it does well, and I’m sure I’m not doing it justice, but I’ve really enjoyed making this ugly little bit of the web.

Look For More From This Corner

So I’m going to officially point LenPayne.ca at this site in a couple minutes and make the site “live”. Which is good, because apparently my old site won’t authenticate with MongoLab anymore and can’t pull out content…

I’m hoping to get a bit of a “state of the human” address going, and post up my updated resume. For a bit of insight into what I do, check me out on Twitter or LinkedIn.

Keep an eye out on this space for more words from me in the coming weeks.