• +43 660 1453541
  • contact@germaniumhq.com

Garbage In, Garbage Out


Garbage In, Garbage Out

One of the most time consuming things for this website, was cleaning up the tags. They used to be an unorganized mess, and I was adding new ones as I was writing new articles. A lot of the tags had a single article. Some were misspells of an existing tag. A strangely disconnected cloud of tags existed, and wasn’t exactly clear what connected where. At some point I just realized this has got to stop.

The whole point of having the tags, was to make navigation easier, yet having a copious amount of tags made the generated site, my desired outcome, worse.

I decided that on one hand I actually need the tagging system. This helps people navigating the site finding topics they’re interested on. But I also need to enforce the tags to be consistent across the board.

The first thing was a manual cleanup of the tags. Since I had no idea what tags to use, I just started traversing all the blog posts, and create a huge mind map with the tags that I was encountering, trying to group them by topic.

The next thing was to formalize all the tags. I created a tree of all the tags, with all the dependencies that they have. For example germanium depends on selenium, or vim depends on ide.

Last thing was to create a script that automatically generates the article template, and the tags that are assigned to the article.

This really streamlined the process, including checking if the tags are actually present - bye mistypes, if the category is correct, fixing the case of the title, etc.

For example this is the actual command to generate this new article:

new-blog-post.py -i https://www.pexels.com/photo/several-laboratory-glasses-1366944/ \
    -t automated-test,development \
    -c Opinion \
    garbage in, garbage out

So validate your inputs, and you need less work into checking the outputs.