I've been wanting to get a blog setup to help document some of my adventures in technology land. I plan to post helpful things that I've learned and possibly use this as an outlet to help me work through a few tech related projects. I decided to take a break tonight from working on Harvard's CS50: Intro to Computer Science course to get this blog setup.

I followed the mostly complete directions from this helpful blogpost at getgrav.org. Grav is a modern open source flat-file CMS. A flat-file CMS uses folders and basic file data to organize and assign values to content. A flat-file database can be an optimal solution for a smaller site containing content that is already prepared and organized.

Being a flat-file CMS means no calls to a database, which eliminates a common cause of bottlenecking. Caching is also baked in to virtually every aspect of content delivery, further reducing the amount of overhead required to serve a page. A database-driven CMS can be quick, but with so many moving parts on the backend, it is difficult to optimize past a certain point.

After completing the instructions and trying to load up the site for the first time, I was greeted with an error message.

Server Error Sorry, something went terribly wrong! 0 - Identifier "messages" is not defined. For further details please review your logs/ folder, or enable displaying of errors in your system configuration.

A couple of quick Google searches and I figured out that I likely needed to update some of the plugins and the version of Grav itself, as I copied and pasted the wget address to the skeleton in the blogs instructions.

I ran the following commands to fix the error:

bin/gpm update


bin/gpm selfupgrade

After doing that, I was in business. I setup my admin account and here I am.

I've setup several database driven Content Management Systems in the past, such as Wordpress, Drupal, etc. The concept of a flat-file CMS sounded interesting to me, so I thought I'd check it out. I'm sure I'll learn a few new things along the way, but so far the interface is slick and some of the themes they offer look pretty slick as well.