Nov
- Applying custom configuration to Nginx Gateway Fabric
Jul
- Processing deeply nested JSON with jq streams
- Managing containers with Pytest fixtures
Feb
- NAT between identical networks using VRF
- Simple error handling in C
- A review of the Garmin Fenix 6(x)
- Packet, packet, who's got the packet?
Nov
- Setting up an IPv6 VLAN
- Using KeyOxide
Sep
- Delete GitHub workflow runs using the gh cli
- Kubernetes, connection timeouts, and the importance of labels
Jun
- Directing different ports to different containers with Traefik
Feb
- Udev rules for CH340 serial devices
Sep
- A pair of userscripts for cleaning up Stack Exchange sites
- Kubernetes External Secrets
Aug
- Connecting OpenShift to an External Ceph Cluster
Apr
- Creating a VXLAN overlay network with Open vSwitch
Mar
- Getting started with KSOPS
Feb
- Tools for writing about Git
- File reorganization
- Editing a commit message without git rebase
- Object storage with OpenShift Container Storage
- Remediating poor PyPi performance with DevPi
- symtool: a tool for interacting with your SYM-1
Dec
- To sleep or not to sleep?
- Animating a map of Covid in the Northeast US
Oct
- A note about running gpgv
Sep
- Installing metallb on OpenShift with Kustomize
- Vortex Core Keyboard Review
- Building multi-architecture images with GitHub Actions
Aug
- OpenShift and CNV: MAC address management in CNV 2.4
Jul
- OpenShift and CNV: Exposing virtualized services
- OpenShift and CNV: Installer network requirements
- You can't get an N95 mask: Now what?
Jun
- Grove Beginner Kit for Arduino (part 2): First look
Apr
- Grove Beginner Kit for Arduino (part 1)
- Some thoughts on Mechanical Keyboards
Mar
- I see you have the machine that goes ping...
Feb
- A passwordless serial console for your Raspberry Pi
- Configuring Open vSwitch with nmcli
Jan
- How long is a cold spell in Boston?
- Snarl: A tool for literate blogging
Dec
- OVN and DHCP: A minimal example
Oct
- TM-V71A and Linux, part 1: Programming mode
Jun
- Avoid rebase hell: squashing without rebasing
- Git Etiquette: Commit messages and pull requests
- Running Keystone with Docker Compose
May
- A DIY CPAP Battery Box
- Unpacking a Python regular expression
- New comment system
- New static site generator
Apr
- Adding support for privilege escalation to Ansible's docker connection driver
- Writing Ansible filter plugins
Feb
- Docker build learns about secrets and ssh agent forwarding
- In which I PEBKAC so you don't have to
- ATOMIC_BLOCK magic in avr-libc
Jan
- AVR micro-optimization: Avr-gcc and --short-enums
- AVR micro-optimization: Losing malloc
- Debugging attiny85 code, part 1: simavr and gdb
- Debugging attiny85 code, part 2: Automating GDB with scripts
- Debugging attiny85 code, part 3: Tracing with simavr
- PiPower: A Raspberry Pi UPS
Oct
- Integrating Bitwarden with Ansible
- Systemd unit for managing USB gadgets
Jun
- Configuring a static address for wlan0 on Raspbian Stretch
May
- Using a TM1637 LED module with CircuitPython
Mar
- Multiple 1-Wire Buses on the Raspberry Pi
- Using Docker macvlan networks
Feb
- Listening for connections on all ports/any port
- Grouping aggregation queries in Gnocchi 4.0.x
- Listing iptables rules with line numbers
Jan
- Pelican and theme update
- Fun with devicemapper snapshots
- Safely restarting an OpenStack server with Ansible
Sep
- Some notes on PWM on the Raspberry Pi
Aug
- Ansible for Infrastructure Testing
Jul
- Better bulk filtering for Gmail
Jun
- OpenStack, Containers, and Logging
May
- FAA Cannot Require Drone Registration
Jan
- Making sure your Gerrit changes aren't broken
Aug
- Exploring YAQL Expressions
May
- Connecting another vm to your tripleo-quickstart deployment
Feb
- A collection of git tips
- Deploying an HA OpenStack development environment with tripleo-quickstart
- Gruf gets superpowers
- Gruf, a Gerrit command line utility
- A systemd-nspawn connection driver for Ansible
- Folding long lines in Ansible inventory files
- Systemd-nspawn for fun and...well, mostly for fun
Nov
- Installing pyspatialite on Fedora
Oct
- Ansible 2.0: New OpenStack modules
- Automatic git cache
- Stupid Ansible Tricks: Running a role from the command line
- Bootstrapping Ansible on Fedora 23
- Ansible 2.0: The Docker connection driver
- Running NTP in a Container
Sep
- Migrating Cinder volumes between OpenStack environments using shared NFS storage
Aug
- Provider external networks (in an appropriate amount of detail)
Jul
- In which we are amazed it doesn't all fall apart
- Mapping local users to Kerberos principals with SSSD
Jun
- OpenStack Networking without DHCP
- Heat-kubernetes Demo with Autoscaling
May
- Teach git about GIT_SSL_CIPHER_LIST
Apr
- Suggestions for the Docker MAINTAINER directive
- Using tools badly: time shifting git commits with Workinghours
Mar
- Booting cloud images with libvirt
- Diagnosing problems with an OpenStack deployment
- Converting hexadecimal ip addresses to dotted quads with Bash
Feb
- Visualizing Pacemaker resource constraints
- Stupid Pacemaker XML tricks
- Unpacking Docker images with Undocker
- Installing nova-docker with devstack
- External networking for Kubernetes services
- Installing nova-docker on Fedora 21/RDO Juno
- Creating minimal Docker images from dynamically linked ELF binaries
- Filtering libvirt XML in Nova
Jan
- Docker vs. PrivateTmp
- Running nova-libvirt and nova-docker on the same host
- Building a minimal web server for testing Kubernetes
Dec
- Accessing the serial console of your Nova servers
- Cloud-init and the case of the changing hostname
- Starting systemd services without blocking
Nov
- Fedora Atomic, OpenStack, and Kubernetes (oh my)
- Creating a Windows image for OpenStack
Oct
- Building Docker images with Puppet
- Docker networking with dedicated network containers
Sep
- Integrating custom code with Nova using hooks
- Stupid command line tricks: Quickly share screen captures
- Heat Hangout
- Visualizing Heat stacks
- Docker plugin bugs
Aug
- Annotated documentation for DockerInc::Docker::Container
- Docker plugin for OpenStack Heat
- Using wait conditions with Heat
- nova-docker and environment variables
- lvcache: a tool for managing LVM caches
- Four ways to connect a docker container to a local network
Jul
- gpio-watch: Run scripts in response to GPIO signals
- Tracking down a kernel bug with git bisect
May
- Booting an instance with multiple fixed addresses
- Multiple external networks with a single L3 agent
- Video: Configuring OpenStack's external bridge on a single-interface system
- Open vSwitch and persistent MAC addresses
- Solved: Open vSwitch and persistent MAC addresses
- Sharing a terminal session with termshare
- Fedora and OVS Bridge Interfaces
- Firewalld, NetworkManager, and OpenStack
- Flat networks with ML2 and OpenVSwitch
Apr
- Extending Puppet
Feb
- Multinode OpenStack with Packstack
Jan
- Show OVS external-ids
- Stupid OpenStack Tricks
- Direct access to Nova metadata
- RDO Bug Triage
Dec
- Visualizing Neutron Networking with GraphViz
- An introduction to OpenStack Heat
Nov
- A Python interface to signalfd() using FFI
- Long polling with Javascript and Python
- Sockets on OpenShift
- A unified CLI for OpenStack
- Automatic maintenance of tag feeds
- Enabled blog comments
- json-tools: cli for generating and filtering json
- Quantum in Too Much Detail
- Moving to GitHub
- A random collection of OpenStack Tools
Oct
- Why does the Neutron documentation recommend three interfaces?
- Automatic hostname entries for libvirt domains
Aug
- Interrupts on the PiFace
Jul
- Generating a memberOf attribute for posixGroups
- Split concatenated certificates with awk
Apr
- Did Arch Linux eat your KVM?
Mar
- I2C on the Raspberry Pi
- Interrupt driven GPIO with Python
- Controlling a servo with your Arduino
Feb
- A quote about XMLRPC
- A systemd unit for ucarp
- Running dhcpcd under LXC
Jan
- Cleaning up LXC cgroups
- How do I LXC console?
- Systemd and the case of the missing network
- A second look at Arch Linux
Dec
- Parsing Libvirt XML with xmllint
- Getting the IP address of a libvirt domain
- A first look at Arch Linux
Nov
- Service discovery in the cloud using Avahi
- Using Oracle JDK under CentOS
- Document classification with POPFile
- Converting HTML to Markdown
- Relocating from Blogger
- Posting to Scriptogr.am using the API
- Private /tmp directories in Fedora
- Automatic configuration of Windows instances in OpenStack, part 1
- Generating random passwords in PowerShell
- Waiting for networking using PowerShell
Oct
- Growing a filesystem on a virtual disk
Sep
- Parsing XML with Awk
Aug
- Markdown in your Email
Jul
- Chasing OpenStack idle connection timeouts
- Git fetch, tags, remotes, and more
Feb
- Capturing Envoy Data
- Enphase Envoy XML Data Format
Dec
- Rate limiting made simple
Aug
- Puppet, scope, and inheritance
Jul
- Fixing RPM with evil magic
May
- Installing CrashPlan under FreeBSD 8
- Signing data with ssh-agent
- Converting OpenSSH public keys
Aug
- Python ctypes module
- Importing vCard contacts into an LG 420G
Jul
- Patch to gPXE dhcp command
Jun
- Kerberos authenticated queries to Active Directory
May
- Pushing a Git repository to Subversion
Feb
- LDAP redundancy through proxy servers
- Apache virtual host statistics
- Merging directories with OpenLDAP's Meta backend
- Filtering Blogger feeds
- Funny usage message
- MBTA realtime XML feed
- Blocking VNC with iptables
- NFS and the 16-group limit
Jan
- Cleaning up Subversion with Git
- Linux UPnP Gateway
- Retrieving Blogger posts by post id
- Fring: How not to handle registration