I just committed the unified 'gutenprint+usb' CUPS backend into the upstream gutenprint tree. It ends a two-week-long flurry of slicing and dicing the old standalone backends into a cohesive whole, including fixing the inevitable pile of regressions.
There were also a small pile of (non-regression) bugfixes that made it in, plus the ability to deal with printers that report no serial number (I'm looking at you, Shinko S2145)
Additionally, support for the Kodak 6800 was beefed up, and full support for the Kodak 6850 was added.
This commit pretty much wraps up my task list relating to printers, barring bug reports and/or another printer showing up on my doorstep.
Meanwhile. My next meaty software project is likely to be microcontroller-oriented (ARM Cortex-M series). It's still in the planning stages (a glorified science project) but coming out of it will be skeleton project that others can re-use.
My motivation for this is that if you're entering into the microcontroller world after being used to a typical F/OSS workflow (ie gcc+make+gdb) it's a bit of a shock to discover that IDEs and proprietary tools/libraries are usually crammed down your throat, and there's a dearth of information out there on how to set up a modern hello world project that is written in pure C, is well-documented, and doesn't rely on proprietary bits or third-party "magic handwaving happens here" binaries.
It'll include a modern GCC C/C++ toolchain (via crosstool-ng), debugging support (via OpenOCD and GDB), and a basic FreeRTOS example/port. All of this will be supplied in source code form, even the toolchain.
I haven't decided on how to license this framework, but it'll probably be something ultra-permissive (eg MIT/X) rather than the copyleft (GPLv3) I normally use for software I write.