Floating Octothorpe


Building a NAS: part 4 - ZFS mirror
Building a NAS: part 3 - ZFS
Building a NAS: part 2 - OS encryption
Building a NAS: part 1
New year, new URL
Importing CA certificates on Firefox for Android
Markdown readme files in cgit
Automating VirtualBox screenshots with Python
Automating VirtualBox screenshots with the CLI
Detecting uptime from TCP timestamps
Bup repositories and Git
Getting started with Bup
Raspberry Pi playbooks
2018 Facebook Hacker Cup qualification
Using doctest instead of unittest in Python
Test driven development with Python
Test driven development
Additional SSH client security
Protecting SSH keys
DNS over HTTPS with cloudflared
DNS queries over TLS
CVE-2018-1111: DHCP command injection
Caching DNS queries with Unbound
Custom Linux login prompts
Reverse Polish notation
The C Programming Language: Chapter 3
Encrypting files with OpenSSL
Bitwise operators in C
The C Programming Language: Chapter 2
The C Programming Language: Chapter 1
The C Programming Language: Preface
Deploying Python 3 WSGI applications with mod_wsgi
Setting up a headless Raspberry Pi
Recovering deleted branches in Git
Bash config and where it lives
Customising systemd unit files
Linting JavaScript with ESLint
Incremental tar backups
Getting started with PixiJS
Writing snake in JavaScript
Working without Netcat
Cracking TrueCrypt volumes with John the Ripper
Using CSS custom properties
Linux teardown checklist
Writing custom Pelican themes
Working with Pelican
Getting started with Pelican
Setting up cgit on Debian
Managing OpenWrt remotely with cURL
Automating Debian installation using preseeding
Receiving files over HTTP with Python
Mix authentication with htpasswd and certs
Revoking client SSL certificates
Client SSL certificate authentication with Apache
Embedding Ace in Gitit
Running Gitit behind Apache
Setting up a wiki with Gitit
Using chntpw to reset Windows accounts
Decrypting Android backups with Python
Extracting backups with Android backup extractor
Android backups with adb
Working with GPG
JavaScript oddities
Intercepting HTTP traffic with Squid
WiFi security with hostapd
Raspberry Pi WiFi access point
Empty trees in Git
LaTex CV with CentOS
Dumping memory with GDB
Monitoring filesystems with inotify
HAProxy: TLS passthrough with HTTPS checks
Setting up Syncthing on Raspbian
Comparing remote files with Vim
Automatic Radicale backups with Git
Securing Radicale
Getting started with Radicale
Sudo security
Getting started with Websockets
Netcat tricks and tips
Decrypting HTTPS traffic without a key
Decrypting HTTPS traffic with Wireshark
Checking expired passwords with Serverspec
Sharing Serverspec examples
Getting started with Serverspec
Tracing processes
Remote logging with Rsyslog
Getting started with auditd
Grabbing certificates with OpenSSL
Leap seconds and Datefudge
Running Xfce on CentOS
Python, Venv and Cygwin
ATA security
Validating YAML with Ruby
Removing carriage returns
Face detection with OpenCV
Python3, CentOS and pip
Getting started with virtualenv
Multiplayer terminals with Screen
Cloudflare API: dynamic DNS
Cloudflare API: getting started
Running Python modules as scripts
Shannon entropy
Git statistics
Python for else?
Verifying RPM signatures
Linked clones
More Bash tips
Local CentOS mirror
Kickstarting a CentOS VM
Tips for print CSS
Makefiles for Java
Ansible playbooks
Getting started with Ansible
Git: Prevent pushing directly to master
TTY detection in bash
Java and TrustStores
Mapping IP addresses
Running knockd
SSH Multiplexing
dd progress
Bash tips
Old ssh known_hosts entries
Git tips
Hello world