Software projects

The projects listed here are a curious mix of different software projects I am (or was) involved with. The reason for doing this is mostly the pleasure of hacking in the original sense of the word.

So. Some of the projects here (like Bond or Gofai are also research projects where the programming aspect is incidental. Programs like the Kraken were written because they looked simple to do and I needed them. Others, like the contributions to the KDE projects are done just for the fun of it.

There are also a number of older efforts, which are probably not relevant at this moment as applications.


Xapagy is a cognitive architecture which has been designed to perform narrative reasoning, an activity roughly analogous to some of the mental processes humans perform with respect to stories.

Click here to go to the main page of Xapagy.


YAES (pronounced as "yes") is Yet Another Extensible Simulator. More closely it is a Java library which offers a number of abstractions which allows its users to quickly and easily assemble simulators for a large number of problems.

Click here to go to the main page of Yaes.


Kraken is an application for managing various documents and webpages. It also allows users to annotate these entities with metadata such as notes, opinions, BibTeX bibliographic info or calendaring info. The resulting database can be queried and the results are presented in a HTML format with links to the originating information. The format of kraken annotations is RDF with an associated OWL ontology. The annotation files can be readily parsed by third party applications. Thus the kraken can be used as a data collection method Click on the icon to go to the Kraken webpage.

Kontributions to the KDE project

The KDE programming book I wrote and the updated Japanese edition.

The BOND agent framework

Version 2.0 of the Bond was a general purpose, Java based, distributed object system and agent framework, which I wrote while working on my PhD thesis at the Computer Sciences Dept of Purdue University. This system (written between 1997-2000) is now mostly of historic importance. Many of the components of the system were dealing with issues such as messaging between remote objects, directory lookup, persistency and message parsing and interpretation. In the years since then, these topics were handled at the level of industry standards, and many high quality solutions were developed, some of them open source. The distinctive qualities of the Bond 2.0 system (the multiplane state machine based agent model, mutability, reflection etc) are inherited by the Bond 3.0 version. Version 3.0 is a complete rewrite of the Bond agent system, relying on current best of breed Java technologies. Please go to the webpage.


aka Good Old Fashioned Artificial Intelligence With a Modern Twist is a program which allows you to easily enter free format information and organize it into a semantic network. You can use it as a "beefed up" bookmark repository (it integrates with netscape), an ad-hoc tool for brainstorming or just a jotter with a nifty interface. Network collaboration facilities and reasoning plugins will be added after version 1.0.