This section is a dumping ground for some of my software libraries and projects. I also have done some additional contributions here. Please feel free to send me comments, report bugs or ask questions using the email address from this page.

Web Development Libraries

Library Date (Latest Version) Notes
Draggable SVG 2006-01-25 A JavaScript file that will allow SVG entities to be draggable via the mouse
SvgSnow 2006-12-07 A JavaScript file that will cause snow to fall in your SVG images
InlaySVG 2006-01-13 A cross-browser PHP library that allows you to inlay an SVG document into HTML.

Firefox Extensions

Extension Date (Latest Version) Notes
FXPointer 0.1 - 2007-10-24 This extension gives Firefox the ability to use XPointer in its URLs like this link.

C++ Libraries

Library Date (Latest Version) Notes
Binary Tree 2004-06-03 A templated binary tree container for use in C++ projects
BOSS 2007-04-01 (0.45) A library that implements part of Borland's BGI Library and old libraries like conio.h using SDL
ConfigParser 2004-04-26 (0.42) A parser library for my home-brew configuration file format before I became an XML fan
LoggingControl 2004-04-19 (0.4) A library for including logging in your C++ projects
Memory 2004-04-19 (0.1) A simple C++ header file for private heaps
Multithreading 2004-02-18 (0.6) C++ header file for mutex, and threads for Win32 and Posix

Desktop Applications

Application Date (Latest Version) Notes
Carve SVG Editor 2009-01-03 (0.02, Helium) An open-source desktop editor for SVG built on Qt 4.5. Self-contained downloads available for Mac and Windows. Source available for Linux distributions (Qt 4.5 Beta 1 or higher required).
Ion Feed Reader (vaporware) Desktop feed reader based on Qt. For the moment, I've decided that web feed subscribing and reading are best dealt with in the context of a full web browser and not a standalone application. If I ever feel otherwise, I may actively start working again on this project.

Draggable SVG (Web)

This JavaScript file allows you to enable SVG entities to be draggable via the mouse. Instructions are included in the top of the library file.

  • dragsvg.js Version 1.2 (2006-01-25)
  • DEMO (works in IE+ASV, Firefox 1.5+, Opera 9+, Safari 3+ and Chrome 0.2+)

SvgSnow (Web)

This JavaScript file gives the effect of snow falling (and accumulating) in your SVG images. Instructions for use are included in the file.

  • svgsnow.js Version 1.02 (2006-12-07)
  • DEMO (works in IE+ASV, Firefox 1.5+, Opera 9+, Safari 3+ and Chrome 0.2+)

InlaySVG (Web)

This PHP file allows you to embed an SVG document into your HTML web pages with a single PHP function call. This avoids the inconsistencies across various deployment configurations (for example IE+ASV only like <embed>, Firefox/Opera like <object>. Instructions for use are included in the file.

  • Version 1.0 (2006-01-13). Right-click the link to save it locally.

Binary Tree

This header file contains a templated binary tree. It follows a policy-based design by allowing a user to specify: A Mapping policy (how the elements in the nodes are mapped to keys), an Allocator policy (how the nodes are allocated) and a Balancer policy (how often the nodes are balanced). It also allows in-order traversal of the elements using a STL-style iterator.

NEW! Added on 2004-06-03.

  • Binary Tree Documentation: Docs
  • Binary Tree Downloads: Code

Configuration File Parser

I started playing around with Boost::spirit and I was able to create a parser for a configuration file format with the help of Boost::bind.

Please review this and send me comments.

NOTE: There was an interesting bug with parsing some comments that I recently fixed. If you're interested in what it was about then Read this. Note that since I wrote about this problem, the grammar has been modified somewhat, see the API documentation for details.

WARNING: I no longer maintains this library. I highly recommend that if you're looking for a library to parse a configuration format similar to mine, that you investigate a JSON library for your language.

Version 0.42 Updated 2004-04-26.

Logging Control

This library provides support for a safe, portable means of logging within an application, including the means to send logging messages to text files, debuggers and any other user-defined logging "sinks".   NOTE: This library depends on the Multithreading library.

New! Version 0.4 (Updated 2004-04-19). See documentation for details.

  • Logging Control API Docs: HTML   CHM


This "library" consists of a couple template classes to do memory management.


This library provides wrapper support for Win32/Posix multithreading artifacts, including simple mutexes and threads.

Ion Feed Reader

Last Updated: 2008-03-04.

After being disappointed in literally every feed reader application that I've ever tried, I decided to start work in my spare time on my own open source, feed reader. I am using this opportunity to learn Qt.

I decided on the name "Ion" because an ion is an atom with a charge, and it also sounds like "eye on..." (whatever topic you're interested in).

If I ever get anything usable, I will post the location of the Bazaar repository here. I will provide more details at that time. This blurb is mostly for search engine crawlers :)

codedread codedread