2024

December 18
Comparison of different compression tools
December 17
Why TCP keepalive may be important
December 9
The irony of insecure security software
July 23
Thoughts on the CrowdStrike Outage
June 27
Alarms made right
March 22
Just-Make-toolbox
February 28
Containerized Development Environment
February 27
Ansible-runner
February 21
Portable Java shell scripts with Java 21
January 31
Git worktrees
January 9
Helidon 4 SE
January 3
Cilium dual-stack k3s pi-setup

2023

December 7
IPv6-Only Kubernetes Clusters
October 10
Introduction to Jobrunr
July 19
Ansible Jinja whitespace control
April 27
Caching OPTIONS in Varnish
March 21
Migrating HomeAssistant from SQLite to PostgreSQL
March 8
Jitsi with JWT and Moderated Meetings

2022

December 20
Data Integration Methodologies
December 20
Data Integration Methodology - Best Practices and Comparison
December 9
Ansible scheduling with filters
December 1
Apache Airflow for the Data Analyst
November 30
Data Streaming
November 22
Extending Power BI with R statistical language
November 16
Local MFA token
October 20
Get started with OpenID Connect and Keycloak
August 26
More Common mistakes in Automation
May 29
10 Common mistakes in Automation
April 28
Shell alias evolution

2021

December 11
Log4Shell and the importance of an outbound firewall
October 26
Zimbra and Outlook
May 31
Better Bluetooth headset audio quality with mSBC
May 17
Introduction to GraphQL with Vert.X
May 7
Getting random rows faster. Very much faster.
April 28
Backup verification for Veeam Agent for Windows
April 13
4 reasons why a container platform is the right way forward
April 12
Containers 101
April 7
Nested Virtualization - Hyper-V 2019 in qemu-kvm
March 31
Finalizing the VPC template
March 31
Faster Clojure with GraalVM
March 24
Video conferencing and privacy, findings and conclusion
March 24
Video conferencing and privacy, choosing a solution
February 19
Free Software and Open Source: Get involved
February 11
Documentation with terraform-docs
January 30
Bonding SR-IOV ports with OpenStack

2020

December 3
Migrating to OpenJDK
November 27
Moving forward with CloudFormation templates
November 25
Introducing the caddy web-server: Automatic TLS
November 19
Live migrating an Elasticsearch cluster across separate network environments
October 30
Upgrading Apache ActiveMQ Artemis
October 6
Getting started with Apache ActiveMQ Artemis
September 21
Starting with CloudFormation templates
September 10
FDWs, curl and LIMIT
May 25
Why Machine Learning models should run in Containers
April 17
Is your data green enough?
March 20
Ansible/AWX network performance investigation
March 19
FOSDEM 2020
February 18
Multi-factor Authentication (MFA) for AWS CLI
February 7
Why code your infrastructure?
January 17
A look at our new routers
January 10
Rapidly removing a Cumulus Linux switch from production

2019

September 28
Running PostgreSQL in Google Kubernetes Engine
August 27
Evaluating Local DNSSEC Validators
August 6
A rack switch removal ordeal
May 6
Validating SSH host keys with DNSSEC
April 4
Single node Kubernetes setup
March 25
Configure Alfresco 5.2.x with SAML 2.0

2018

December 3
Cloud done the right way
November 16
Local development environment for OpenShift
November 9
OpenShift with Jenkins for dev/prod parity
August 17
Moving your services to the cloud
August 14
Getting started with Terraform
February 26
Layer 3 routing on Cumulus Linux MLAG
February 2
Mule 4 SDK custom connector example
January 26
Jenkinsfile to Anypoint platform and Artifactory
January 23
Mulesoft Runtime on Raspberry with Kubernetes
January 22
yum shell - bat out of dependency hell

2017

