My name is Christian Specht, and this is my personal site.
I'm a software developer and I use this site to feature my projects and (occasionally) some blogging.

Featured Projects:

SCM Backup

Makes offline backups of your cloud hosted source code repositories


Minimalistic tool to display tabular league data (results, rankings etc.) in existing websites.


.NET library to control an USB Missile Launcher

→ all projects

Recent Posts:

Hugo/Lightbox image gallery: Loading image captions from EXIF data

When I figured out how to create an image gallery with Hugo and Lightbox2, there’s one thing I left out: image captions. In Lightbox2 itself, this is straightforward. Here’s the generated HTML from the current...

Jun 29 2022 | hugo, web

Ten years of blogging

I missed the exact date by a few days, but ten years ago I wrote my first post here. It doesn’t feel like I wrote that much in that time, but it’s actually almost 50...

Mar 18 2022 | misc

Deleting an SSH key from Git Gui: the easy Windows solution

About four years ago, I wrote a blog post about deleting a SSH key from Git GUI. At the time of writing this, I was a new Git user and just played around with SSH...

Oct 06 2021 | source-control, ssh

Bitbucket Pipelines: Fixing 'The ECDSA host key has changed'

I recently pushed to a Bitbucket repository and expected Bitbucket Pipelines to deploy the site via SSH/rsync to my webserver. But rsync failed with this wall of text: (the project is private, so I have...

Apr 07 2021 | ci, ssh, wtf

Building/deploying Jekyll and Hugo sites via GitLab CI

After auto-deploying Jekyll sites via Bitbucket Pipelines and GitHub Actions, I wanted to try the same thing via GitLab CI as well. I had one more Jekyll site in a private Mercurial repository which I...

Feb 18 2021 | ci, hugo, jekyll, ssh

Creating an image gallery with Hugo and Lightbox2

In the last few years, I built multiple static sites with Jekyll. Altogether, I’m happy with Jekyll, but there are a few things that could be better, with the build duration being on top of...

Aug 10 2020 | hugo, web

→ all posts