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