2011 - present
ChapterLab is a next-generation word processing tool
with innovative features targeted at non-fiction authors, technical writers, academics, and other authors of long and complex documents.
The application offers conceptual modelling, coherence checking, project planning, to-do list management, bibliographic references management, and rich word processing features in a tightly integrated environment.
Mac OS X and Windows editions are now available in the Early Adopter Beta phase. Download the app and check out the product demo and tutorial videos at www.chapterlab.com.
Technologies: Java, Eclipse RCP, HTML/CSS, PHP + MySQL + PayPal integration for order processing, NSIS
2011 - 2012
Design Intention Driven Programming is a novel software development approach that I proposed and developed as part of my MSc thesis. This tool-supported methodology aims to reduce long-term maintenance costs in large-scale software projects. It features the recording of design intentions and rationale via object-oriented documentation constructs embedded directly in software source code, and provides mechanisms for enforcing adherence to documentation policies. The scheme is particularly suitable for documenting instances of design patterns.
As a proof-of-concept of the approach, I designed an extension to the grammar of Java 5, called Java with Intentions, and implemented a prototype of a language pre-processor.
Technologies: Java, ANTLR v3
2006 - 2008
ReadyBASIC is a web-based BASIC interpreter, intended for
teaching programming to beginners. It supports both traditional BASIC programs with line numbers, as well as
structured programs without line numbers.
Note: ReadyBASIC is implemented a Java applet and, unfortunately, it is increasingly difficult to find a browser that will let you run Java applets due to potential security exploits.
2001 - 2005
Roarcore is a .MOD music player (and in 2001, to the best of my knowledge, the very first .MOD player written in Java without using system-dependent libraries, arguably making it the first platform-independent .MOD player). It employs digital synthesis techniques to play realistic music from very compact song files using sampled instrument data. It can run as a desktop application or embedded in a webpage.
Note: The web-embeddable version of Roarcore will no longer run in recent browsers that block Java applets, but you should still be able to run the desktop versions using either the Java Web Start launcher or by downloading the Windows executable.
2001 - 2002
Proof-of-concept for a database-driven, wiki-like foreign language dictionary and language-learning website.
Technologies: PHP, HTML, MySQL, Apache.
Two-player networked version of the Hunt the Wumpus game from the TI-99/4A microcomputer. Unpublished but demo-ready.
Technologies: Java, javax.net, Swing
2000 - 2001
Java-based 3D polygon graphics engine built using Java and Swing. Features include double-buffered animation, polygon filling, and Z-buffering. Unpublished.
Java desktop flashcard application for foreign language learning using spaced repetition for optimal memorization. Unpublished.
.MOD music player and C/C++ digital music libraries for MS-DOS, with background audio (multitasking) capabilities. Unpublished.
Technologies: Turbo C++, 80x86 Assembler
Simple arcade game in MS-DOS with background AdLib music. Unpublished but complete.
Technologies: Turbo C++, inline 80x86 assembler
Yamaha-OPL2 FM (frequency modulation) music library for C. Includes a background music-playing capability using a form of interrupt-driven multitasking under MS-DOS. Supports the AdLib and SoundBlaster sound cards.
Font library for C, and font editor, supporting bitmapped, color-indexed, proportional fonts. Includes a fully-functional font and sprite editor with a hand-coded GUI.
Mode-X VGA graphics library, written as C and 80x86 assembler code linkable with Turbo C++ programs. This was used in my subsequent MS-DOS game and graphics projects and formed the basis for the Atrevida Game Programming Tutorials.
Simple arcade game.
Technologies: QuickBASIC 4.5
1993 - 1994