Preventing VPN leaks on Linux

A Raspberry Pi running OpenVPN with a D-Link DUB-1312 Ethernet adapter
A Raspberry Pi model B running OpenVPN with a D-Link DUB-1312 Ethernet adapter

If you connect to the internet through a public WiFi hotspot, or at school or at work, the metadata and contents of your online communications can be intercepted and viewed (or altered) by the network operator or another malicious party on the network. One of the ways to protect your privacy is to send all of your internet traffic through a Virtual Private Network.

Unfortunately a lot of personal data can leak out when you join a new network but have not yet connected the VPN. This guide shows you how to configure the Linux iptables firewall to block all normal outgoing connections, and only allow connections to your VPN server.

Continue reading Preventing VPN leaks on Linux

Testing a Titan

We recently acquired a Nvidia GTX Titan graphical processing unit (GPU) for statistical computing at work, specifically double-precision floating point operations on the CUDA API. Before I lock it away in the server room I would like to see how it compares to my primary GPU at home – a Nvidia GTX 680, and my older GPUs – a pair of AMD Radeon HD 5770. This act of comparison is called benchmarking – running a number of standard tests and trials in order to assess the relative performance of a piece of hardware or software.

Continue reading Testing a Titan

The Australian Panopticon

The Panopticon is a theoretical prison designed by English philosopher and social theorist Jeremy Bentham in the late 18th century. The shape of the prison places every inmate within view of a watchtower. Although it is physically impossible for the watchman to observe all cells at the same time, the fact that the inmates cannot know when they are being watched means that all inmates must act as though they are watched, effectively changing their behaviour.

Continue reading The Australian Panopticon

R on Hadoop with Tessera RHipe

This tutorial will show you how to perform parallel computation on a Hadoop cluster in R using Rhipe, with CSV files as input and output.

The EVE Online computer game universe consists of 5201 solar systems for players to explore and conquer in virtual spaceships. Each solar system is connected to an average 2.6 other systems by jump gates which allow instantaneous travel between systems.

Continue reading R on Hadoop with Tessera RHipe

Converting HDF5 to CSV

Hierarchical Data Format 5 is a popular file format for storing and managing large amounts of data. It is the format used by NASA for their ACOS and OCO-2 data products, which both contain (among other things) column-averaged CO2 in units of dry-air mole fraction (Xco2). This tutorial demonstrates how to extract the average daily Xco2 value – and total reading count per day – from the HDF5 files into a CSV file for analysis in Excel or Gnumeric.

Continue reading Converting HDF5 to CSV