Jan 12, 2016

Bring IPv6 Tunnel Up On Network Connection

This post is aimed at setting up a Hurricane Electric IPv6 tunnel on Ubuntu, but it should be adaptable to other Linux distributions as long as they’re using Network Manager.

Firstly, you need to install the necessary packages: curl and optionally wireless-tools. The latter provides the iwgetid utility, but I’ll mention an alternative in the scripts below.

Assuming you’ve already set up a tunnel on tunnelbroker.net, you should get some details from the ‘Tunnel Details’ page:

  • ENDPOINT is listed as ‘Server IPv4 Address’.
  • ADDRESS is the ‘Client IPv6 Address’
  • GATEWAY is the ‘Server IPv6 Address’
  • TUNNELID ...
read more
Dec 18, 2015

Encrypt your UDF-formatted drive using LUKS

This article walks you through encrypting a USB flash drive using LUKS and then installing UDF on it. If you only want to use UDF without encryption, read my article on that: Using UDF on Your USB Flash Drive


  • you don’t want a partition table on your drive; you want the entire thing to be just the filesystem
  • your drive is /dev/sdb
  • you use Ubuntu (I ran this on 14.04, but it should be fine on later versions, too)


  1. Firstly, take all your data off your drive since encrypting it will wipe it.

  2. (Optional) Wipe ...

read more
Sep 06, 2015

A tiny service for checking if your app is online

Sometimes your app needs to check if it has access to the wider internet, as opposed to some WiFi network that’s redirecting all requests to a sign-in page. There are a few ways of doing this, but this article isn’t about that. This article is about a new tiny service I just launched called “Am I Online?”.

I never really needed this feature myself, but I wanted to try out Heroku and decided this is a perfect way of doing it. The entire application is 9 lines of Python code (using Flask), and about 30 lines of HTML ...

read more
Apr 27, 2015

A minimal Pomodoro-style timer

Yesterday I decided to make a very minimal Pomodoro-style timer to keep me on track. It doesn’t offer too many features; it just gives you options for the lengths of time, and 3 buttons to control the timer. If you want to reset the timer, just refresh the page.

It’s available here: https://timer.80x24.ca


When I said this was very minimal, I didn’t mean just the interface; the code is very minimal too. There are no dependencies; all necessary code is within the one timer.html file. Just put it on a flash drive and ...

read more
Apr 11, 2015

NGINX Reverse Proxy for ZNC

If you want to have the ZNC web interface behind NGINX (maybe you want to specify a different server name), this is how to do it.

Firstly, you want to create a NGINX config file. I’ve got ZNC running on the same server, so I use the following config file:

server {
    listen 443;
    server_name irc.example.com;

    location / {
        proxy_set_header    Host              $host;
        proxy_set_header    X-Real-IP         $remote_addr;
        proxy_set_header    X-Forwarded-For   $proxy_add_x_forwarded_for;

If you only do this, however, ZNC will complain about the X-* headers. You can remove those headers, but then it’ll think you’re ...

read more
Page 1 of 9