Yesterday I was speaking with a junior lawyer about blogging and explained how I write my posts. They asked me if I'd ever blogged about how I blog, and apparently the answer is no, I haven't ever written a blog post about how I write blog posts. This post explains my custom software for blogging, why I wrote my own blogging software a decade ago, and the advantages of using a static website.

Custom Blogging Software

For many years I developed Wordpress sites as a consulting business. This is still a very popular blogging platform, and it's great, but it's also overkill. It's complicated, it's bloated, and the interface can distract from the writing task at hand. I've found that the more I strip down my writing process, the easier it is to get someting out there.

When I started my law practice I wrote my own simple blogging software, which has served me well for the last decade. It's fast, easy-to-use, and incredibly secure. The way it works is that each blog post is a text file where the first line is the title, the second line is the slug (part of the URL), the third line is the date, and then every subsequent line is a new paragraph. For example, this blog post looks like this:

When I'm finished, I compile the blog by running a program that takes every blog post and applies an HTML template to convert the text files into webpages, and then these are uploaded to an S3 bucket hosted on Amazon, which is then automatically distributed through the AWS Cloudfront CDN.

Having static files means that my website can't be hacked (unless Wordpress) because there's no aspect of the site that can be accessed dynamically. There's no server that's running anywhere, just HTML, CSS, and image files being delivered to the client. This is also incredibly fast, becasue there's no run-time generation of the pages (like with Wordpress). Although there's caching software for Wordpress that does something very similar, the model for my blog is simpler and doesn't have the security problems that any Wordpress site can suffer from.

Why I Don't Promote This

My blogging software is easy to use for me, but wouldn't be suitable for most people. Images go into a folder, and then they're referenced by writing out the URL in the body of the blog post. This is too difficult for many people. And there's no collaboration with my blog since every source file is only stored on my computer.

An approximately 350 line PHP program fills in the templates to compile the blog. It supports an RSS feed, dynamic images generated for links to zip files, automatic quoting, and that's about it. I don't have much need for anything more complicated. In a decade of running this blog I've made almost no changes to the program that generates it. It compiles all 300-ish blog posts in less than 0.15 seconds, so even this step is fast. At every step of the way, my system is about cutting out steps and making it easier to go from starting a post to publishing. This might be one of the reasons why I've been able to write so many blog posts.

That's The System

There are open source software packages that do something very similar, but for me, it wasn't a problem to write the basic code that powers this blog. And there's something nice about having a blogging platform that you completely understand and that's stripped down to just the features you personally use in your own writing. I wouldn't encourage a new lawyer to write their own blogging software like I did, but it's served me well over the years.