VADOSWARE
Stop Using Merge Commits
Fixing Pinentry With Emacs
Yet Another IPC in Rust Experiment
From Zellij to Tmux Back to Zellij
Starting locally installed Postgres instances in 2024
Getting Features to Show Up in Your Rust Docs
A Year Hiatus with Rust and Webassembly
Building Custom Kernels for Kata Containers
Fixing GPGME Error on Arch
Makefile Tips: help text and preambles
Software Sessions: Yak-shaving interview (2022)
Faster CI builds for Rust with pre-baked builder images and sccache
PSA: Email Submission should be on port 465
Tooling spotlight: direnv
PSA: Getting __dirname and Package Information with ES Modules
Introducing the Awesome F/OSS Newsletter
The Preamble to Crypto might have just ended
TIL: How to Import or Open .ics Files in the Calendar App (iOS)
Remember the Firefox Phone?
App Runner finally works on Apex domains
Introducing pg_idkit: A Postgres extension for generating UUIDs
Self-Hosted email is the hardest it's ever been, but also the easiest.
Even Amazon SES Has IPs blocked by Spamhaus sometimes
Was Service Catalog Redundant After All?
Slonik is Awesome
Why don't more people use Throat Mics?
Building an interface (even if there's only one implementation) is unquestionably right
Learning to Love the Plus Addresses
Cool CLI: lstopo
Installing Fluent Bit and Loki for lightweight logs
A script for copying PVC data across StorageClassses
cert-manager moved from Bazel to Make
A Pattern for ENV in Sveltekit
Lets call pre-launch market-validation pages 'prospecting' pages
Thunderbird Autoconfig for your self-hosted email server with MTA-STS
The Future of Free and Open Source is AGPL
Upgrading a k0s cluster in-place from single-master to HA
How to Install newer versions and bleeding edge ZFS
How I Built LoginWithHN
Starting 2022 with a Bang: Ceph on ZFS
Infra Fun: Prometheus Broke My Haraka Installation
Everything I've seen on optimizing Postgres on ZFS
New node who dis? DNS Issues and Calico Failures on a resurrected Node
Handling your first dead Hetzner hard drive
Using Baserow to power the landing page for NimbusWS
Bare metal k8s storage: OpenEBS ZFS LocalPV + Rancher Longhorn
How and why Haskell is better (than your favorite $LANGUAGE)
Ansible tip: Variables from inventory file
Automating k0s cluster backup with Ansible and SystemD
Sometimes the problem is DNS (on Hetzner)
So you need to wait for some Kubernetes resources?
The Deployment Spectrum
Wicked Landing Gear
Novice Arch Pitfall: watch out for kernel mismatches (after system updates)
Level 1 Automated K8S Deployments With GitLab CI
Postgres Tip: Covering with primary key indices
Paxosmon 2: The Paxos Journey Continues
Years later, REST-ish Services in Haskell Part 4
Setting Up SES With Pulumi
Stuffing both SSH and HTTPS on port 443 with stunnel, sslh, and Traefik
K8s storage provider benchmarks round 2, part 5
K8s storage provider benchmarks round 2, part 4
K8s storage provider benchmarks round 2, part 3
K8s storage provider benchmarks round 2, part 2
Automatically closing issues is violence
K8s storage provider benchmarks round 2, part 1
K8s Upgrade Sunday 03-21-21
Serving a single file over HTTP with Rust and Go
Ingress Controller considerations in early 2021
Adding to the NodeJS Package Heap: async-wait-for-promise
SADE: a pattern for Services as DOM Elements
Stale kubeconfig breaking service to service communication with kube-router
Back to Docker After Issues With Podman
Right Sizing PM2 Clusters
Protect Your Eyes From Strain on Arch
INCOMPLETE: Getting Started With Vue 2 (An Onion Guide), Part 1
Improving security easily with Traefik and Kubernetes
Downgrading to Kernel 5.8.9 to fix Bluetooth on Arch (2020-10)
Cookie Authentication Without Nuxt Auth
Bits and Bobs With Podman
Rootless Containers in 2020 on Arch Linux
A recipe for running containers in your Tape tests
Upgrading Cert Manager From 0.4.0 to 0.16
A Safer Price Type in Postgres
Running containers for dependencies at will on Gitlab CI
Announcing redis-bootleg-backup (rbb)
A Servant API Testing Example From the Wild
Updating From Traefik V1 to V2.2
Setting Up Mailtrain on K8s
Haskell exceptionfree-readfile library released
2019-12 K8s certificate expiration outage
Python E2E Test Config on Circle CI
Running Zulip on Kubernetes
Announcing Maille 0.1.1
Starting my journey with the System76 Oryx Pro and Arch
An Emacs Indentation setup for Java
I don't (fully) trust the CNCF
Kubernetes 1.15 upgrade (from 1.13.0)
A couple talks on Postgres and Gitlab (June 2019)
Count-Min Sketch in Haskell
What is a Backend? A selective guided tour through terminology, approaches, and technology
Comparing OpenEBS and Hostpath
Ops Pearl: Managing Git Personas
A Quick introduction to manual OpenAPI V3
Setting Up Statping
A Galaxy Scale Addressing Scheme for Compute Availability
Ops Pearl: fast-forwarding a Git clone without a full pull
Mithril SystemJS and ParcelJS Getting Started Guide
Component Styling with CSS Variables, BEM-like class selectors, and some Tachyons
Kicking the Tires on OpenEBS for Cluster Storage
Paxosmon: Gotta Consensus Them All
Rest-ish Services in Haskell Part 3
A small collection of Day 2 Vue Patterns
How to get off Yahoo! mail
Rhymote: a Remote for Rhythmbox
REST-ish Services in Haskell: Part 2
REST-ish Services in Haskell: Part 1
Disassembling Raid on Hetzner Without Rescue Mode
Using Gitlab Deploy Tokens With k8s
Up and Running With Linkerd v1
Running Untrusted Workloads K8s Container Linux Part 3
Running Untrusted Workloads K8s Container Linux Part 2
Running Untrusted Workloads K8s Container Linux Part 1
Kicking The Tires On Fathom
Hetzner fresh Ubuntu (18.04 LTS) install to single node Kubernetes cluster with ansible
A Pattern For Component Based Program Architecture In Rust
Trying (and failing) to get LXD running on Container Linux
Securing Your Kubernetes Cluster
Using Makefiles And Envsubst As An Alternative To Helm And Ksonnet
Even faster rust builds in Gitlab CI
k8s Container Linux ignition with rkt and kube-router
SQLite Is threadsafe, parallel access safe, but I still want to extend it.
Yet another cluster re-install after switching back to Container Linux
Minimal effort build improvements and a GHC 8.2.2 upgrade
The cure for impostor syndrome is knowing things
Dedicated server rescue (RAID + Grub2 issues)
Better k8s monitoring part 3: Adding request tracing with OpenTracing (powered by Jaeger)
Switching From kube-lego To cert-manager
Awesome Dev Tool: MailCatcher
Better k8s Monitoring Part 2: Adding logging management with the EFKK stack
Better K8s Monitoring Part 1: Adding Prometheus
Fun with Gitlab CI
Using Both Integrated And Discrete Graphics Cards
A reliable fix to Docker not keeping it's IPV4 address on Arch
Adding (naive) email templating to my servant-powered haskell web application
Custom registries in JSPM from CI
Haskell build issues on Arch Linux (tinfo6)
Adding a very naive in-memory cache to my Haskell web app
Continuous Integration To Continous Delivery Haskell Project With Gitlab
Zero To Continuous Integrated Testing A Haskell Project With Gitlab
Switch From ployst/docker-letsencrypt to Jetstack's kube-lego
Adding Sqlite Powered Fts Search To A Servant Powered Haskell App
Update JSPM (SystemJS) + JSDOM + Vue testing integration
Moving From Server Side Sessions To Client Side Session Tokens with Servant
SSH tunneling using an intermediary computer
Docker on Arch Linux - docker0 just doesn't seem to want it's IPv4 address
Setting Up Piwik on Kubernetes
Gandi 2017 Redesign
Serving email on Kubernetes with Mailu
Within seconds of using Pingdom I got email spam
Kicking The Tires On Rancher 2.0
Serving a HTTPS enabled application on Kubernetes
Setting Up SSL Certs on Kubernetes
Running a Database on Kubernetes
Serving HTTP Applications on Kubernetes with Ingress
Fresh Dedicated Server to Single Node Kubernetes Cluster on CoreOS, Part 3: Setting up essential Kubernetes addons
Fresh Dedicated Server to Single Node Kubernetes Cluster on CoreOS, Part 2: Getting Kubernetes Running
Fresh Dedicated Server to Single Node Kubernetes cluster on CoreOS, Part 1
Static Binaries for Haskell: A Convoluted Approach
Graylog as a hslogger backend in Haskell
Ansible Is Awesome
Stop Using React
Revisiting E2E Testing With Tape (on a new project)
End To End Testing With Hspec (Almost)
Adding A Merge Patch Content Type To Servant
Installing Python On CoreOS with Ansible (to enable Ansible)
Quick And Dirty Forward-Only DB Migrations
An easy fix for the diversity "problem" in tech: A 4-step plan starting with fully anonymized interviews
Research Idea: Maintaining A Write Ahead Log For Application Runtime State
Case Study: Building A URL Bouncer
Trying And Failing To Expand Servant Cookie-Based Auth With Roles
Stop Worrying And Use Gitlab
LetsEncrypt Systemd Recipes
Useful Boilerplate For PureCSS
Adding Cookie Based Auth To Servant
JS component-centric libraries and my rationale for considering MithrilJS
Working with PDFs on Arch linux
Getting started with servant, Part 2
Getting started with servant (Part 1)
Three month (coding) bootcamps are not enough
Spotify's 2017 web app redesign
Switching from Mocha to Tape and testing E2E
Testing DOM with Mocha, part 3
Using dockerized Ghost with local SMTP
Issues with Thunderbird and Dovecot
more testing with jspm mocha and vuejs
Unit testing with JSPM (SystemJS), mocha and vue.js
Using jspm, systemjs, and vuejs together
Default docker settings on arch
Moving from catalyst/fglrx to amdgpu
Moving to Hugo from Wordpress
EZ Wordpress instance with docker compose
systemd service that runs docker
docker nginx firewall postgres random setup notes
From zero to kvm docker application
I moved all my projects to Gitlab, and you should too
Arch Adventures: Changing the volume with the buttons on a Logitech G930 Headset
Fx0 FirefoxOS device goes on sale!
Using Mocha with JSPM
Arch Adventures: Installing Steam on Arch Linux
Fixing emoji display in Firegraph
A case for using Pure over Skeleton
Building B2G (FirefoxOS) for a Nexus 5
Rooting the Huawei (Softbank) 201HW/U9201L
Absurdly useful tooling: entr + make (+ find)
Arch Adventures: Hibernating to swap file
Fun with Arch Linux
Why is there a debate about ad-blockers at all?
Using JSPM, ES6 React, and React-Router
Who still fiddles with Samba in 2015?
Emacs in daemon mode is awesome, when it properly loads your init config
Firegraph v0.1.0
WebAssembly, and the rise of transpilation
Cache busting with SystemJS/Aurelia
Bringing a “native” Instagram client to FirefoxOS
VCFPorter v1.2 Release!
A pattern for organizing *DD tests in golang
Small fix to the R2D2B2G extension
Go’s default testing package is not enough
Keep calm and watch Javascript churn
Announcing VCFPorter v1.1
VCFPorter, an open-source cross-platform Ember app for importing contacts (vCard) on FirefoxOS
Handling UTF-8 Quoted Printable strings
Meteor Patterns
Using mozrepl and emacs to live-reload Firefox
Working with EmberJS and EmberData
Merry Go Form
Developing a web application/API in Go? Use Gin
Building Apps for FirefoxOS
Device Storage API Quirk in FirefoxOS
Automatically creating RethinkDB instances,databases, and tables for testing fixtures
Getting pycrypto and NodeJS crypto package to play together
Introducing Loltrove
minor ursa + node-gyp issue
Debugging issues with Piwik
Usering in a new age of inter-program communication, with JSON?
Powerline, Konsole, and Tmux
Pretty terminals for all
Some small tips on WPA wifi setup on Linux
Inserting users on a branch in RethinkDB
Using my own product
Breaking stuff in production
Configr.io v0.1 Update
Launch of Configr.io
Building a small webapp on Iniz servers with nginx, nodejs, and postgresql
First Foray into web chat
VAIPR
Voice Recognition
TideSDK is awesome.
Working with TideSDK
Some minor updates made to Konvention
Starting a new side project
Konvention is a go?
Progress on Konvention
Konvention’s almost ready for an alpha
Projects
Hello world!