Valentin Brandl

Hits-of-Code Badges

3 minute read Published:

Building a web service for readme badges
There are few metrics that try to evaluate a codebase. Some give a glimpse about the code quality like cyclomatic complexity, code duplication, dependency graphs and the most accurate of all, WTFs per minute (WTFs/min). Others are less well fit to actually evaluate the quality of a code base such as souce lines of code (SLoC). Counting SLoC might seem like a good metric for the amount of work invested in a piece of software at first, but when you think about it, things like refactorings and removal of duplicate code through new abstractions might reduce the SLoC even if work was invested.

Deploying a Hugo website using Gitea and DroneCI

5 minute read Published:

Building a continuous delivery pipeline for static websites generated with Hugo
This blog is created using the Hugo static site generator. I used to deploy new posts using a bare git repository on the target server and a post-receive hook to build the posts and copy them to the public web server directory. I followed this tutorial by Digital Ocean. This worked well enough but, to deploy the blog, I always needed to push to a separate git remote. Also I had to set up SSH access to the server and the new git remote if I wanted to write posts on another machine.


4 minute read Published:

Building an API for the BIND9 DNS server to solve ACME DNS challenges
I manage most of my domains using my own nameservers, running BIND9 on two Debian VPS located in Italy (master) and France (slave). Until now, I’ve been changing the DNS records by SSHing into the machine and editing the zone file by hand. This worked fine since I rarely needed to change any DNS records. Then earlier this year, Let’s Encrypt put the ACME v2 endpoint into production which allows users to obtain wildcard certificates using the DNS challenge.

A Rusty Weekend

3 minute read Published:

My first steps with the Rust programming language
The Rust Language Since reading about Mozilla’s new programming language Rust I was eager to give it a try. Rust is a really new language and the first stable version was released in 2015. Almost C like performance without memory corruption vulnerabilities, no data races and so forth thanks to a number of very interesting design concepts and no garbage collector or any other kind of runtime overhead made that language sound really awesome.

Hello World

2 minute read Published:

First post explaining the how and why of this website

Welcome to my homepage. In this post I’ll try to explain why and how this site was build.

I created this website to give an overview about my person and the projects I’m working on.