Introduction
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.
- svginlay.inc 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.
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.
Memory
This "library" consists of a couple template classes to do memory management.
Multithreading
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 :)