Raymii.org
- 2026-08-01: But can your calculator run Linux?
- 2026-07-18: More emulation goodness, an Intel Itanium (IA-64) emulator that boots Windows!
- 2026-07-05: Run Windows 2000 on a DEC Alpha with a new es40 fork
- 2026-04-10: Put your SSH keys in your TPM chip!
- 2026-01-31: A way to run Ansible 2.19 on old operating systems like Ubuntu 18.04 with working Apt
- 2025-11-20: Finally, run Docker containers natively in Proxmox 9.1 (OCI images)
- 2025-07-25: Bringing a Decade Old Bicycle Navigator Back to Life with Open Source Software (and DOOM)
- 2020-08-24: Local incremental backups of Google Photos on Ubuntu with gphotos-sync
- 2025-05-14: High Available Mosquitto MQTT on Kubernetes
- 2025-04-19: Leaf Node Monitoring v2025.01 released with Import/Export and Connectivity Check
- 2025-03-25: Fast MQTT logger (to syslog)
- 2025-03-17: After 47 years, OpenVMS gets a package manager (VSP)!
- 2025-03-11: Safely expose the Kubernetes Dashboard in Traefik k3s via a ServersTransport
- 2025-01-20: My First PCB: Relay AND gate
- 2024-12-17: My go-to C++ code for asynchronous work processing on a separate thread
- 2024-10-24: The Adventure of the Missing Syscall: Error 38
- 2024-09-21: Logging all C++ destructors, poor mans run-time tracing
- 2024-08-18: Compiling TETRIS from 1992 on OpenVMS x86 in 2024!
- 2024-08-14: OpenVMS x86 E9.2-3 fixes CDE (DECWindows) and adds a Guest Console (no serial port required anymore)
- 2023-04-11: OpenVMS 9.2 for x86, Getting Started part 1, install guide with VirtualBox
- 2024-07-29: Create Kubernetes user restricted to one namespace with resource limits
- 2024-07-17: nameConstraints on your Self Signed Root CA in Kubernetes with cert-manager
- 2024-07-17: Self-signed Root CA in Kubernetes with k3s, cert-manager and traefik. Bonus howto on regular certificates
- 2024-07-16: OpenSSL get entire certificate chain from a domain or loop over entire chain in file
- 2024-07-15: Password protect web services in Kubernetes (k3s/traefik) with basic auth
- 2024-07-12: Leaf Node Monitoring v2024.02 released, autostart, ssl certificate expiry and minimize to tray
- 2024-07-11: Using nodeSelector to deploy a Kubernetes Helm chart only on x86/amd64 nodes, not arm64
- 2024-07-10: Kubernetes (k3s) Ingress for different domains (virtual hosts)
- 2024-07-09: High Available k3s kubernetes cluster with keepalived, galera and longhorn
- 2024-06-28: My First Kubernetes: k3s 'cluster' on 3 Orange Pi Zero 3's, including the dashboard, hello-node and failover
- 2024-06-25: Netboot (PXE) Armbian on an Orange Pi Zero 3 from SPI with NFS root filesystem
- 2024-06-15: Leaf Node Monitoring v2024.01 released, better notifications and history
- 2024-06-14: Using a 1965 Dutch Rotary Phone via VoIP (T65) in 2024
- 2024-05-29: Qt Property Macro (Q_PROPERTY with 95% less code)
- 2024-05-19: Qt 5.15 LTS on Windows without a Qt Account
- 2022-04-17: Proxmox VE 7 Corosync QDevice in a Docker container
- 2024-01-23: Fixing the hiss on my Atgames Legends Pinball Micro including root access
- 2024-01-01: Which Root Certificates should you trust? Find out with CertInfo
- 2023-09-16: YouLessQt, helps you align the YouLess to an analog electricity meter
- 2023-09-13: A docker image for Qt 5.15 LTS for Android, including OpenSSL and the KDE patch collection
- 2023-07-05: Drawing a Circle in Qt QML three different ways
- 2023-07-01: Site update, self-hosted search via pagefind
- 2018-04-30: The sad state of Alpha emulators (for OpenVMS)
- 2023-06-15: My 24 year old HP Jornada can do things your modern iPhone still can't do!
- 2023-04-22: Bare Metal Vi, boot into Vi without an OS!
- 2023-04-19: OpenVMS 9.2 for x86, Installing HAProxy and troubleshooting UNIX file paths
- 2023-04-16: OpenVMS 9.2 for x86, Getting Started part 3, the WebUI
- 2023-03-22: Site update, cookie consent popup (for a static site)
- 2023-04-15: OpenVMS 9.2 for x86, Getting Started part 2, auto boot, licenses, PAKs, networking and SSH
- 2023-04-09: OpenVMS 9.2 for x86 is finally available for hobbyists!
- 2023-02-17: Named Booleans prevent C++ bugs and save you time
- 2023-01-14: Johnnie 'QObject' Walker, replace a service locator pattern while you're at it
- 2023-01-11: APT keeps complaining that the HTTPS certificate cannot be validated?
- 2023-01-05: Leaf Node Monitoring v2023.01 released, major performance improvements, new layout and new checks!
- 2022-12-12: Add moc includes to speed up Qt compilation
- 2022-11-03: Spinrite 6.0 on UEFI and an NVMe SSD drive
- 2014-11-08: OpenSSL Command Generator
- 2022-10-14: OpenSSL generate self signed certificate with SAN in one command (subject alternative name)
- 2022-08-19: Fade in / fade out in Qt/QML
- 2022-08-15: Responsive Qt/QML layout coming to Leaf Node Monitoring
- 2022-07-13: OpenVMS 9.2 for x86 will be released tomorrow (2022-07-14), so exciting!
- 2022-07-14: What's coming in the next version of Leaf Node Monitoring?
- 2022-05-29: Using a Windows Mobile 2003 PDA (HP iPAQ h4350) in 2022, including WhatsApp!
- 2022-05-19: Qt/QML Property bindings break after a JavaScript assignment
- 2022-04-29: HTTP GET requests with Qt and in Qml (async)
- 2022-04-24: Selling my own GPL software part 3, prior art (existing GPL software for sale)
- 2022-04-07: Price of a guest post on dragonflydigest.com?
- 2022-03-18: Yocto boot2qt for the Seeed reTerminal (Qt 6)
- 2022-04-02: Build a WeatherTerminal app for the Seeed reTerminal (with Qt 6 & QML)
- 2022-03-04: Qt 5.15.3 Open Source released
- 2020-10-20: I enforced the AGPL on my code, here's how it went
- 2022-02-26: Raspberry Pi Compute Module 4 eMMC flashing issue (nRPI_BOOT)
- 2022-02-22: Execute a script in a Yocto package on every image build
- 2022-02-21: Yocto boot2qt for the Raspberry Pi 4, both Qt 5.15 and 6.2
- 2022-02-12: Embed the source code directly in your Qt app with qmake and qrc, for GPL compliance
- 2022-02-09: Log all Item properties and functions in Qml
- 2022-02-09: Loop over all Repeater items or Delegate's in Qml
- 2022-02-08: Thank you, shotternail!
- 2022-02-07: QML Touch Area visualization with QML_VISUAL_TOUCH_DEBUGGING
- 2022-01-21: QML Drag and Drop including reordering the C++ model
- 2021-12-24: Selling my own GPL software, part 1: a lot of hurdles
- 2021-11-05: The yearly backup restore test
- 2021-10-05: Responsive QML Layout (with scrollbars)
- 2021-10-04: Render markdown in a Qt QML Text or TextEdit control
- 2021-10-03: Qt/QML: Expose C++ classes to QML and why setContextProperty is not the best idea
- 2021-09-20: Expose any Qt5 program via VNC
- 2021-09-08: Rectangle{} debugging in QML, just like printf(), but for QT
- 2021-09-06: Relegendable keycaps for your macropad, the best thing ever for developer productivity
- 2021-08-28: Install NetBSD 9.2 on a DEC Alpha CPU with AXPBox
- 2021-08-18: Install NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11
- 2021-08-22: Remote desktop on NetBSD with Xnest (no VNC)
- 2021-07-10: Using IceWM and a Raspberry Pi as my main PC, sharing my theme, config and some tips and tricks.
- 2021-06-27: Firefox 89 Proton UI Tab Styling
- 2016-06-19: Get started with the Nitrokey HSM or SmartCard-HSM
- 2021-06-07: Execute a command and get both output and exit status in C++ (Windows & Linux)
- 2021-05-23: Exclude lines in less (or journalctl)
- 2021-05-19: All packages that were present in Ubuntu 18.04 but absent in Ubuntu 20.04
- 2021-05-16: I've packaged up CKermit as a snap, for Ubuntu 20.04
- 2020-12-07: I've packaged up Gnash as a snap, for modern linux
- 2021-05-12: It compiles does not always mean that it works, a tale of virtual overridden fun in C++
- 2021-04-08: Run MS Teams on a coffee machine?!? (Or: Embedded Linux Framebuffer VNC client)
- 2021-04-05: Run one specific clang-tidy check on your entire codebase
- 2021-03-21: Three ways to print booleans as 'True' or 'False' in C++
- 2021-03-17: Record your Linux Desktop with ffmpeg and slop to any format
- 2021-02-27: Disable (debug) logging in QT and QML
- 2021-02-25: QT / QML Signals and Slots with C++
- 2021-02-13: Limit specific process memory on desktop linux with cgroups and earlyoom
- 2021-02-03: Reset the SYSTEM password on OpenVMS 8.4
- 2021-01-28: The Common Desktop Environment (CDE) is still developed and modern in 2021
- 2021-01-26: OpenVMS CDE Desktop Remote X session GUI (on AXPbox)
- 2021-01-23: AXPbox version 1.0.0 released! (Open source Alpha emulator)
- 2021-01-12: Site updates, new font for better contrast and other small CSS fixes
- 2020-12-27: Bash HTTP monitoring dashboard
- 2021-01-09: C++ std::async with a concurrency limit (via semaphores)
- 2021-01-02: Lets talk about changelogs, or, how I loathe 'bugfixes and performance improvements'
- 2020-12-31: Hacker News vs Lobste.rs in C++, an exercise in parsing json http api's and date/time/timezones
- 2020-12-14: C++ set up cpp-httplib with SSL support with cMake
- 2020-11-25: Semi-accurate live stream viewer count (hls/rtmp/restreamer) on the command line
- 2020-11-04: Installing OpenVMS 8.4 Alpha inside AXPbox on Debian 10 / Ubuntu 20.04 with networking
- 2019-10-23: std::accumulate in C++
- 2020-08-25: Get number of incoming connections on specific port with ss
- 2020-10-28: Exciting OpenVMS Alpha Emulation news, es40 has been forked to Axpbox (and works!)
- 2020-09-27: What does raymii.org cost to run?
- 2020-09-26: Tiny Tiny RSS vs Miniflux
- 2020-09-23: Store multiple types in a single std::map in C++ with std::any, just like a python dict
- 2020-09-12: CookieNumberPrinter, incremental / idle game style numbers in C++
- 2020-08-26: Get all SSH public keys from gitlab
- 2020-08-23: Get webcam resolution and info on Ubuntu and fix HD
- 2020-08-01: Ubuntu Snap auto updates broke my development setup and there is no way to turn them off
- 2020-07-31: The Twitter Bitcoin hack can happen anywhere humans are involved
- 2020-07-18: C++ Remove leading or trailing characters from std::string
- 2020-07-05: Running gnash on Ubuntu 20.04 (in Docker with X11 forwarding)
- 2020-07-04: Installing PyGopherd on Ubuntu 20.04
- 2020-06-07: Generate QR code and write it to a PNG, scaled, in C++
- 2020-05-27: Github Actions, C++ with Boost and cmake, almost a 50% speedup with caching
- 2020-05-24: I had to jailbreak my iPhone to change the default browser...
- 2020-05-03: Here be dragons, or, invalidated iterators
- 2020-04-24: C++ async, threads and user input
- 2020-02-03: Personal Wireguard VPN on a Freedombox with Debian
- 2020-01-29: Installing Freedombox on Armbian on the Olimex Pioneer
- 2020-01-22: Cancellation notice: cipherli.st, txtn.ws, ssldecoder.org and certificatemonitor.org
- 2018-08-06: nginx 1.15.2, ssl_preread_protocol, multiplex HTTPS and SSH on the same port
- 2020-01-06: Windows 10 updates with PowerShell
- 2019-12-27: Run CLion native on Android, ditch your desktop!
- 2019-12-22: Tiny Tiny RSS + Readability == The best way to read RSS feeds
- 2019-12-21: ScreensaverStopper, stop activating the screensaver by sending F24 often
- 2019-12-16: and & or are valid in C++ (alternative tokens)
- 2015-01-09: Broken Corrupted Raspberry Pi SD Card
- 2019-11-12: Weight for Weight, a coding exercise that kept me busy
- 2019-11-07: std::string to lowercase or uppercase in C++
- 2019-10-01: C++ project setup with CMake & unit tests (google test)
- 2019-10-02: Send commands or input to a detached screen session
- 2019-09-28: Get serial port data on the web with live updating
- 2019-09-02: Bash bits: split a file in blocks and do something with each block
- 2019-07-14: Bash bits: find has a -delete flag
- 2019-07-12: Only zero is false, everything else is true in C++
- 2019-07-06: GNUplot tips for nice looking charts from a CSV file
- 2019-06-29: Gherkin 30% keyboard build log and review
- 2019-06-25: connman operstate list
- 2019-06-22: C++ template definitions in a .cpp file (instead of a header file)
- 2019-06-17: C++ create and write to a CSV file with a variadic template
- 2019-06-07: C++ create and write to a CSV file
- 2019-06-15: Dark Reader, dark mode for any website
- 2019-06-13: Cooking with C++ templates and stronger types
- 2019-06-08: C++ variadic template recursive example
- 2019-05-29: Retro PC Ads - 1975 Sphere 1
- 2019-05-23: Match dig 127.0.0.53 server with systemd-resolvd server
- 2019-05-08: Site updates, new layout
- 2016-12-07: Create a PDP-8 OS8 RK05 system disk from RX01 floppies with SIMH (and get text files in and out of the PDP-8)
- 2019-05-07: Bash Bits: Find all files containing specific text (and remove them)
- 2019-05-06: Bash Bits: Randomize a cronjob to run between 00:00 and 06:00 hours
- 2019-05-05: Bash Bits: Check if a program is installed
- 2019-04-28: OpenSSL test TLSv1.3 connection and ciphersuites with s_client
- 2015-06-14: Strong SSL Security on Apache2
- 2015-06-14: Strong SSL Security on lighttpd
- 2015-06-14: Strong SSL Security on nginx
- 2019-04-18: totext.py - Convert URL or RSS feed to text with readability
- 2019-04-10: Convert markdown inline links to reference style links with Pandoc
- 2019-04-05: Building opkg .ipk packages by hand (for OpenEmbedded/Yocto/OpenWRT)
- 2019-04-02: Where is dropbearconvert on Ubuntu?
- 2019-03-20: Simple pygopherd log analyzer
- 2019-03-18: Disable motd news or (parts of) the dynamic motd on Ubuntu
- 2019-03-10: Site updates, raymii.org now also available on Gopher
- 2019-03-05: SpaceCat Launchpad v2, an awesome cool little macropad
- 2019-03-03: Viewing PDF, .docx and .odt files in mutt (as text)
- 2019-02-26: Get a JSON value with bash and sed
- 2019-02-16: My phone serves me 400+ ads and trackers per hour. Blokada, the best android adblocker, beats 'm all!
- 2019-02-10: Split keyboards, a five year review including the ErgoDox EZ, Matias Ergo Pro and Kinesis Freestyle 2
- 2019-01-12: Sparkling Network
- 2018-12-18: SSH on Windows Server 2019 (including how to sudo)
- 2015-03-03: OpenSSL command line Root and Intermediate CA including OCSP, CRL and revocation
- 2014-11-09: Ansible - Only do action if on specific distribution (Debian, Ubuntu, CentOS or RHEL) or distribution version (ubuntu precise, ubuntu trusty)
- 2013-12-22: Ansible - Only do something if another action changed
- 2016-05-15: Ansible - Add an apt-repository on Debian and Ubuntu
- 2018-11-13: Line total (up+down sum) in PHP Network Weathermap
- 2018-11-08: Three new NitroKeys! Nitrokey Pro 2, Storage 2 and a FIDO-U2F Nitrokey
- 2018-10-27: Use Ubuntu behind a Microsoft ForeFront TMG proxy with cntlm
- 2018-10-25: Encrypt and decrypt files to public keys via the OpenSSL Command Line
- 2018-10-17: Find files in tar archives and extract specific files from tar archives
- 2018-09-26: Reddit Gold for Caldera Openlinux 1.2
- 2018-09-10: Service checks in LibreNMS (http, all other Nagios plugins)
- 2018-09-03: tping - ping with a timestamp
- 2018-08-22: Linux on Microsoft Azure? Disable this built-in root-access backdoor (wa-linux-agent)
- 2018-08-08: Python script to talk to LibreNMS API and get alerts and hosts
- 2018-08-01: Site updates for accessibility, text only pages and skip to main content
- 2018-07-23: Send email with multiple inline images via bash with a loop
- 2018-07-10: log_vcs - Ansible callback plugin that creates VCS (git) branches for every Ansible run
- 2018-07-01: Windows 7 installer on a KVM Linux VPS (Windows on Digital Ocean)
- 2018-06-21: Syslog configuration for remote logservers for syslog-ng and rsyslog, both client and server
- 2018-06-14: snap install mosaic, the first graphical webbrowser on Ubuntu
- 2018-06-12: Chrome 68 is depcrecating HPKP (HTTP Public Key Pinning)
- 2018-06-06: That time when one of my HP-UX servers lost half of it's RAM (and how to connect to an HP iLO 2 with modern OpenSSH (7.6+))
- 2018-06-01: GPG noninteractive batch sign, trust and send gnupg keys
- 2018-05-18: HP-UX 11.31 System information and find out part number of a failed disk with sasmgr
- 2018-05-16: Icinga2 / Nagios / Net::SNMP change the default timeout of 60 seconds
- 2018-05-13: Multiple passwords for one user, UIC uniqueness and the system password on OpenVMS
- 2018-05-08: Mount ISO and execute scripts on OpenVMS
- 2018-05-06: File locking, grep and process killing on OpenVMS
- 2018-05-04: Site updates, new layout for overview pages
- 2018-04-27: Introducing the Yubikey Nano XL Rugged edition
- 2018-04-24: Installing the es40 AlphaServer emulator 0.18 on Ubuntu 16.04, and trying to install OpenVMS 8.4 on es40
- 2018-04-22: Small OpenVMS titbits
- 2018-04-19: Ansible - add apt_key inline
- 2018-04-16: OpenVMS 7.3 install log with simh VAX on Ubuntu 16.04
- 2018-04-15: File versioning and deleting on OpenVMS with DELETE and PURGE
- 2018-04-11: Synergy, no mouse cursor on Ubuntu 17.10
- 2018-04-10: FreeIPA DNS workaround for DNS zone [...]. already exists in DNS and is handled by server(s):
- 2018-04-09: Backspace and delete key behaviour on OpenVMS
- 2018-04-05: SSH public key authentication on OpenVMS
- 2018-04-03: Delete a directory on OpenVMS
- 2018-04-01: Mail on OpenVMS
- 2018-03-31: My first OpenVMS
- 2018-03-25: OpenStack nova get-password, set-password and post encrypted password to metadata service
- 2018-03-20: Essential Monitoring checks
- 2018-03-18: My Yubikey broke, but I had a backup. So should you with your 2FA
- 2018-03-04: haproxy: restrict specific URLs to specific IP addresses
- 2018-01-26: Dell PowerEdge firmware upgrades via iDrac
- 2017-10-29: ncdu - for troubleshooting diskspace and inode issues
- 2017-09-24: Adding IPv6 to a keepalived and haproxy cluster
- 2017-09-18: atop is broken on Ubuntu 16.04 (version 1.26): trap divide error
- 2017-08-17: Backup OpenStack object store or S3 with rclone
- 2017-05-25: Openstack Horizon, remove the loading modal with uBlock Origin
- 2017-04-13: Distributed load testing with Tsung
- 2017-04-10: Run software on the tty1 console instead of getty login on Ubuntu 14.04 and 16.04
- 2017-04-09: Check HTTP status code for a page on all DNS records
- 2017-04-08: Burn in testing for new Hypervisor and Storage server hardware
- 2017-03-18: Openstack Soft Delete - recover deleted instances
- 2017-03-09: Running WPS-8 (Word Processing System) on the DEC(mate) PDP-8i and SIMH
- 2017-03-05: Traceroute IPv6 to Smokeping Target config
- 2017-01-27: Ansible: access group vars for groups the current host is not a member of
- 2016-12-20: OpenStack: Quick and automatic instance snapshot backup and restore (and before an apt upgrade) with nova backup
- 2016-11-24: Overflow the Investigatory Powers Bill!
- 2016-11-14: Build a FreeBSD 11.0-release Openstack Image with bsd-cloudinit
- 2016-10-11: Nitrokey gnuk firmware update via DFU
- 2016-10-10: MySQL restore after a crash and disk issues
- 2016-09-25: Firefox History stats with Bash
- 2016-09-23: Create /etc/shadow crypted password entries
- 2016-09-13: Mouse movement via the keyboard with xdotool and xbindkeys
- 2016-09-12: IPSEC VPN on Ubuntu 16.04 with StrongSwan
- 2016-09-11: Nagios 4 + Nagiosgraph (latest) installation on Ubuntu 12.04 & 14.04
- 2016-09-10: Ansible - Create OpenStack servers with Ansible 2.0 and the os_server module and a dynamic inventory
- 2016-09-09: FST-01 gnuk firmware update via USB
- 2016-09-08: Ansible - create playbooks and role file and folder structure
- 2016-09-03: Reset iptables to ACCEPT all (backup and remove all existing rules)
- 2016-08-14: Nitrokey Start: Getting started guide (gnuk openpgp token)
- 2016-08-01: Nitrokey HSM/SmartCard-HSM and Raspberry Pi web cluster
- 2016-07-27: Raspberry Pi unattended upgrade Raspbian to Debian Testing
- 2016-07-17: Storing arbitraty data in the Nitrokey HSM/SmartCard-HSM with Elementary Files (EF)
- 2016-07-15: Use the Nitrokey HSM or SmartCard-HSM with sc-hsm-embedded, mod_nss and Apache (read only module)
- 2016-07-13: Decrypt/Extract Nitrokey HSM/SmartCard-HSM RSA private keys
- 2016-06-21: Use the Nitrokey HSM or SmartCard-HSM with mod_nss and Apache
- 2016-06-17: HTTP Strict Transport Security for Apache, NGINX and Lighttpd
- 2016-06-08: Toggling in a simple program DEC PDP-8 and PiDP-8 using the switch register
- 2016-05-05: Migrating personal webapps and services
- 2016-04-27: Build a FreeBSD 10.3-release Openstack Image with bsd-cloudinit
- 2016-04-12: IPv6 in a Docker container on a non-ipv6 network
- 2016-02-27: Active Directory and Exchange Command Line Powershell
- 2015-01-11: Let's Encrypt with DirectAdmin or other Web Control Panels
- 2016-02-24: Let's Encrypt with DirectAdmin, now built in!
- 2016-01-17: Ansible playbook for GoAccess Log Analyzer
- 2016-01-11: Deborphan cleanup until no more orphaned packages left
- 2016-01-02: Microsoft Office 2013 and 2010 on Linux
- 2015-12-31: Recursively find all [installed] package dependencies
- 2015-12-20: IPSEC VPN on Ubuntu 15.04 with StrongSwan
- 2015-12-20: IPSEC VPN on Ubuntu 15.10 with StrongSwan
- 2015-12-16: Forward or save outgoing email with Exim
- 2015-12-11: Generate hashes of files with rhash for archival storage
- 2015-11-09: Sign and verify text/files to public keys via the OpenSSL Command Line
- 2015-10-01: Make OpenELEC/Kodi work with the Sitecom CN-524/ Cambridge Silicon Radio (CSR) 8510 A10 Bluetooth USB adapter on the Raspberry Pi.
- 2015-08-03: Install Ubuntu Linux on the LG Chromebase
- 2015-07-26: Running TSS/8 on the DEC PiDP-8/i and SIMH
- 2015-07-23: Running Adventure on the DEC PDP-8 with SIMH
- 2015-07-14: Find all services using libssl to restart after an OpenSSL update
- 2015-06-13: Openstack - (Manually) migrating (KVM) Nova compute virtual machines
- 2015-03-22: OpenSSL: Manually verify a certificate against a CRL
- 2015-03-21: How I got a valid SSL certificate for my ISP's main domain, xs4all.nl
- 2015-03-21: Olimex OlinuXino A20 LIME2 mainline 4.0.0 kernel, u-boot and debian rootfs image building tutorial
- 2015-03-11: Automating Openstack with cloud init run a script on VM's first boot
- 2015-02-25: Openstack Glance Image Download, download Openstack images
- 2015-02-08: Installing Virtual Machines with virt-install, plus copy pastable distro install one-liners
- 2015-02-08: Remove Installatron from a (Directadmin) server
- 2015-02-04: Raspberry Pi FM radio transmitter with Buttons
- 2015-01-28: Olimex OlinuXino A20 LIME2 Minimal Debian 7 Image
- 2015-01-18: OpenVZ/Proxmox - pre-backup all container dump script
- 2015-01-17: Filtering IMAP mail with imapfilter
- 2015-01-05: Shared Git repository over ssh for multiple users
- 2015-01-04: Get all IP ranges from an AS number
- 2014-12-31: pfSense allow web interface access on WAN from specific IP
- 2014-12-30: HTTP Public Key Pinning Extension HPKP for Apache, NGINX and Lighttpd
- 2014-12-30: IPSEC VPN on Centos 7 with StrongSwan
- 2014-12-29: Arch Linux AUR PKGBUILD generate new checksums
- 2014-12-27: Ansible - Only if a file exists or does not exist
- 2014-12-22: Fix inconsistent Openstack volumes and instances from Cinder and Nova via the database
- 2014-12-21: Clear Uncluttered SSH client config with Ansible
- 2014-12-20: Olimex OlinuXino a10 Lime uBoot, Kernel and root image guide
- 2014-12-02: ingsoc
- 2014-12-01: IPSEC L2TP VPN on Arch Linux on a Raspberry Pi with OpenSwan, xl2tpd and ppp
- 2014-12-01: IPSEC L2TP VPN on CentOS 6 / Red Hat Enterprise Linux 6 / Scientific Linux 6
- 2014-12-01: IPSEC L2TP VPN on Ubuntu 12.04 with OpenSwan, xl2tpd and ppp
- 2014-12-01: IPSEC L2TP VPN on Ubuntu 12.10 with OpenSwan, xl2tpd and ppp
- 2014-12-01: IPSEC L2TP VPN on Ubuntu 13.04 with OpenSwan, xl2tpd and ppp
- 2014-12-01: IPSEC L2TP VPN on Ubuntu 13.10 with OpenSwan, xl2tpd and ppp
- 2014-12-01: IPSEC L2TP VPN on Ubuntu 14.04 with OpenSwan, xl2tpd and ppp
- 2014-11-29: Openstack Affinity Groups, make sure instances are on the same or different compute hypervisor hosts
- 2014-11-25: Ansible - Only if host is also in other hostgroup
- 2014-11-23: Build a FreeBSD 10.1-release Openstack Image with bsd-cloudinit
- 2014-11-15: OpenSSL Decoder Script
- 2014-10-31: Olimex OlinuXino a10 Lime Minimal Debian 7 Image
- 2014-10-26: Keepalived notify script, execute action on failover
- 2014-10-14: Check and Fix SSL servers for SSLv3 connections or the Poodle CVE-2014-3566 bug
- 2014-10-12: Configserver Firewall and Security (CSF and LFD)
- 2014-09-24: Patch Shellshock)with Ansible
- 2014-09-18: Boot to Vim, Vim as Pid 1
- 2014-09-17: Statically (cross) compiled vim for x86, x86-64 and mipsel
- 2014-09-15: Owncloud, DirectAdmin, Apache 2.4 and Error AH01797: client denied by server configuration
- 2014-09-14: Set your IP as wallpaper
- 2014-09-08: foaas.sh - Command Line Fuck Off as a Service client
- 2014-09-01: Get the current or all Firefox tab urls in Bash
- 2014-08-29: Build a $35 Time Capsule - Raspberry Pi Time Machine Backup Server
- 2014-07-25: Building HA Clusters with Ansible and Openstack
- 2014-07-11: OpenVZ/Proxmox - Container to Template
- 2014-07-10: Proxmox VE - One Public IP
- 2014-07-06: CentOS 5 CA Certificate Bundle Update
- 2014-06-28: Traceroute to Smokeping Target config
- 2014-06-13: Simple keepalived failover setup on Ubuntu 14.04
- 2014-06-11: Build a FreeBSD 10.0-release Openstack Image with bsd-cloudinit
- 2014-06-11: OSSEC 2.8 Server, Client, Web UI and Analogi Dashboard Installation tutorial
- 2014-05-29: Openstack Horizon installation with SSL on Ubuntu
- 2014-05-25: Openstack Swift Objectstore Access via FTP
- 2014-05-19: Encrypted Duplicity Backups to Openstack Swift Objectstore
- 2014-05-03: IPv6 at Home
- 2014-04-28: Transmission Web on a Raspberry Pi with Arch Linux
- 2014-04-17: FreeBSD 10, Converting from RELEASE to STABLE
- 2014-04-14: Linux software raid, rebuilding broken raid 1
- 2014-04-09: FreeBSD Ports: remove config options
- 2014-04-07: OpenSSL: Manually verify a certificate against an OCSP
- 2014-04-02: Chef: overwrite templates in wrapper-cookbooks
- 2014-04-01: Chef: chef_gem vs gem_package and ORDER
- 2014-03-14: OS X: Remove all Apple Remote Dekstop settings
- 2014-03-02: 3D modeling a real world object in OpenSCAD
- 2014-02-23: KVM add disk image or swap image to virtual machine with virsh
- 2014-02-16: KVM convert qcow2 disk images to raw disk images for performance
- 2014-02-15: KVM host with bonding and VLAN tagged Virtual Machines setup on Ubuntu 12.04
- 2014-02-14: Bonding NIC Teaming on Ubuntu 12.04
- 2014-02-05: Install extra software in the VMWare vCenter Appliance (VCSA)
- 2014-02-04: OpenSSL: Get all certificates from a website in plain text
- 2014-02-03: OCSP Stapling on Apache
- 2014-02-03: OCSP Stapling on nginx
- 2014-02-01: haproxy: intercept all cookies and set secure attribute
- 2014-01-30: Check if passwordless sudo can be used in a bash script or nagios check
- 2014-01-18: Remove unused CentOS/Red Hat kernels
- 2014-01-13: rc.local support on Arch Linux with systemd
- 2014-01-06: Ansible Inventory from VMWare
- 2013-12-30: Bash Bits: Simple command line arguments
- 2013-12-29: Ansible - Playbook Testing
- 2013-12-27: Local W3C HTML5 Validator Server
- 2013-12-21: Ansible - Sudo sometimes
- 2013-12-18: haproxy: client side ssl certificates
- 2013-12-15: Apache access/error log to syslog
- 2013-12-15: Back Up Thunderbird Message Filters
- 2013-12-13: Install nmap 6.40 on Ubuntu 12.04
- 2013-12-12: haproxy: set specific ssl ciphers
- 2013-12-11: haproxy: add strict transport security or any other http header
- 2013-12-10: haproxy: ssl backends
- 2013-12-09: haproxy: redirect to ssl or other website
- 2013-11-29: ntop-ng 1.1 installation on Ubuntu 12.04
- 2013-11-20: Corosync Pacemaker - Execute script on failover
- 2013-11-19: DigitalOcean Sucks. Use DigitalOcean!
- 2013-11-17: NoPriv.py - Easy IMAP Email Backup.
- 2013-11-09: Self Hosted CryptoCat - Secure self hosted multiuser webchat
- 2013-11-02: Corosync Notes
- 2013-10-28: Remove unused Ubuntu kernels
- 2013-10-25: Install the latest ZNC from source on Ubuntu
- 2013-10-15: Set up your own truly secure, encrypted and shared file synchronization, aka Dropbox clone
- 2013-10-09: OpenSSL One liner to create self signed certificate
- 2013-10-08: Chef: search in recipe based on roles or recipes
- 2013-10-06: Chef: include_recipe only_if or not_if
- 2013-10-01: Uninstall and Remove OSSEC
- 2013-09-21: Bash Bits: Check if item is in array
- 2013-09-18: Bash Bits: Add colour output to your script
- 2013-09-15: Bash Bits: Debug Logging
- 2013-09-14: Bash Bits: Trap Control C (SIGTERM)
- 2013-09-07: OSSEC Server, Client, Web UI and Analogi Dashboard Installation tutorial
- 2013-09-03: OS X - Enable access for assistive devices via the command line
- 2013-09-02: OS X - Applescript to lock date and time preference panel to fix local sudo exploit
- 2013-09-01: IPv4 Address Conversion Tricks
- 2013-08-14: OpenVZ dnsmasq set capabilities failed fix
- 2013-08-13: Bind DNS Query Graph Charts with GNUPlot
- 2013-08-08: Microsoft Exchange / Active Directory Powershell script to notify users of expiring Passwords
- 2013-07-30: Nagios - Hide all hosts in hostgroup
- 2013-07-28: Diffie Hellman Key Exchange Dutch Notes and Example
- 2013-07-26: OpenSSL - Generate Psuedo Random Passwords
- 2013-07-24: My Todo.txt Workflow, including Unison, Todour and Android
- 2013-07-24: Stong SSL Security on Lighttpd
- 2013-07-23: Pass the SSL Labs Test on NGINX (Mitigate the CRIME and BEAST attack, Disable SSLv2 and Enable Perfect Forward Secrecy).
- 2013-07-20: Pass the SSL Labs Test on Apache2 (Mitigate the CRIME and BEAST attack, Disable SSLv2 and Enable Perfect Forward Secrecy).
- 2013-07-10: OS X: Disable Notification Center
- 2013-06-29: bdsh - Whitelist Restricted Shell
- 2013-06-27: Strip all non-ascii characters from a file
- 2013-06-27: Samba Shares with Active Directory Login on Ubuntu 12.04
- 2013-06-26: Bash Incremental History Search / Autocomplete
- 2013-06-19: Dogtag / Red Hat Certificate System reset admin pkiconsole password
- 2013-06-13: Ejabberd SSL Certificate
- 2013-06-12: Ejabberd Active Directory LDAP Login
- 2013-06-11: Set up a federated XMPP Chat Network with ejabberd, your own Google Talk Hangouts alternative
- 2013-06-04: OS X - Turn Bonjour off or on via the command line
- 2013-06-03: OS X - Turn off sleep from the command line
- 2013-06-02: OS X - Create Hardware report SPX and save it to a AFP share
- 2013-05-28: Gitlab Active Directory LDAP Authentication
- 2013-05-10: OS X: Turn firewall on or off from the command line
- 2013-05-09: Exchange 2007 and 2010 Autodiscovery DNS SRV record for BIND
- 2013-05-08: Hide or determine BIND version number
- 2013-05-06: Nagios plugin to check an OCSP server
- 2013-05-03: Nagios plugin to check Safenet HSM
- 2013-05-02: Join Mac OS X to an Active Directory / OpenDLAP directory from the commandline
- 2013-05-02: Nagios plugin to check CRL expiry in minutes
- 2013-04-13: HP ILO - Quickly gather ILO version and firmware information via CURL
- 2013-04-12: Munin plugin to show Logstash/Kibana messages per hour
- 2013-04-09: Set up a Collectd client
- 2013-04-09: Set up a Collectd server with web frontend
- 2013-04-04: NGINX: Proxy folders to different root
- 2013-03-30: Silent unatended apt-get upgrade
- 2013-03-23: Ansible - sudoers safety and sanity checking in playbook
- 2013-03-13: NGINX: Hide / Block .git and .svn folders
- 2013-03-13: NGINX: Catch all error codes
- 2013-03-09: Hosted Piwik
- 2013-03-09: Ansible - pure ssh based configuration management and deployment
- 2013-03-09: Screenfetch installation tutorial
- 2013-03-08: Better Cron env and shell control with the SHELL variable
- 2013-03-07: Word occurrence counter and analyzer
- 2013-02-27: Create a VMWare ESXi 5 5.1 5.5 USB install disk
- 2013-02-15: Basic website and database backups with Duplicity
- 2013-02-10: Systemd rosetta / cheatsheet
- 2013-02-09: OpenSSL Generate CSR non-interactive
- 2013-02-09: OpenSSL match certificate and private key
- 2013-02-02: Munin - Fix MySQL plugin on Ubuntu 12.04 and Debian 6
- 2013-01-31: Munin - Set up the NGINX status plugin on Ubuntu 12.04
- 2013-01-28: Exploring /proc/ - tips and tricks for the procfs
- 2013-01-23: Fix CentOS IPTables rule saving (iptables: Saving firewall rules to /etc/sysconfig/iptables: /etc/init.d/iptables: line 274: restorecon: command not found)
- 2013-01-23: OpenSSL one liner to get expiry date from SSL Certificate of any website
- 2013-01-20: Restrict SSH
- 2013-01-17: RT (Request Tracker) - find and delete big attachments
- 2013-01-15: Install python 2.7 or 3 under Debian 6
- 2013-01-01: Ruby script to upload or convert a Maildir Inbox to an IMAP server
- 2012-12-21: Python script to monitor a file for changes and then mail the report with the file attached.
- 2012-12-19: Exchange 2010 - OWA - Lock user after x amount of failed logins
- 2012-12-12: Restore iptables rules after a reboot on debian
- 2012-12-11: CIDR Cheatsheet
- 2012-12-11: Resize OS X Mountain Lion installer to fit on a single layer 4.7 GB DVD
- 2012-12-08: Munin optimization guide for Debian (rrdcached, tmpfs, ionice and nice)
- 2012-12-05: Set OS X hostname from the commandline
- 2012-12-01: ClamAV installation and daily scan + report on Ubuntu
- 2012-11-24: Limit access to openssh features with the Match option
- 2012-11-08: Git-clean
- 2012-11-08: Set up your own distributed, redundant, and encrypted storage grid with Tahoe-LAFS
- 2012-11-07: Small low cost linux pc's, an overview from 11-2012
- 2012-10-22: Ray-Mon - PHP and Bash server status monitoring
- 2012-10-15: Codename Geld
- 2012-10-06: ed cheatsheet
- 2012-10-05: Persistent reverse (NAT bypassing) SSH tunnel access with autossh
- 2012-09-24: Nagios plugin to check certificates on local file system
- 2012-09-15: NutsManager
- 2012-09-12: PHP Task/Todo list
- 2012-09-09: Complete word count analysis of Security Now, episode 1 trough 370.
- 2012-09-06: Correctly grep and display the uptime, load average and amount of users
- 2012-09-02: Packages
- 2012-09-01: Tiny Tiny RSS
- 2012-07-22: Wallbase.cc commandline bash wget downloader
- 2012-07-09: Small Operating Systems / Linux Distributions
- 2012-07-09: Postfix snippets - not finished
- 2012-06-28: ProxBash - a bash script to manage Proxmox VE
- 2012-06-10: Ubuntu/Debian update mailer
- 2012-06-07: Terrible Start
- 2012-05-16: Bash - do something in every subdirectory
- 2012-05-13: Bash script to list all changed files in certain period
- 2012-03-28: Set up a local Ubuntu (apt) repository with apt-mirror
- 2012-02-12: NurseCalc o2 - Bash script and online app for Oxygen Calculations
- 2012-02-01: NurseCalc Infuus - Bash script and Online app for infusion and drip (speed) Calculations
- 2012-01-01: Some Bash and Arch Tweaks
- 2011-12-27: MagicProg: Magic the Gathering (RPG/TGC) Life Program
- 2011-09-01: Chrome Extensions for Privacy, Adblocking and anti-tracking
- 2011-06-23: Stopping fail2ban.server : ERROR Unexpected communication error and other errors in fail2ban on ubuntu 9.04
- 2011-06-15: Introduction to DokuWiki
- 2011-06-12: Introduction to Markdown
- 2011-02-08: Tether your Sonim XP3 phone with Linux
- 2010-05-15: What to do if you cannot execute CHMOD
- 2010-01-01: NoPriv.py - Easy IMAP email backup to HTML archive.
- 2010-01-01: Customize your Clonezilla Live CD
- 2010-01-01: Debian packages clean up commands
- 2009-12-23: EasyConverter
- 2009-10-26: SSHdialog
- 2009-05-18: Clonezilla Backup Script v0.2
- 2009-03-28: Postfix: log message from, to and subject
- 2008-09-14: Bash script for massive rename to numbers
- 2008-07-08: Javascript tricks
- 2008-06-15: Convert FLV's to MP3
- 2008-04-09: Setting up Motion with FTP and Email! support
- 2008-02-03: Bash ja/nee keuze
- 2007-11-29: Imagemagick thumbnailer
- 2007-01-01: Vim Cheatsheet
- 2006-01-02: RET Metro ATB
- 2006-01-02: RET Metro Type M MG/2
- 2006-01-02: RET Metro Type T SG/2
- 2006-01-02: RET Metro ZUB
- 2006-01-01: About
End of feed.