YubiKey Bio on Fedora KDE
Setup fingerprint unlock for sudo and session unlock using a YubiKey Bio - Fido Edition for uBlue KDE Aurora
Setup fingerprint unlock for sudo and session unlock using a YubiKey Bio - Fido Edition for uBlue KDE Aurora
The IP-based split-tunneling that I explore here allows control over which IP addresses go through a default VPN tunnel and which instead go through your regular network interface (or another VPN).
Use rsync hard-links to perform rolling backups of Kubernetes Volumes
This script iterates through my list of targets, checks the certificate expiry and prints the details.
Use Kotlin and Jetpack Compose to read and write files with the new scoped storage system in Android 10 and above.
Coroutines are a powerful feature in Kotlin to write asynchronous code that can look like synchronous code. Volley is a popular Android library for making HTTP requests. By combining the two we can drastically simplify code that depends on multiple API calls
A small code snippet showing how to read values from an xml file in Android
Examples of TokenStreams and DerivedInput objects in Rust using Syn crate.
Create a FireFox extension that allows post processing a webpage. Use a mapping file to decode hidden values.
Here I build the classic phone game Snake,with tests using the Bevy Game Engine.
By understanding what a function is and is not responsible for we reduce duplication and make our code easier to understand and more resilient to change.
Generating test values can better express intent of input values. The examples are written using Typescript, but the same technique can be used elsewhere.
Quick Tricks
A minimal example of a project that uses cmake, conan, and gtest. I make use of the very handy cmake-conan wrapper. This setup also works seamlessly in CLion
C++20
In this article I show a way to use Concepts in the member function parameters of other Concepts using function_traits.
C++
In this article I explore a system of using C++20 Concepts for Dependency Injection
C++
In this article I use jthread, stop tokens and latches to coordinate a worker pool
Quick Tricks
Create a broken utf8 CSV for use in your unit tests
Quick Tricks
GitHub provides search functionality, but it returns every mention in code. I just needed the list of repositories. Using the GitHub API we are able to fetch these results.
Terraform
This project was used to quickly create some server-less functions with AWS Lambda and make them accessible via HTTP requests.
Quick Tricks
Use Linux Watch to continually generate passwords for you
Quick Tricks
Explore a combination of tools including pipe, grep, find, xargs, and sed to do some video conversion
Linux
We recently had an issue where one of our servers was getting out of disk space errors when trying to pull new Docker images. This caught us by surprise as none of our disk usage alerts had fired. Once we got on the box to investigate we realised that it
Quick Tricks
It's quite simple to setup multiple Git (in this case GitHub) accounts on the same machine, each using different SSH keys. The scenario that I use this for is to have both a personal account and a work account. Host github-personal HostName github.com IdentityFile ~/.ssh/personal_github_
Kubernetes
I recently setup monitoring on my home MicroK8s cluster (Prometheus, Grafana, InfluxDB) and found out the hard way that by default the Grafana deployment does not have any kind of Persistence (emptyDir volume). If the pod gets restarted all of your custom settings, sources, dashboards, etc will be erased. In