If you start a new blog, and one of the reasons you do so is to capture and catalog interesting things you spent a good chunk of your time on, it seems appropriate to start by describing how the blog came about, and how it was all put together from a technical point of view.
This blog didn’t come about by me setting out one day to have a blog. While I had pondered the idea of having a blog for a long time, the work needed to create something that I would have been happy with always seemed to demand more time and effort than I was able to put in. Instead, it took years of procrastination and a series of serendipities until I had all the pieces I needed (plus some time for me to realize that that was the case).
Let’s start in the summer of 2013. The media just started reporting about the data that the NSA collects about everyone. My initial reaction was a certain amount of uneasiness about how much information is collected without knowing what is being collected, who looks at it and what the data is being used for. Although, like most individuals, I didn’t think I have anything to hide, people that specialize in this area will tell you that it is important to look at it from the perspective of society as a whole, not from one individual. Or, as Edward Snowden put it:
“Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.”
But this blog post isn’t about government spying. That incident merely provided the impetus that got me thinking about who else might have access to personal information about me, how they got the access, whether I am alright with that, and if not, what I could or should do about it. Pondering that, it didn’t take long to realize that I was alright with sharing information as long as I was able to control what gets shared. This blog is an example, my profiles at linkedin, twitter etc. are others. It gets complicated when it comes to more intrusive technologies. Location tracking that cell phones invariably have to do to perform their service is an example. However, one issue that I felt stood out for me was my use of Gmail. Using Google’s email service grants them access not only to metadata—the people I communicate with, at what time, etc.—but also to the content of my email. All of it. In return, they provide me with a free service. As Seth Godin pointed out, this is where you have to realize that if you are not the customer you are the product.
Simply giving up on technology alltogether is not feasible. There are large benefits we gain from using the technologies that appear to be so intrusive into everyone’s privacy. It would be unreasonable to give all that up just to regain the level of privacy that people had before the advent of the internet. And let’s not forget that privacy invasions didn’t just start with the internet. For a while Credit Card companies have been tracking purchases, local stores are giving out saver cards to learn about the shopping habits of their customers, etc.
The good news is that privacy is not an all or nothing game, and it is possible to protect yourself against privacy invasions at different levels. I decided to start with what I thought was one of the more crucial aspects, i.e. making sure my private electronic communication stays private as much as possible. With that decision made I moved my email account from Google to a different email provider where I’m a paying customer and in return I get a promise that no one else but me gets to see the content of my email.
I had no appreciation for how many people and companies communicate with me via email. It quickly became cumbersome to go through the list, log into the respective websites, change the email address on file, and respond to the link that was sent to confirm the change. I decided to take the next step and get my own domain name. That would allow me to take my email address with me if I ever wanted to (or was forced to) change email providers in the future. I bought ottmarklaas dot net and set up the DNS records at the registrar so that I would receive incoming email at my new email provider. Switching to another email provider can be accomplished quickly, and the mail app on my computer keeps a copy of all emails, so they are accessible independent of the fate of the email provider.
I purchased the domain name solely for the purpose of obtaining the corresponding email address. However, the domain name also points to a web address, and I wanted to do better than displaying an “under construction” sign on my website. I decided to revisit my notes about creating a blog and do some research to see if the tools needed had progressed.
In the past, I had evaluated tools for creating a website from scratch (using software like flux, creating a blog by simply starting to type into one of the many “ready to go blogging platforms”, e.g. Tumblr, or use a hosting platform that provides preinstalled tool like wordpress. None of these options ticked the right boxes for me. There was either too much work required to get even a basic site up, too little flexibility provided with my posts stuck in some database system on a server or I had to learn about securing a website against malicious code.
Over the last few of years some people started migrating to tools that create static web pages. Examples of static website generators I looked into are Pelican, Octopress and Hugo, to name a few amongst many others that are available. Given the way they work the website created contains static HTML code without requiring a database underneath. That eliminates the need to worry about a large category of website attacks. This is a good solution if all someone wants is to publish content. However, I was also interested in learning about server-side scripting, so the search continued, albeit not for long.
As a compromise between the two extremes—dynamic websites with a database backend and completely static websites— a new category of websites emerged over the last years. They keep the server side scripting approach of the dynamic websites but eliminate the database backend. The main contenders in this category appear to be kirby, statamic, and GRAV. They all rely on php as the server side scripting engine but differ significantly in other areas, e.g., the template engine, community support, size of development team, etc.
In the end, I chose GRAV. An open source solution with no database backend to worry about and a relatively large amount of examples available to learn from seemed like a good choice for me.