Local projects: - Fossil repositories - jQuery plugins - readline_cpp - parse0x - ptsigslot - shellish - sqlite3x/sq3 - Tech papers - yo5 - zfstream - v8-juice - BPI Remote projects: - s11n - v8-juice - whefs - JSONMessage - Wikiwym - QBoard - SpiderApe - toc - More... Stuff for...: - GNU make - Google v8 - JavaScript - jQuery - sqlite3
| Computing Being a programmer by both hobby and trade, i have an inherent
interest in software. These pages contain material relating
to my programming projects as well as material for 3rd-party
software, which other users of that software might find interesting
or useful.
My largest active open source projects are, ordered by the amount of priority
they get from me:
-
s11n is an advanced, easy-to-use,
general-purposes data serialization framework for C++. It can serialize a huge
number of types out of the box and can be "taught" to serialize most client-side
types. It may seem rude of me to say so, but the only other C++ serialization
framework which i believe can compete with s11n in terms of feature set, power,
and flexibility is
the Boost serialization library.
- In 2008 i found a revived interest in C
and started work on a number of libraries implemented in C, most of which are hosted
over at http://fossil.wanderinghorse.net/.
Examples include
a serialization library,
an embedded filesystem library,
and a PEG parser creation library.
-
QBoard is a Qt4/C++ application
for playing arbitrary boardgames, with a focus on ease of game setup and features
useful in prototyping custom boardgame designs.
-
v8-juice is a C++ library to assist
in extending the Google v8 JavaScript engine. It provides
most of the features provided by SpiderApe (see below), but for v8.
-
SpiderApe,
a C++ wrapper around the Mozilla Project's
SpiderMonkey JavaScript engine.
Ape was, for several years, the only full-fledged
C++ wrapper for SpiderMonkey (but now there's also Flusspferd), and it makes embedding JavaScript capabilities in C++ applications much, much simpler over using the vanilla SpiderMonkey
library. It provides, for example, strong type safety when converting
data to/from C++ and JavaScript contexts, which is a feature sorely lacking
in SpiderMonkey. Ape also provides the world's first free JavaScript bindings
for ncurses and
sqlite3.
- While
the 'toc' project may not seem
to be very active, i do in fact use those build tools for nearly all of my source
trees (and for all other trees i use shake-n-make).
toc ("the other ./configure") was designed way back in 2002 or 2003 to
replace GNU Autotools in my source trees because the Autotools are such a major
pain in the ass to maintain. toc is "portable across Linux-like distributions",
rather than trying to be portable to every platform, and provides a simple,
maintainable, and highly extendable way to manage build trees on platforms hosting
GNU toolsets. Unlike Autotools, toc is designed to live in the source tree it
builds, making it effectively immune to problems related to system-wide software
updates (traditionally, each time the Autotools get updated programmers
worldwide collectively spend tens of thousands of hours fixing their build
trees).
i maintain a handful of mini-projects as well. Some of those can be found
in the navigation menu of this page and some can be found over on
s11n.net (though much of that
material will be gradually migrating to this site).
|