Ian Howson

Email: ian@ianhowson.com

Skype: ian.howson

Google+

LinkedIn

I’m available to help with your software development or machine learning problems. Hire me!

I’m a software engineer and data scientist residing in Sydney, Australia. I mostly work on embedded systems, Python, security and Linux.

Writing

Implementing XKCD-style passwords on a real website: lessons learned

The XKCD webcomic recommends using passwords made of a collection of random words. Here’s what I learned when I enforced this policy on a public website.

Do you really need ECC RAM with ZFS?

ZFS’ all-or-nothing attitude means that small bitflips can turn into big problems.

Attacks on Proximity Card Systems

Commonly deployed proximity cards are trivial to sniff and clone.

The OS X Whinge List

Bugs and misfeatures in OS X, and how to fix most of them.

A few notes on the Lenovo X220

I bought a Lenovo X220 to run Ubuntu. Here’s how I got it running nicely.

File synchronisation algorithms

While developing a file synchroniser (along the lines of Dropbox) I documented the details of file conflict resolution.

Migrating your data between todo list programs

There are lots of great options for todo list tracking. Unfortunately, most don’t make it easy to export or import your data.

Kinesis Advantage keyboard and learning Dvorak

My primary keyboard is a Kinesis Advantage. Here’s how I transition to it and (almost) switched to Dvorak at the same time.

A Cost/Performance Study of Modern FPGAs in Cryptanalysis

My undergraduate thesis, supervised by Matt Barrie. I use FPGAs to brute-force DES and RC5 and compare the cost to crack versus software and ASICs.

iPhone Apps

lectr Spoken Word Player

Listen to more words in less time. lectr speeds up and compresses your audiobooks, podcasts and lectures to help you listen faster without sacrificing comprehension.

GitHub Projects

Things to The Hit List

A Python script to migrate your Things database to The Hit List.

Teensy RawHID

A Python binding for the USB Raw HID interface on Teensy AVR boards.

Goto Documentation

Goto Documentation is a plugin for Sublime Text 2. My branch improves the Python documentation lookup.

Teensy Wiegand dumper

Dump Wiegand codes (such as those generated by HID card readers) to your PC over USB.