=== Project Administrator ===
I've started and/or maintained the following OpenSource projects:
* [[http://www.develer.com/oss/DevLib/ | Devlib]] - A library of reusable and
portable components for embedded and C++ applications
* [[http://www.sourceforge.net/projects/bdm/ | BDM]] -
An umbrella project grouping all existing drivers and utilities
for the Background Debug Module interface of the ColdFire and
CPU32 processors. After some initial activity, the project has
stagnated due to lack of time and motivation: I don't use the
ColdFire processor for development any more.
* [[http://www.sourceforge.net/projects/dlab | D-Lab]] -
This is one of the two C++ games developed collectively
by students of the D-Lab multimedia course during my
InstructorRole.
* [[http://www.sourceforge.net/projects/gfactory | GameFactory]] -
This is the second C++ game developed by students of the
GameFactory course during my InstructorRole.
=== Official developer ===
I'm affiliated with the following projects:
* [[http://wiki.laptop.org/ | One Laptop Per Child]] - I've been a volunteer OLPC
developer full time for roughly 9 months as of this writing. I've been doing platform
related work, including X maintenance, localization, input devices, kernel work,
software packaging.and application porting.
* [[http://gcc.gnu.org/ | GCC]] - I've been a GCC maintainer for three years, but lately
I've not contributed much. My earlier work is mostly
concentrated in the ##m68k## backend to improve ColdFire
and add uC-Linux support. I've also done some bug fixing and
minor cleanups all over the tree.
* [[http://www.uclinux.org/ | uClinux]] - I contributed mostly
kernel patches that GregUngerer promptly forwarded upstream.
The most interesting thing was a VM rework to optimize away
multiple copies of executable images in RAM when XIP wasn't
possible (i.e.: with JFFS2). That work turned out being too
invasive to go in the official tree, but we used it effectively
in our custom application.
I also contributed a bunch of userland ports and improvements
for things such as sh, tftp, cron, inetd, etc.
* [[http://www.x.org/ | Xorg ]] - The X Windowing system. I've been maintaining
the X server for the OLPC, including the migration to X 1.4, including input
autoconfiguration, EXA improvements and graphics driver bugfixes. I've been
doing in depth profiling of the OLPC rendering stack as a preparation for later
optimization work.
* [[http://www.fedoraproject.org | Fedora]] - As part of my OLPC work, I've become
a Fedora developer to maintain the X packages and a dozen of other core distribution
RPM packages. I've been using and deploying RedHat systems for a very long time.
* [[http://www.linux.org/ | Linux kernel]] - There's no such
thing as an official Linux kernel developer, but I dispatched
misc patches that went into Linus tree more or less directly.
My areas of interest was reducing bloat for embedded systems
and fixing bugs in things such as JFFS2 and MTD.
* [[http://www.aros.org | AROS]] - Just bug fixes and small improvements,
but I really learned a lot from the other developers and especially the
project leader AaronDigulla.
* [[http://www.netbsd.org/ | NetBSD]] - That's really a lot of time ago.
I contributed mostly driver work for NetBSD/m68k: a driver for the IOBlix
multiserial card and 14bit sound support for the Paula Amiga
Audio driver (aucc). I also did some ##sysinst## (installer)
work to get it to work on the m68k.