Projects


The following is a fairly comprehensive list of all my projects, that may be of some intrest to some subset of the public. Many entries are nothing more than ideas I would like to explore if I had infinite free time. For the latest news on my open source development fronts, check out my FilteredProjects Blog or the main DMC news blog.

Software

ZyX Rebootless LiveOS Installer

The ZyX Rebootless LiveOS Installer is currently available for download as part of the alpha release of the Guitar-ZyX LiveDVD/USB. Unlike traditional LiveCD installers such as those from Ubuntu and Fedora, which require you to reboot after installation, the ZyX Rebootless LiveOS Installer performs a way-cool devicemapper shell game to 'live migrate' the LiveCD filesystem to harddisk, without requiring the user to reboot as part of the installation process.

Guitar-ZyX Master Control Program

The Guitar-ZyX Master Control Program is a Nintendo-DS(tm) based realtime user interface for the excellent rakarrack open source electric guitar effects simulator.

Guitar-ZyX LiveOS

The Guitar-ZyX LiveOS is a distribution of free and open source software (GPL specifically) derived from Fedora(tm)-11. It makes turning an old unused PC or laptop into a dedicated electric guitar effects processing box very easy. Drop in the LiveDVD version or better yet, a LiveUSB version, and turn the power on, plug your axe into the mic-in, and you are good to go. From there, you can use another copy of the LiveUSB to boot a Nintendo(tm)-DS into a dedicated wireless control interface for the FX processor (Rakarrack). Because the NDS has two screens, a touchpad on the lower one, and an upper one at an angle, it is truly perfect to velcro on to your guitar. Thus giving you a TouchScreenWhammyPad to scratch, stroke, or tap with your pick or fingernail, and at the same time letting you watch settings, or in the future tablature on the top screen.

VirOS

VirOS is a system imaging toolset, with a primary focus on the generation of customized Linux(tm)-based LiveCDs.

LiveOS/USB Persistence for Fedora

'LiveOS Persistence' means the ability to utilize a LiveCD or LiveUSB, together with a read-write file on a normal usbstick. The result is like having your own workstation in your pocket on your usbstick, ready to be accessed via any computer which will allow you to boot from usb or cd/dvd. I wrote the LiveOS/USB Persistence implementation found in Fedora-9 through the current Fedora-12. This is also used by the SugarOnAStick and other Fedora derived projects.

Snake3D

Snake3D is the first 3D(OpenGL) video game that I wrote between jobs in 2000.

ZyX-Live-OS

I am currently working on several niche LiveOS projects built with the VirOS toolset. From Guitar-ZyX for serious open source live six string jamming, to Fork-ZyX which demonstrates simple retheming and repreferencing of the ancestor desktop LiveCD. The artwork in question being the forking art of my friend Josie. Finally, later this year when CentOS-6 lands, E-ZyX will be an enterprise-class LiveOS. Maybe someday U-ZyX will even demonstrat VirOS compatability with Ubuntu(tm).

Smirf Gen

SmirfGen stands for Small Multi-purpose Initial Ram Filesystem Generator. This tool is both an integral part of the VirOS LiveCD generator, and the qfakeroot program. It can also be used to easily generate arbitrary complete linux systems that run entirely from initrd. This could be used for instance, to easily create operating systems for small memory appliances and embedded systems. Note that smirfgen predates the similarly purposed dracut project. Currently (at least without massive configuration), dracut seems to produce an initramfs about 4x the size of what viros uses to boot the iso, so smirfgen is not yet obsolete for that task.

Q-FakeRoot

Q-FakeRoot is a cool application of SmirfGen and also plays an integral role in VirOS. The name is an extension of the fakeroot tool from debian, which allows unpriveledged users to perform some actions that are normally only possible as root. E.g. creating cpio archives with device nodes. Q-FakeRoot extends this functionality vastly, by utilizing a smirfgen created virtual (qemu) appliance to safely perform actions as the root user. Eventually I hope to integrate qfakeroot into the build process for the anaconda source rpms in the fedora and redhat distributions, so that the entire distribution can be recompiled without requiring root privileges.

lixmog

'lixmog' is a 'LiveIso Transmogrifier'. A tool which takes advantage of qfakeroot, to allow unpriviledged users to slice, dice, and put back together a LiveCD ISO image such as the Fedora-8-i686-Live.iso. Arbitrary files such as music collections or yum repository configurations, can be added to the iso9660 filesystem, or the embedded squash, initramfs, and ext3-root filesystems.

K.A.B.L.U.I.

Kablui stands for Kick-Ass-Best-LiveOS-User-Interface, and is just a marketing acronym I thought up, and using to name the scripts that I've developed to initialize my workstation desktop preferences and applications. These scripts suit my needs currently, and I hope to extend them and make the useful for a wider audience in the future.

Smiley WebSite Tools

I've put quite a bit of work into the tools that generate Dawg's Metaverse from the source content. Basically I started out just doing 'view source' and wgets on Spock's Devsite. But from there I've created one big spaghetti mess of x(ht)ml, css, bash, perl, igal, webcpp, and more. It certainly would take the better part of year to make it into a nice package that others could easily use, and certainly there is no shortage of complex unwieldly content management systems out there, but... maybe a retirement project when my bones are too creaky to play disc golf...

Hardware

dmc-pp-adc

I had a lot of fun with the individual project from the first semester of my computer engineering senior design lab. Admittedly, a simple analog-to-digital converter IC interfacing with the old-school PC parallel port is about as simple as it gets. But it was really cool to do something from the ground up, using the Cadence toolset, which I know from my GigaPixel days, is the same software that is used to design massive GPUs and 3D graphics boards. Pictures of my tight little PCB layout design are here.