Building a place for my thoughts

My name is David Keane, and I've been working in design and web development since the early 2000s. I have a great love for open source software. It gives forever free tools for anyone to build things. The generous work of the open source community should be valued, shared, and used by everyone. I plan to write at more length on this in a separate post.

Most of my work to date has been commissioned client work, but now it's finally time to start writing down some of the things that I find interesting or useful. I expect this space to be home to some more substantial descriptions of my hobby work (mainly typography at the moment), some tips and tricks in the web develoment realm, as well as random bits and pieces that I find amusing.


I'll be trying to only use my own content on here, from writing to images. If I add content from other sources, I'll note it and link to it. People deserve credit for their output.

The setup

Normally, my approach to something like this would be to build my own architecture in PHP (a web development language) and make a mini CMS (content management system) on top of that. I might go that route for this in the future, but for the sake of both research into available platforms and to save some time, I'm starting with an off-the-shelf system. I'm using Grav which is a flat file CMS built on PHP. It allows editing using Markdown which is a popular tool for web authors, and the templating allows the use of Twig which I've been using in work for a number of years. It has a lot of the flexibility of PHP and the syntax feels like writing HTML.

Why a flat-file CMS?

As mentioned above, Grav is a flat-file CMS. I've found that attractive recently as I've worked for years with CMSs that use a database for storing data. This can lead to slowdown due to database access, and also presents some portability problems. If you move the site files to a new server, you still have to recreate the database, update the access credentials, and some permissions may need to be adjusted. I can see the point of using a database in some situations, but I think that the average website would be quicker and better just using files that live on the server.