Recent updates


I'm an open-source software developer originally from the UK.

Contact me: Daniel Drake <>



  1. One Laptop per Child - 2008-present
    I've spent the last few years working on OLPC software releases, development and bug-fixing. This has lead to a lot of work on Linux, Fedora, and GNOME. I've also travelled and helped local teams deploy the end-result throughout the developing world.
  2. libusb: USB device access from userspace - 2007-2010
    My fprint efforts lead to me adopting the libusb project. I developed a new version of libusb, offering new features allowing for more powerful applications.
  3. zd1211rw Linux kernel USB wireless (802.11b/g) driver - 2006-2008
    Over 100 retailed USB-wireless adapters are based on the ZD1211 chipset. Ulrich Kunitz and I rewrote the vendor's driver. Our driver is called zd1211rw and is included in Linux 2.6.18 and newer.
  4. fprint: Fingerprinting on Linux - 2006-2008
    Some generous people donated various different fingerprint readers, which were previously unusable on Linux. I reverse engineered these devices and created an image processing and authentication solution: the fprint project.
  5. Gentoo Kernel Project - 2004-2009
    I led Gentoo's kernel project - packaging and patching the Linux kernel, and fixing bugs reported by the users.
  6. straightSSL - July 2007
    A Python project I was working on required secure access to remote servers. Existing Python bindings for OpenSSL did not preserve the semantics and behaviour of Python's socket and urllib modules, a requirement for this project. I created these OpenSSL bindings to solve the problem.
  7. Beagle - 2005-2006
    Beagle is an exciting desktop search tool primarily developed by the Novell Linux Desktop group. I performed various bug fixes, optimizations, and added/improved a few features.
  8. Touchcal - November 2006
    As I couldn't find any reliable way to calibrate EloGraphics touchscreens, I adopted the touchcal project, moved it to SourceForge, and fixed it up to work with my hardware.
  9. Gentoo UK 2006 Conference - July 2006
    I did most of the planning and organisation of the Gentoo UK 2006 annual conference. It took place in London and was a big success.
  10. Alauda driver - September 2005
    I obtained a SmartMedia/XD card reader which uses a proprietary protocol (not USB mass storage compliant), originally unsupported by Linux. I reverse-engineered the device and wrote a Linux driver. The driver is included in the mainline kernel from Linux 2.6.16 onwards.
  11. Extended Attribute bindings for Mono - June 2005
    I created bindings for Linux's Extended Attributes API, in the Mono.Unix.Syscall class. I then extended these to support FreeBSD's slightly different EA implementation, under the same Mono API, providing some portability for the use of Extended Attributes. Patch here.
  12. Planet Gentoo - March 2005
    I proposed the creation of Planet Gentoo in GLEP 30. Once approved, I set it up on the Gentoo infrastructure and administrated it until things settled down.
  13. USBAT02 driver for Linux - January 2005
    USBAT02 is a USB-ATAPI converter developed by SCM Micro/Shuttle. This converter is used in various USB card readers. There was a device driver available, but only for old kernels. I adopted their project in order to get the code modernised. The driver is included in the kernel from 2.6.12 onwards.
  14. GTK2 port for EasyTAG - Dec 2003 to May 2004
    EasyTAG is a handy software package for managing identification tags of common music file formats (MP3, OggVorbis, ...)
    The visual interface used to be based on GTK+ 1.2, but I fully ported it to GTK+ 2.4. The author accepted my work, and all recent EasyTAG releases are now based on GTK+ 2.x. Original patches: