HSTS with nginx and Varnish

SSL is good. It’s not perfect, but it makes life harder for mass surveillance and all websites should be using it. Yes, I know this blog doesn’t – I’ll get around to it.

I upgraded one of my sites to use HSTS, which is an extension to enforce usage of SSL where it’s available. This effectively means that after the first request via HTTPS, the browser should remember that domain uses SSL and should make sure any subsequent requests are HTTPS. HTTP requests get redirected to HTTPS immediately. This is great – not only does it mean that you’re less likely to have clients making requests in the clear when they should be using SSL, but it means that SSL stripping attacks will be foiled. Continue reading HSTS with nginx and Varnish

Tinkering with the RFµ-328

The RFµ (or RFu, for the purposes of people being able to Google this without trying to type µ) 328 is a really neat little board from wireless vendor Ciseco. I picked one up for a project I’m doing where I need a low power microcontroller and some way to talk to a base station with power. This is basically what this board is – an integrated ~896MHz radio module and microcontroller. The radio module works as a serial link so it’s really easy to work with, and the microcontroller is the Arduino compatible ATmega 328 chip, complete with the Arduino Uno bootloader.

There were some stumbling blocks I figured I’d document here, though, to get to the point where you can throw code at this thing and have it work, entirely over the air. Continue reading Tinkering with the RFµ-328

QGroundControl 2 on Arch

For about 5-6 months I’ve been tinkering with a couple of UAV platforms – my UAir R10 quadcopter (which, thanks to UAir being nothing but a couple of scamming students with little actual clue about making quadcopters, has been almost entirely replaced after one crash) and a Hobbyking Bixler fixed-wing aircraft I’ve stuffed full of electronics.

I’m now finally at the point where I can start strapping proper autopilots to these, but to do that I need a ground station with some software to control the autopilot.

In general, the autopilots out there make use of a protocol called MAVLink to talk to a base station via a telemetry link (usually 433MHz). This is great, because it’s a consistent open protocol that means most UAVs can make use of common basestation software.

The most popular of these is the QGroundControl project. This is a great bit of cross-platform software, but took a bit of fiddling to install on Arch Linux, which I’ll detail here. Continue reading QGroundControl 2 on Arch