My projects

This page outlines my open source development projects.

Current primary projects


PHP libraries

General purpose libraries
Library Description Status
Diff Small library for representing, computing and applying diffs between structured data.
PsrLogTestDoubles Test Doubles for the PSR-3 Logger Interface.
File Fetcher Small library providing an OO file_get_contents alternative, including adapters and decorators.
Batching Iterator Small library providing an Iterator that batches requests for additional values.
Rewindable Generator Provides a simple adapter to make generators rewindable.
ParamProcessor Processes parameters in declarative fashion.
Serialization Small library defining a Serializer and a Deserializer interface.
Simple Cache Small library defining a minimalistic caching interface and provides some basic implementations.
Euro PHP value object for representing a positive amount of Euro.
Domain specific libraries
Library Description Status
JsonDumpReader Reading of, and iteration through, the Wikibase entities in a Wikibase Repository JSON dump.
QueryR EntityStore Provides persistence and basic lookup capabilities for collections of Wikibase entities.
QueryR TermStore Provides persistence of Wikibase terms with lookups of those terms and by those terms.
I also created and maintain many of the libraries part of the Wikibase software. Check out its list of components.

Historical projects

  • QueryR API - a REST compliant webservice for accessing information stored in Wikidata written during 2014 and 2015 in PHP
  • ReplicatoR - a CLI application to replicate Wikibase entities (mainly from Wikidata) written during 2014 and 2015 in PHP
  • Final Rush Pro v4 - rewrite of a Supreme Commander Forged Alliance) scripted map done in 2016 in Lua
  • Skynet - Travelling Salesman Problem solving application (using GALib) written during 2010 in C#
  • GALib - Genetic Algorithm library written during 2010 in C#
  • BN+ Converter Pro - A desktop application providing various text conversion utilities written between 2007 and 2010 in VB.Net
  • BN+ Brute Force Hash Attacker - A tool for brute forcing hashes written between 2008 and 2010 in VB.Net
  • BN+ Library - A .Net utilities library written between 2008 and 2010 in Visual Basic .Net
  • Art of Defence SE4 - A Command and Conquer: Generals custom map created between 2008 and 2010
  • These libraries in C# and VB.Net (external link)

MediaWiki extensions

Extension Description & involvement Status
Semantic MediaWiki Lets you store and query data within the wiki's pages. Very active development
Contributor since 2009, (co-)maintainer since 2011
Maps Enables visualization of geographic data with dynamic embedded maps. Maintenance, occasional contributed features
Creator, maintainer since 2009
SubPageList Enables viewing lists of subpages and counting them. Maintenance
Creator, maintainer since 2010
GitHub Enables embedding GitHub files, including markdown rendering and syntax highlighting. Maintenance
Creator, maintainer since 2013
Semantic Maps Adds geographic capabilities to Semantic MediaWiki and Semantic Forms. Merged into Maps, discontinued
Creator, maintainer since 2009
ParserHooks OOP interface for creating MediaWiki parser hooks in a declarative fashion. Maintenance
Creator, maintainer since 2013
Validator MediaWiki integration with the ParamProcessor PHP library. Maintenance
Creator, maintainer since 2009
Semantic Watchlist Enables watching changes to semantic properties via a dedicated watchlist. Minimal maintenance
Creator (for WikiWorks), maintainer since 2011
Semantic Result Formats Adds a large number of query result visualization formats to Semantic MediaWiki. Maintenance, occasional contributed features
Contributor since 2009, (co-)maintainer since 2011
Push Adds a tab to articles that enables pushing the article content to other wikis. No maintenance from me, possibly from others
Creator (for WikiWorks), maintainer from 2011 to 2014
Live Translate Live translation of wiki pages via Google Translate or Microsoft Translate. No maintenance from me, possibly from others
Creator (for WikiWorks), maintainer from 2010 to 2013
Contest Allows participation in, and management of, contest challenges created by administrators. Inactive / no maintenance
Created for the Wikimedia Foundation in 2011
Survey Allows administrators to define surveys that can be shown to specified groups of users. No maintenance from me, possibly from others
Creator (for WikiWorks), maintainer from 2011 to 2014
Spark MediaWiki integration with the Spark JS library to embed SPARQL-based visualizations. Inactive / no maintenance
Created in 2011, not maintained
Nuke Makes it possible for sysops to mass delete pages. Maintenance
Significant contributions and temporary maintenance in 2012
Education Program Adds various features for running courses around editing wiki pages. No maintenance from me, possibly from others
Created for the Wikimedia Foundation in 2012, maintained till 2013
Semantic Image Input Allows for automatic inclusion of images from Wikipedia pages in Semantic Forms. No maintenance from me, possibly from others
Created in 2011, not maintained

See also