ServiceFabric: a distributed platform for building microservices in the cloud
ServiceFabric: a distributed platform for building microservices in the cloud Kakivaya et al., EuroSys’18 (If you don’t have ACM Digital Library access, the paper can be accessed either by fo…
A timesyncd failure and systemd's lack of debugability
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Scaling Your Static Site to a Global Market for a Fraction of the Cost on AWS
Migrating from a server-based solution to S3 static website resulted in increased performance and decreased costs
Optimising Docker Layers for Better Caching with Nix
Nix users value its isolated, repeatable builds and simple sharing of development environments. Nix makes it easy to go back in time and rebuild software from years ago without issue.
An extensive ZFS setup on MacOS
DISCLAIMER: If you are in no way familiar or comfortable with the Terminal, this is not for you.
How did we end up with containers?
A short case study breaking down the interesting design aspects of containers.
The Raspberry Pi as a Stratum-1 NTP Server
NTP on a Raspberry-Pi - documents configuring a Raspberry Pi for headless operation, configuring NTP for remote monitoring, adding a GPS/PSS device (two discussed), and how well NTP performs in WAN-only, LAN, and PPS configurations.
Dmesg under the hood
Dmesg allows us to grasp what's going on under the hood when the kernel gets bad. Check out how dmesg is able to read kernel logs and show to the user.
My Own Private CDN
Yet another edition of Why Would You Ever Want To Do That
Snap, Flatpak and AppImage, package formats compared
Compare real-world RAM consumption of AppImage and Flatpak packages on low-memory Linux hardware. See how each format handles dependencies and…
Briar and Bramble: A Vision for Decentralized Infrastructure
What if we could build secure systems that didn't depend on central servers or even Internet access to let people collaborate? What would a system like this mean for political organizing, disaster relief, or even civic infrastructure? The Briar app and the Bramble framework are an attempt to find out.
Unprivileged Docker Builds – A Proof of Concept
I work at a very ‘locked-down’ enterprise, where direct access to Docker is effectively verboten.
An EPYC NixOS Build Farm
Nix is a powerful package manager for Linux and other Unix systems that makes package management reliable and reproducible. It provides atomic upgrades and rollbacks, side-by-side installation of multiple versions of a package, multi-user package management and easy setup of build environments.
Things I Learned Managing Site Reliability (2017)
For several years I managed the 3rd line site reliability operation for many of the world’s busiest gambling sites, working for a little-known company that built and ran the core backend online software for several businesses that each at peak could take tens of millions of pounds in revenue per hour. I left a couple…
Two years with CloudFormation: lessons learned
It’s been close to two years since I started working with AWS CloudFormation, the Infrastructure as Code solution by and for AWS. With CloudFormation you can describe and provision your entire AWS infrastructure in code. The entire AWS environment I work with is provisioned through CloudFormation - we only have…
Wireguard VPN: Typical Setup (2017)
I recently discovered the awesome Wireguard VPN tunnel and I was sold. Wireguard is a simple, kernel-based, state-of-the-art VPN that also happens to be ridiculously fast and uses modern cryptographic principles that all other highspeed VPN solutions lack.
Futures of distributions
Seems Debian is talking about why they are unable to package whole categories of modern software, such as anything using npm. It's good they're having a conversation about that, and I want to give a broader perspective.
Monitoring and Observability in the .NET Runtime
.NET is a managed runtime, which means that it provides high-level features that ‘manage’ your program for you, from Introduction to the Common Language Runtime (CLR) (written in 2007):
Build your own bare-metal ARM cluster
Learn everything you need to know about building your very own bare-metal ARM cluster with Docker and Kubernetes including real life use-cases.