Recent updates

About

I spend some of my spare time working on Linux and other open source software, which is what this site is about. My home town is Letchworth, Hertfordshire.

Contact me: Daniel Drake <dan@reactivated.net>

Links

Current Projects

  1. fprint: Fingerprinting on Linux
    After some previous experience with fingerprinting devices, I decided to take on a broader challenge: to get all fingerprint readers (that I can get my hands on) working and useful on Linux. It's also my 3rd year university project, and it's open source! See the homepage for more info.
  2. libusb: USB device access from userspace
    My fprint efforts lead to me adopting the libusb project. I am working on libusb-1.0 which will offer new features allowing for more powerful applications.
  3. Gentoo Kernel Project
    I lead Gentoo's kernel project. Myself and a few others package up the Linux kernel plus our own patchset, and attack bugs reported by our users.

Latest open-source software patches

Date Patch
17 Jan 2009linux-kernel/2.6.28/unusual-devs-pentax-k10d.patch
17 Jan 2009xf86-video-openchrome/0.2.903/xvmc-allocation-fixes.patch
21 Nov 2008libgphoto2/2.4.3/usb-open-check.patch
06 Nov 2008linux-kernel/2.6.26/zd1211rw-beacon-cfg-error-checking.patch
06 Nov 2008linux-kernel/2.6.26/mac80211-auto-ibss-channel.patch
31 Oct 2008gst-plugins-base/0.10.21/gstoggmux-unref-buffers.patch
31 Oct 2008sugar/0.82.0/avoid-network-appeared-race.patch
31 Oct 2008sguar/0.82.0/copyright-licensing-in-about-dialog.patch
31 Oct 2008sugar/0.82.0/sucrose-version-number.patch
31 Oct 2008sugar-toolkit/0.81.6/open-content-bundles-through-journal.patch
31 Oct 2008sugar-toolkit/0.81.6/library-regen-failure.patch
31 Oct 2008sugar-toolkit/0.81.6/fix-content-bundle-installation.patch
03 Sep 2008xserver/1.4.99.906/dix-null-pixmap.patch
25 Jul 2008xserver/1.4.99.906/no-swrast-no-abort.patch
20 Jul 2008gst-plugins-good/0.10.8/v4l2src-progressive-video.patch
04 Jul 2008linux-kernel/2.6.25/forcedeth-round-jiffies.patch
05 Jun 2008usbutils/0.73/lsusb-always-dump-descriptors.patch
15 Apr 2008linux-kernel/2.6.24/ipw2200-radiotap-mac-addr.patch
18 Mar 2008linux-kernel/2.6.24/arcmsr-message-allocation.patch
18 Mar 2008linux-kernel/2.6.24/unaligned-access-doc.patch

All 497 patches can be browsed here. These don't include contributions I make to my own software.

Past Projects

  1. 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: http://www.reactivated.net/patches/easytag/
  2. 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.
  3. New defaults for Gentoo 2005.0 - January/February 2005
    With lots of help from others, we've managed to get the x86 architecture moved over to Linux 2.6 as the default for our 2005.0 release. We also consolidated some kernel packages in the Portage tree.
  4. 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.
  5. 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.
  6. 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.
  7. viaideinfo - October 2005
    I removed some user-accessible statistics from the Linux via82cxx IDE driver for the purpose of driver simplification. As some users found these statistics useful, I wrote a userspace program to display them in the same form with no dependence on the kernel driver.
  8. 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.
  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. 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.
  11. Digital Persona Fingerprint Reader driver - 2006-2007
    Some generous people donated me various different Microsoft/DigitalPersona fingerprint readers, which were previously unusable on Linux. I reverse engineered these devices to the point where you could retrieve images from these scanners. The project was later absorbed into the fprint project.
  12. 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.
  13. 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.
  14. One Laptop per Child OS Release 8.2.0 - Summer 2008
    I spent the summer as an intern at OLPC in Cambridge, MA, USA. My main task was fixing bugs that were holding back the 8.2 release of the operating system for the XO laptop. I was lucky enough to work all over the stack (firmware, kernel drivers, display server, networking, Sugar UI, activities, etc). I was lucky enough to end the internship with a visit to Ethiopia where I saw the laptop project being implemented.