Avulsos by Penz

This page is basically my blog. My interests wander mostly around math, statistics and software.


New article: Rust snippets.
Debian Bookworm was just released. Time to update the environment (Dockerfile) that builds this website.
While looking at how to set up verified commits in github, I ended up with a scheme using a vaulted private master key and multiple private subkeys, with notations documenting their usage. I've written down some notes in Using GPG and signing git commits.
I've been standardizing my github repositories and found some common patterns, now documented in github project structure best practices. This is probably the one article that I'll be constantly updating as things change.
Creating a pmount-compatible encrypted USB drive has notes specific on how to use LUKS to encrypt removable media.
While looking up (once again) how to use LUKS, I figured I had some notes laying around. Finished them up in Creating an encrypted directory-in-a-file.
I've written down some notes on how one can go about Creating a static nix channel that can be deployed with travis-ci to github pages. I've created one for myself here.
Updated the Debian live USB article with Debian Stretch kernel version numbers, and with instructions on how to test with qemu.
Wrote down some notes on Provisioning a Raspberry Pi using ansible. I'm currently using a hybrid Raspbian-Debian installation (Raspbianbian?)
The Debian repository was removed from this domain, as I now keep all my packages in packagecloud. I have also removed my GPG public key, as that was used only for Debian package signing, and I have lost the private key :)
git-buildpackage commands changed, so the article Debianization with git-buildpackage had to be fixed and updated.
The new subdomain http://cv.lpenz.org/ now has my Curriculum Vitae, rendered from http://github.com/lpenz/cv with continuous deployment.
The Create a Debian bootable live USB article shows my notes on how to create a rescue USB stick, or portable environment.
The Probabilistic bug hunting article shows us how to deal with software (or hardware, for that matter) bugs that do not have a deterministic behaviour.
I have built a new GPG key, and re-signed all my debian packages with it.
I always use watch to monitor the output of Unix processes and wait for events. I sometimes wonder about the history of outputs. Enters watchng, a python script that shows the output of a process along with the date-time, but only when this output changes between two consecutive runs.
Google sheets is a great tool for collaboration. It's a spreadsheet where a team can simultaneously edit cells online, in a clear and consistent fashion. To ease the use of the product of this collaboration in other contexts, you can now use google-spreadsheet-csv to download and upload the CSV version of a sheet.
The last article in the "HD occupation series", Hard drive occupation prediction with R - Part 3, explores how we can use historical data and Monte Carlo simulations to predict the range of possible values for HD occupation at any point in the future.
After the Deadline is a English language checker used by Wordpress.com among others. I have built a command-line client for it: the atdtool.
The Haskell eDSL Tutorial - Shared expenses explores the concept of domain-specific-language in Haskell by tackling a practical problem: sharing trip expenses.
The second article on the "HD occupation" series, Hard drive occupation prediction with R - Part 2, shows us where the linear regression breaks (hint: real life), and uses Monte Carlo simulations to build a more robust method.
The Hard drive occupation prediction with R article shows how to predict future free partition occupation by using a simple linear regression.
My notes on how to debianize a git repository now available online in the Debianization with git-buildpackage article