Hello world, again
Some 16+ years ago, I started to blog. Last weekend, something BIG happened to my blog and I hinted at it on LinkedIn:
Because you are reading this blog post on my “this” platform, it seems I was able to (more or less) complete that work. So let me start this new phase in style with the following:
values('Hello world!');
From Blogger to Hugo
When I looked for a blogging platform in 2008, there were far fewer options available than today. At that time, going with Blogger probably was a good decision. It offered simplicity, a stable environment, and allowed to use my own domain. And so in early 2009 my blog went live at https://blog.4loeser.net. I was not sure what it would be and how it would evolve over time. My main reason to start the blog is still valid today: It is to serve as my own memory (or notebook) and to share my insights, so I don’t have to repeatedly answer emails with the same questions.
I added blog post after blog post, my readership and my footprint in Internet search results grew. And at the same time more blogging options became available. But how to move? How to move all the existing blog posts with embedded code and images? I looked at it several times over the past years but never got into the doing - never until a recent long weekend…
To move or not to move, that is the question!
— Henrik Loeser (as asked from 2012-2025)
Now, after the migration, I am using Hugo, a static site generator, as blogging software. The articles use Markdown for the content, the source code for the blog is on GitHub (but not yet public - I am working on it). Among the many options to build and host the blog pages, I picked Netlify based on other projects I have worked on. But it could have been GitHub/GitLab Pages. Instead of moving “in-place”, I decided to leave the old site and its content in place, start this new site https://data-henrik.de and import my existing content. I am not sure yet about how long to keep the old site alive, nothing urgent.
Migration: Extract, Transform, Load
The actual migration included a long weekend to consider my options, plan the steps including some prototyping, to decide, and to actually get started. Similar to ETL processes, the migration process was to extract the existing blog posts and images, transform them to the new format, and to load them into the new platform. Basically, it was to
- define the overall flow,
- run the job (as instance of the flow),
- evaluate, check the results, learn from input data and output, and slightly improve the scripting.
Instead of ETL tools like IBM DataStage, I utilized a Python script to get most things done. Blogger allows to export all the textual site content as single XML file which triggered some pureXML memories. The Python script reads in the entire source content, extracts article metadata needed for the so-called Front Matter, rewrites links, tries to fix some messy source HTML, and eventually writes out hundreds of Markdown files with the transformed blog posts.
It also reminded me of database migrations, extracting metadata from the catalog/data dictionary, converting types and formats, importing everything at the destination and keeping an eye on tight maintenance windows.
Statistics, Optimizations, Conclusions
My 16+ years of blogging meant to deal with 735 blog posts, a couple of hundred images, many code snippets (formatted differently over the years). Because this new site is created by a single “ETL” script, with some spare time at hand I can/could/maybe will go back and fix and beautify some old content. I do not plan to manually fix single files.
With that, again, welcome to my new blogging home and its current state. It is already more than a Minimal Viable Product. I guess over 80% of the work is completed. If you have some IT experience, you probably know that means the project/product is done… 😉
If you have feedback, suggestions, or questions about this post, please reach out to me on Mastodon (@data_henrik@mastodon.social) or LinkedIn.