DocMan: A Minimalist Document Management Solution

As a German living with the country’s infamous love for paperwork, I built a streamlined Qt-based tool called DocMan to manage my scanned documents efficiently. This post explains how it works and why I created it several years ago—and why it’s still my go-to solution today without requiring any maintenance. The Problem My document workflow starts with my scanner, which connects to my network via Samba and deposits scanned PDFs into an INBOX folder....

May 8, 2025 · 6 min · Manuel Herrmann

Generic XML Parsing in C++11: A Template Metaprogramming Adventure

Some years ago, I found myself experimenting with template metaprogramming in C++11. One of the most intriguing projects that came out of this tinkering was a generic XML parser that combined several powerful features: declarative syntax, automatic validation, and bidirectional serialization/deserialization—all without requiring duplicate code. Today I’m dusting off this experiment to share how it works and reflect on how modern C++ features could simplify this approach even further. The Goal: Declarative XML Handling The primary goal of this project was to create a system where:...

May 1, 2025 · 5 min · Manuel Herrmann

Building a Modular Emacs Configuration

Maintaining a clean, organized Emacs configuration becomes increasingly important as your setup grows. A modular approach separates concerns, simplifies troubleshooting, and makes your configuration more maintainable over time. In this article, I’ll share how I structure my Emacs configuration for maximum flexibility and sustainability. The Problem with Monolithic Configurations Many Emacs users start with a single .emacs or init.el file. This works fine at first, but as your configuration grows to accommodate different programming languages, workflows, and packages, a single file becomes unwieldy....

April 26, 2025 · 7 min · Manuel Herrmann

Puppet vs. Ansible: Game-Changing Differences in Modern Infrastructure Automation

After working extensively with both Puppet and Ansible, I’ve discovered some powerful features in the Puppet ecosystem that deserve more attention. In this post, I’ll share my experiences with Hiera and Puppet Bolt, highlighting how they compare to Ansible’s approach. Hiera vs. Ansible’s host_vars and group_vars One of the most significant differences between Puppet and Ansible is how they handle variable hierarchies. Ansible uses host_vars and group_vars directories, which provide a straightforward but somewhat rigid approach to configuration data....

March 31, 2025 · 8 min · Manuel Herrmann

SaltStack from Zero to Efficient: A Practical Journey

Let’s face it: infrastructure management can be tedious. But what if I told you that SaltStack has some seriously useful features that can transform your experience from mundane to efficient? While many configuration management tools like Ansible, Chef, or Puppet offer similar functionality, SaltStack distinguishes itself through its powerful event-driven architecture, efficient minion communication, and exceptional templating capabilities. These features make it particularly well-suited for managing complex, dynamic infrastructure at scale....

March 30, 2025 · 10 min · Manuel Herrmann

Getting Started with Emacs Lisp: Core Concepts Explained

Emacs Lisp (often abbreviated as Elisp) is the programming language that powers the extensibility of the Emacs text editor. It’s a dialect of Lisp that has been adapted specifically for text editing tasks. While it might look unusual at first glance, understanding a few key concepts opens up a world of possibilities for customizing your Emacs experience. In this article, we’ll explore some of the fundamental concepts in Emacs Lisp that often confuse newcomers....

March 29, 2025 · 6 min · Manuel Herrmann

The Essential Emacs Hotkeys Every User Should Know

For over four decades, Emacs has stood as a pillar in the text editing world, beloved by programmers, writers, and power users alike. What makes Emacs particularly powerful is its extensive keyboard shortcut system that allows users to perform complex operations without ever touching the mouse. Emacs comes with an excellent built-in tutorial that can be accessed with C-h t (Control-h followed by t). I highly recommend all new users complete this tutorial to get comfortable with Emacs’ fundamentals....

March 28, 2025 · 6 min · Manuel Herrmann

Lessons Learned from Journaling with Emacs org-journal-mode

As I delve into the intricacies of Emacs and its powerful org-mode ecosystem, I’ve discovered that org-journal has transformed my daily note-taking and task management workflow. Looking at the configuration shared, there are several valuable insights worth highlighting for anyone looking to enhance their personal knowledge management system. The Power of Daily Granularity One of the most impactful lessons I’ve learned is the importance of splitting journals into smaller, more manageable chunks....

March 28, 2025 · 3 min · Manuel Herrmann

The Rust Programming Language and the Advent of Code 2018

I recently got reminded about AdventOfCode2018. Be sure to check it out before end of december. Till now i did the challenges in rust, perl, bash - no specific language - just depending on the time i have. If you have plenty of time, the challenges from the last years are still available. Additionally i was looking a little into the programming language rust. ...

December 7, 2018 · 3 min · Manuel Herrmann

Hand written letters from 1941 and neural networks

As another side project i am currently trying to convert a letter into computer readable text just from a scanned image. ...

May 20, 2017 · 2 min · Manuel Herrmann