Open Source projects
I have been involved in a number of open source projects over the years. In some cases my contribution was minimal, in some other cases I enjoyed the opportunity to drive projects that were well received by the wider community.
Below you can find a few of the projects I have been involved in most recently. There are some other projects to which my contribution was not significant enough in order to be mentioned here.
LiveGraph
| Website: | Framework for exploratory data visualisation and analysis. Plot in real-time, explore in no-time! |
| URL: | http://www.live-graph.org |
This project is aimed towards developing an open source framework for real-time data visualisation and exploratory data analysis.
The main framework component is a graph plotter that can plot data produced by any application in real-time, i.e. while the source application is running and continuing to produce data. The plotter has been specifically designed for preliminary exploration of vast data quantities often produced by scientific simulations and offers an easy-to-use point-and-click interface.
The framework also contains a programming API for data logging and provides an open data format definition to ensure compatibility with other programming languages.
JAGA
| Website: | Java API for Genetic Algorithms |
| URL: | http://www.jaga.org |
JAGA is an experimentation platform for genetic algorithms (GAs) and Genetic Programming (GP).
The effort was started in 2004 at the University College London. At the time, there was a requirement in the computer science department to quickly develop GA and GP based experiments in a fully scaled main stream language, and Java was the preferred choice. The open source evolutionary computation frameworks that existed at that time, were either ridiculously incomplete, or built badly and inefficiently from a software engineering standpoint. JAGA is a joint effort between evolutionary computation and software engineering researchers; it is build in a modular and extensible way that allows new experiments and algorithms to be plugged into the engine very easily. A number of common algorithms and genetic operators are distributed as a part of JAGA.
Currently JAGA is maintained, but not further developed. While JAGA still possesses a well engineered core, other Java-based frameworks, that are actively developed to date, will contain more out-of-the box tools and ready-to-use algorithms.
Java Utility Library
| Website: | Common tools, utilities and classes that are missing in the standard Java API. |
| URL: | http://java-tools.sourceforge.net |
This Java class library contains a collection of tools and utilities that are often required in all kinds of projects, but have unfortunately not found their way into the standard Java API. I have been maintaining this library for years and tried hard to ensure that only mature, well tested code is included. Different versions of the library are used in business critical production systems of many of my former clients.
Table-Based Animated Web Graphs
| Website: | Build bar charts in HTML using only coloured tables and JavaScript. Includes animation capability. |
| URL: | http://www.paperin.org/open_source/animated_graphs_in_html_pages |
This is a small project from 2002. At that time of slow internet connections, table-based page layouts, and absent web standards I was facing a task of including nice looking graphs in server-generated HTML pages. Check out the project if you are interested in how this can be done without wasting any bandwidth on image transfer and how one can add some cool gimmicks. In the age of Ajax and Web 2.0 this becomes relevant once again...
Virtual Complexity Laboratory
| Website: | Virtual laboratory for complex adaptive systems and artificial life. Includes demos, experiments for self-study, tutorials and background information. |
| URL: | http://vlab.infotech.monash.edu.au |
Not all of it is open source, but this is certainly a free project that is interesting and useful for academically interested people who want to learn more about the study of complex systems. I have contributed some tutorials and on-line simulations to the project.
The project (VLab) provides web-based resources for research and education about complex systems. Its goals are to stimulate interest in complex systems and artificial life (ALife) and to provide demonstrations, both for key ideas and for recent research findings. VLab includes numerous simulations and other experiments for self-study (mostly Java applets), together with related tutorials and references.