May 18 2019
It's Time to Optimize
The time has come. A little while ago I decided to spend some time optimizing this blog.
The top priority in the initial stages was to create and release content. This was as simple as creating a couple HTML files with some Tachyons styling. There were zero hoops to jump through; no static website generator and no over-engineered solution. Doing so would have created deviation from the original goal of releasing content. The trade-off would have been several blog posts in exchange.
Given the chance to do it over again, it’s clear to choose the content every time. This is how all businesses should begin: focus foremost on producing your value and only optimize after earning the merit. Optimization is the reward for a job well done.
Creating a product unveils proper practices and areas to improve. To name a few for this blog: learn SEO tactics, implement subscriptions, use meta tags, and link pages together. Had there been automation from day 1, there would be a lack of in-depth understanding for these topics. Furthermore, some of these important attributes could have been left out! It’s easy to take an off-the-shelf solution and leave various features by the way-side. By implementing these things manually upfront, there’s a kind of “relationship” to these features and a desire to optimize them.
What are some of the symptoms that trigger blog optimization?
- A growing desire to write scripts for automation
- A growing checklist for releasing an article
- An increase in time spent doing busy-work
Really, these factors are common and likely recur cross-industry.
The lack of layouts made style changes time consuming. Site-wide changes required editing each blog post page (although this was not a huge deal since there were only a couple posts). The chosen solution? Jekyll abstracted away these layout styles – making changes much easier.
This blog’s README holds a checklist for deploying a new post. A growing README indicated a more extensive and laborious process. For example, one task dealt with error-prone efforts of linking the pages together with the forward/back arrows. The chosen solution was to add some Jekyll magic to generate these links. Had I taken Jekyll off the shelf from day 1, this feature would have been omitted (out of shear laziness). With the belief that this is of great value, I found a way to make it optimized.
One of the other tasks in the README was to create a new RSS entry. This was also an error-prone task was optimized.
I’ve used GNU make since day 1, but it’s worth mentioning:
make is used to build and deploy the website.
build executes Jekyll’s build process, while
deploy calls rsync on the generated files.
Hopefully this serves as some motivation to revisit some active projects, and make them more dev-ops friendly. On the otherhand, if you’re quick to optimize, maybe give slowing down a try?