December 24
Using Ansible for system updates
December 23
Vagrant for the lazies
December 22
Tiny virtual firewalls with IncludeOS
December 21
Making it right all the time - or that time I disagreed with a distro package about file permissions
December 20
S2I hooks
December 19
12 days of Varnish
December 18
Investigating performance problems through snapshot logging
December 17
Threat intelligence: Sharing is caring
December 16
A different approach to log rotation
December 15
Using Let's Encrypt with OpenShift
December 14
Using ssh_config(5) and FoxyProxy for fun and profit
December 13
iPXE and automated provisioning
December 12
Care and feeding of SMTP honeypots
December 11
Allow backup sysadmins to gain access through a "Break the Glass"-solution
December 10
Running Jekyll with Docker and OpenShift
December 9
A quick look at Thruk
December 8
Reduce disk bloat in PostgreSQL
December 7
fail2ban: To SSH and beyond
December 6
Getting started with OpenShift – The OpenShift all-in-one cluster
December 5
Fast and dirty RPMs
December 4
Everyday Docker
December 3
Varnish and misbehaving application servers
December 2
Using Ansible to change root passwords
December 1
Dynamic DNS helper scripts
November 6
varnish-5.2 with varnish-modules and misc vmods for Fedora and EPEL
June 9
Mulesoft Enterprise Standalone Runtime on Raspberry Pi 3 with docker
January 31
Encryption_in_mule
January 24
Norwegian IPv6 year in review
January 19
How to use Mule as a web server
January 11
OCSP: What, why, how?

2016

December 29
systemd comforts
December 24
Running wallscreens using a Raspberry Pi
December 23
Encrypted cloud backups with Duplicity
December 22
Systemd at 3am
December 21
Feeding the Elastic Stack
December 20
Enabling HTTP/2 for a site
December 19
Small-scale honeynet with Raspberry Pi
December 18
Deduplication of old file systems
December 17
JMole monitoring framework
December 16
Fun with firewall activity plotting
December 16
Pros and cons of visualizing firewall activity
December 15
Securing the Elastic Stack
December 14
Use virt-manager to build disk-images
December 13
Bash: Random numbers for fun and profit
December 12
Serving a static website from bucket storage
December 11
Read logs in PowerShell console
December 10
ncat, a modern implementation of Netcat
December 9
Slimming down the Internet routing table
December 8
Elastic Stack
December 7
Using systemd timers
December 6
Spicing up your own access with capabilities
December 5
Adventures in bash - catching several exit values in a piped set of commands
December 4
PaaS Play
December 3
Publishing Jekyll updates with gitlab-ci
December 2
Liberating the network
December 1
Grooming your SSL/TLS setup with cipherscan
October 20
varnish-5.0 and hitch-1.4.1 for Fedora and EPEL
September 2
UP6: clatd, a component of 464XLAT, packages for Fedora and EPEL
August 17
Using systemd-networkd to work your net
August 16
LDAP and password encryption strength
August 12
Encrypted Btrfs for Lazy Road Warriors' laptops
August 11
varnish-4.1.3 and varnish-modules-0.9.1 for fedora and EPEL
August 8
Setting up Jekyll

2015

December 24
RedHat Performance Tuning
December 23
Logging elapse time in Apache and Nginx
December 22
Quick Remote File Access
December 21
SSH autocompletion, jump host automation and other tips
December 20
Recording and replaying console sessions
December 19
Oh, Molly!
December 18
Stateless OSD servers
December 17
A brief history of the referer header
December 16
Job control
December 15
Thwarting and detecting malware with RPZ and OSSEC
December 14
Stress testing with Apache JMeter
December 13
Poor man's VPN via SSH socks proxy
December 12
Bash process substitution
December 11
Backing up the Rados Object Gateway
December 10
Introduction to strace
December 9
Kill, Yank and other simple keybindings in bash
December 8
Overriding DNS for fun and profit
December 7
Simply make rpms from ruby gems
December 6
Cloning block devices online using Software RAID
December 5
Pipeviewer
December 4
Changing a process’ file descriptor on the fly
December 3
Practical Rsync
December 2
To cd or not to cd
December 1
Network statistics and archaeology with SiLK
November 30
Welcome!