Feeding the Cloud
- Posts
- 265 from 19 Mar 2008 to 3 Jan 2026
- Posting
- now and then (4 in the last year)
- Kind
- personal blog
- Feed
- https://feeding.cloud.geek.nz/index.atom
2026 1
2025 5
2024 3
2023 8
- Filtering your own spam using SpamAssassin
- Automatically rebooting for kernel updates
- Upgrading from Debian 11 bullseye to 12 bookworm
- Monitoring browser network traffic on Android using mitmproxy
- Enabling AppArmor on a Linode VPS in enforcement mode
- Things I do after uploading a new package to Debian
- Using iptables with systemd-networkd
- Upgrading from Ubuntu 20.04 focal to 22.04 jammy
2022 12
- Name resolution errors in Ubuntu repositories while building a docker container
- Making the mounting of an encrypted /home optional on a home server
- Upgrading from chan_sip to res_pjsip in Asterisk 18
- Using a Streamzap remote control with VLC on a Raspberry Pi
- Remote logging of Turris Omnia log messages using syslog-ng and rsyslog
- Using Gandi DNS for Let's Encrypt certbot verification
- Crashplan 10 won't start on Ubuntu derivatives
- Upgrading the Wi-Fi cards in a Turris Omnia 2020
- Using a Streamzap remote control with MythTV on Debian Bullseye
- Ways to refer to locahost in Chromium
- Error loading emacs' python-mode in Ubuntu 20.04 (focal)
- Removing an alias/domain from a Let's Encrypt certificate managed by certbot
2021 12
- Formatting an SD card for a Garmin device on Linux
- Setting up a JMP SIP account on Asterisk
- Using implicit TLS in Postfix
- Time-stretch in Kodi
- Zoom WebRTC links
- Removing unsafe-inline from Ikiwiki's style-src directive
- Self-hosting an Ikiwiki blog
- Upgrading an ext4 filesystem for the year 2038
- Deleting non-decryptable restic snapshots
- Using a Streamzap remote control with Kodi
- Creating a Kodi media PC using a Raspberry Pi 4
- Programming a DMR radio with its CPS
2020 26
- List of Planet Linux Australia blogs
- Opting your domain out of programmatic advertising
- Removing a corrupted data pack in a Restic backup
- Recovering from a corrupt MariaDB index page
- Copying a GnuBee's root partition onto a new drive
- Using a Let's Encrypt TLS certificate with Asterisk 16.2
- Making an Apache website available as a Tor Onion Service
- Upgrading from Ubuntu 18.04 bionic to 20.04 focal
- Repairing a corrupt ext4 root partition
- Setting up and testing an NPR modem on Linux
- Setting the default web browser on Debian and Ubuntu
- Extending GPG key expiry
- Automated MythTV-related maintenance tasks
- Fixing locale problem in MythTV 30
- Printing hard-to-print PDFs on Linux
- Displaying client IP address using Apache Server-Side Includes
- Backing up to a GnuBee PC 2
- Disabling mail sending from your domain
- Using Gogo WiFi on Linux
- How to get a direct WebRTC connections between two computers
- Fixing MariaDB InnoDB errors after upgrading to MythTV 30
- Making SIP calls to VoIP.ms subscribers without using the PSTN
- Upgrading a DMR hotspot to Pi-Star 4.1 RC-7
- Fedora 31 LXC setup on Ubuntu Bionic 18.04
- Sharing your WiFi connection with a NetworkManager hotspot
- Receiving slow-scan television images from the International Space Station
2019 16
- Encoding your WiFi access point password into a QR code
- Backing up to S3 with Duplicity
- Fixing Turris Omnia WiFi Quality
- Restricting third-party iframe widgets using the sandbox attribute, referrer policy and feature policy
- Passwordless restricted guest account on Ubuntu
- Installing Debian buster on a GnuBee PC 2
- SIP Encryption on VoIP.ms
- OpenSUSE 15 LXC setup on Ubuntu Bionic 18.04
- Installing Ubuntu 18.04 using both full-disk encryption and RAID1
- Programming an AnyTone AT-D878UV on Linux using Windows 10 and VirtualBox
- Secure ssh-agent usage
- Seeding sccache for Faster Brave Browser Builds
- Connecting a VoIP phone directly to an Asterisk server
- Encrypted connection between SIP phones using Asterisk
- Fedora 29 LXC setup on Ubuntu Bionic 18.04
- Erasing Persistent Storage Securely on Linux
2018 12
- Restricting outgoing HTTP traffic in a web application using a squid proxy
- Lean data in practice
- Installing Vidyo on Ubuntu 18.04
- Mercurial commit series in Phabricator using Arcanist
- Recovering from a botched hg histedit on a mercurial bookmark
- Mysterious 'everybody is busy/congested at this time' error in Asterisk
- Running mythtv-setup over ssh
- Using a Kenwood TH-D72A with Pat on Linux and ax25
- Looking back on starting Libravatar
- Dynamic DNS on your own domain
- Redirecting an entire site except for the certbot webroot
- LXC setup on Debian stretch
2017 14
- Using all of the 5 GHz WiFi frequencies in a Gargoyle Router
- Proxy ACME challenges to a single machine
- Test mail server on Ubuntu and Debian
- Checking Your Passwords Against the Have I Been Pwned List
- TLS Authentication on Freenode and OFTC
- pristine-tar and git-buildpackage Work-arounds
- Time Synchronization with NTP and systemd
- Toggling Between Pulseaudio Outputs when Docking a Laptop
- Mysterious 400 Bad Request in Django debug mode
- Recovering from an unbootable Ubuntu encrypted LVM root partition
- Automatically renewing Let's Encrypt TLS certificates on Debian using Certbot
- Manually expanding a RAID1 array on Ubuntu
- IPv6 and OpenVPN on Linode Debian/Ubuntu VPS
- Creating a home music server using mpd
2016 12
- Using iptables with NetworkManager
- Persona Guiding Principles
- Tweaking Referrers For Privacy in Firefox
- Debugging gnome-session problems on Ubuntu 14.04
- Replacing a failed RAID drive
- Cleaning up obsolete config files on Debian and Ubuntu
- Simple remote mail queue monitoring
- Using OpenVPN on iOS and OSX
- Using DNSSEC and DNSCrypt in Debian
- How Safe Browsing works in Firefox
- Extracting Album Covers from the iTunes Store
- Streamzap remotes and evdev in MythTV
2015 15
- Linux kernel module options on Debian
- Tweaking Cookies For Privacy in Firefox
- How Tracking Protection works in Firefox
- Introducing reboot-notifier for jessie and stretch
- Hooking into docking and undocking events to run scripts
- Setting up a network scanner using SANE
- Letting someone ssh into your laptop using Pagekite
- Watching (some) Bluray movies on Ubuntu 14.04 using VLC
- Setting the wifi regulatory domain on Linux and OpenWRT
- Usual Debian Server Setup
- Using OpenVPN on Android Lollipop
- Keeping up with noisy blog aggregators using PlanetFilter
- Error while running "git gc"
- Upgrading Lenovo ThinkPad BIOS under Linux
- Using unattended-upgrades on Rackspace's Debian and Ubuntu servers
2014 13
- Making Firefox Hello work with NoScript and RequestPolicy
- Mercurial and Bitbucket workflow for Gecko development
- Hiding network disconnections using an IRC bouncer
- LXC setup on Debian jessie
- Encrypted mailing list on Debian and Ubuntu
- Outsourcing your webapp maintenance to Debian
- Creating a modern tiling desktop environment using i3
- CrashPlan and non-executable /tmp directories
- What's in a debian/ directory?
- Settings v. Prefs in Gaia Development
- Using vnc to do remote tech support over high-latency networks
- Hardening ssh Servers
- Running your own XMPP server on Debian or Ubuntu
2013 14
- Creating a Linode-based VPN setup using OpenVPN on Debian or Ubuntu
- Things that work well with Tor
- The Perils of RAID and Full Disk Encryption on Ubuntu 12.04
- Presenting from a separate user account
- How many Australasian banks use HSTS?
- Server Migration Plan
- Debugging Gearman configuration
- FISL for foreigners HOWTO
- IndieAuth as a Persona Identity Provider
- Three wrappers to run commands without impacting the rest of the system
- Work-around for Torchlight crashing with an Ogre exception on Linux
- Poor man's RAID1 between an SSD and a hard drive
- Doing a fresh Debian/Ubuntu install without having to reconfigure everything
- Moving from Blogger to Ikiwiki and Branchable
2012 15
- Keeping GMail in a separate browser profile
- Prefetching resources to prime the browser cache for the next page
- 2008
- Blocked (queued) connections, keep-alive and content-length
- Advice to newcomers and veterans of the Free and Open Source software communities
- Migrating Libravatar to the Persona Observer API
- How to get Android OTA updates from Google on a Galaxy Nexus
- Dumping the contents of localstorage in HTML5 webapps
- Attaching files to GitHub issues
- Browsing privacy and ad blocking on Android
- Proper indentation of Javascript files using js2-mode in emacs
- Creating a FreeDOS bootable USB stick to upgrade BIOS
- Watching Gerrit merges on IRC using cia.vc
- Putting a limit on Apache and PHP memory usage
- Debugging OpenWRT routers by shipping logs to a remote syslog server
2011 19
- Installing Etherpad on Debian/Ubuntu
- Optimising PNG files
- Ideal OpenSSL configuration for Apache and nginx
- Using BrowserID and Content Security Policy together
- Reducing the size of Apache 301 and 302 responses
- Three Firefox extensions to enhance SSL security
- Adding X-Content-Security-Policy headers in a Django application
- RequestTracker workflow with only one person using the web UI to allocate tickets to external people
- Translating Django applications using Launchpad
- Reducing the number of HTTP connections used by a webapp
- Integrating Launchpad and Gerrit Code Review
- Code reviews with Gerrit and Gitorious
- Using plupload inside a Django application
- Encrypted system backup to DVD
- Installing Fallout 3 on Ubuntu Lucid
- Setting up RAID on an existing Debian/Ubuntu installation
- Keeping a log of branch updates on a git server
- Serving pre-compressed files using Apache
- Sample Python application using Libgearman
2010 19
- Peer-to-peer video-conferencing using free software
- RAID1 alternative for SSD drives
- Manipulating debconf settings on the command line
- Taking the max/min of two columns in PostgreSQL
- Freedom in the Cloud Miniconf at linux.conf.au 2011
- Setting up your own DNSSEC-aware resolver using Unbound
- Combining multiple commits into one using git rebase
- Cherry-picking a range of git commits
- Improving the performance of Request Tracker by reducing latency
- Querying deleted content in git
- Handling email-based events safely
- Restoring a single table from a Postgres database or backup
- List of Open Source Conference Management Systems
- Privoxy rules to unblock TVNZ on-demand videos
- Preventing man-in-the-middle attacks on fetchmail and postfix
- Monitoring a Belkin 600VA UPS with NUT on Debian/Ubuntu
- "Abusing" git storage
- Excluding files from git archive exports using gitattributes
- Restoring lost RT tickets
2009 18
- Ignoring files in git repositories
- Debugging logcheck rule files
- Reducing website bandwidth usage
- Keeping track of what others are saying about your project
- OpenStreetMap/OpenLayers and Privoxy
- Twitter tracking clicks to external sites
- grub on a bootable USB rescue stick
- Migrating Sahana from cvs to git
- 3 ways to improve your source control history
- Writing the perfect patch
- Stopping long-running Postgres queries
- Reinstalling grub on an unbootable Debian system
- Troubleshooting Postgres Performance Problems
- Safer synergy setup for laptop-desktop keyboard sharing
- Handling security bugs in your Free Software project
- Finding the size of a Postgres database on disk
- Getting involved in an Open Source project
- Using Wikia Search in Firefox and vimperator
2008 31
- Recovering lost git commits
- Setting up a centralized git repository
- Setting the default git branch in a bare repository
- Converting any video to a podcast
- Privoxy rules to unblock TV3 on-demand videos
- mutt's OpenPGP support and FireGPG
- Contributing code to Moodle
- Starting a Free Software project
- Getting your project included into Free Software distributions
- Growing the community around your new Free Software Project
- Promoting your Free Software Project
- Privoxy rules to enable Têtes à claques videos
- Logging kernel messages over the network using netconsole
- Preventing accidental deletion of important files using safe-rm
- Watch all of your logs using monkeytail
- Upgrading extensions (like Remove It Permanently) for Firefox 3
- Choosing the right license for your new Free Software/Open Source project
- Encrypting your home directory using LUKS on Debian/Ubuntu
- Logstalgia (aka ApachePong) now in Debian
- Disabling the GMail spam filter and handling it yourself using SpamAssassin
- News feeds (RSS/Atom) for MythTV.org and SchedulesDirect.org
- Two-tier encryption strategy: Archiving your files inside an encrypted loopback partition
- Increase the security of your Linux kernel with the grsecurity patch
- Saving a Windows Media Player stream using mplayer
- Searching through the contents of emails in mutt
- Handling multiple identities/accounts in mutt
- Encrypted swap partition on Debian/Ubuntu
- Command history in Oracle sqlplus: adding readline support at runtime
- Debugging concurrency problems: Forcing a process to run on a single CPU
- Background compilation using ionice as a normal user
- Introduction