Most code written here was initially for my personal use. Some code was written in payed employment but my company graciously allowed the source to be released as open source. The general theme is providing simple cross-platform building blocks for code that solve common problems.

The Good Egg
A simple little countdown timer application. Just what you have always needed to time your eggs, pizza or time until smoko. It's small, unobtrusive, has no installer and just works. Freeware. (MIT licence)
SimpleIni (28 Sep 2013: now hosted at github)
A cross-platform library that provides a simple API to read and write INI-style configuration files. It supports data files in ASCII, MBCS and Unicode. It is designed explicitly to be portable to any platform and has been tested on Windows and Linux. (MIT licence)
A cross-platform command line library which can parse almost any of the standard command line formats in use today. It supports character types of ASCII, MBCS and Unicode. It is designed explicitly to be portable to any platform and has been tested on Windows and Linux. It also includes a cross-platform implementation of glob() so that wildcards in command line arguments are simply expanded for use by the program. (MIT licence)
A basic cross-platform C++ client for the memcached server. The primary focus for this client is Windows applications but it may also be used on *nix systems. It supports the latest API for memcached v1.2.5 (append, prepend, noreply), attempts to minimize messages sent to the servers and implements a version of consistent hashing for servers. (MIT licence)
Moji UI Rewrite
Easier to read and understand UI for Moji.
memcached for win32
This is a modified version of memcached 1.2.5 and libevent 1.4.4 that builds on Windows. It comes with no promises and no support.
A code snippet for the Website Baker CMS software. It provides a complete replacement for the builtin menu functions. All menu data is retrieved using a single database query, all types of menu styles (lists, breadcrums, sitemaps) can be generated with extensive customisation of the resulting HTML. (GPL licence)
An interactive cross-platform command-line shell. Menusys facilitates the creation of programs that provide a scriptable command-line for user interaction. Standard command line functionality is provided by this library, for instance, command help, options, file handling, scripting, timing, and loops. Only the commands for your own functionality (e.g. stress test clients, C or C++ API testing) needs to be implemented. (MIT licence)
StringWrapper for ICU
A very thin wrapper around the ICU UnicodeString (UTF-16 Unicode strings) and a simple implementation of the same API for char strings (MBCS and ASCII). It provides the same interface to both string types and ensures that the "getBuffer() const" pointers are always NULL terminated. (MIT licence)
ML Fancy Excerpt
Automatically create excerpts for Wordpress that is aware of sentence and space boundaries. Ensure that UTF-8 characters are not split and that CJK languages (without spaces) are handled correctly. (MIT licence)
LangSelect Smarty Plugin
Faster language customization of pages using the Smarty PHP templating library. Instead of rewriting the page every time, the language customized strings are written directly into the compiled template ensuring the fastest response from the server. (GPL licence)
Visual Studio Macros
Assorted macros for the Visual Studio IDE. (Public domain)
Powered by Website Baker