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.
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.
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.