SwiftIOS Full Flight Simulator Instructor Station Emulator

Developed the SWIFT Instructor Station upgrade is a complete replacement for Instructor Stations using Charles River Data Systems computers and the UNOS operating system.

SWIFT uses COTS Intel Architecture PC using Linux (OpenSUSE 11). All of the components of the IOS are run as native tasks within which a UNOS environment which is emulated along with a MC68000. The graphics hardware is emulated at the VME ShortIO level and drives standard X11 displays.

Usermode whole system emulation

VME ShortIO graphics subsystems

Reflective Memory

Emulated Kernel

Maintenance Tool (Qt)

Multi CPU with IPC and shared memory

Emulation of Eventcounts, System V IPC, serial IO

PHP site application framework.

At the start of 2009 it was decided to create an open source project to produce a small compact application framework built with a coherent class model, split into layers, and using event messaging for inter object communication.

The net result is still in beta but has been used in production
systems and allows for compact, efficient and well structured code.
It's open source
so you can see the coding and ideas for yourself,
this is a
good place which is the main page from the test site. Not immediately obvious but worth pointing out that the menu on the Left is actually just a different view on the same data on the rest of the page, and when you update anything all views are automatically updated by the framework with no extra code. Change the category by clicking on the edit icon and see how it works.

Java Avionics Device Emulation

Contracted to provided an emulation of the MFD moving map for an Avidyne EX5000C.
The emulated system provides navigation data via an SQL database (populated via ARINC 424 or DAFIF importer). Geographic information (terrain, coastlines, water bodies, etc.)
rendered from shapefiles. Written in Java with JNI for interface to vendor libraries.

The contract required a sophisticated asynchronous computer based training system, which was implemented using HTML, CSS and a Java backend to tie it all together.

Application Construction.

Contracted to take an existing two-tier application, and re-design the UI to present a more modern interface.

Use of HTML for all textual presentation, C++/Builder, VCL component creation, using a C-library for the backend information provider.

Intranet Web Application

Designed and built a web-based intranet application, relying heavily on client side Javascript, with no state information on the server. Javascript & HTML

C++ Point of sale GUI (Windows)

Creation of an application based on a working prototype, using an API for the business logic.

Windows GUI application for the creation of printed cards.

Contracted to develop a new GUI, multilanguage support, for the storage, creation and printing of a single sheet document built from
selectable phrases and extra text. Required the construction of a complete layer of UI objects to support Unicode.
Application internationalized and support for Unicode input via custom edit control (not relying on Win32
localisation controls).

File System Navigator.

Contract to produce a reveloutionary new file system manager to supplement windows explorer.
This application was designed to allow an ordinary user to better manage their files. It had
built-in file preview, a clipboard that could hold many files, and allow the user to collect files in one
place which then could be copied or moved en-masse. The application also had a file categorizer, which would
scan all of the disks and present a list in order of date, filename or type as "virtual drives", which could then be browsed.
Product retired due to changed business requirements, overview archived here

Offline forum browser

Project to provide a modern GUI based on a legacy telnet oriented interface. Providing email and online forums (conferences) using CiX.
Using a two-tier approach to seperate the GUI and the backend processing.
Comms transfer built using native win32 methods together with a Win32 port of Zmodem / XPR (eXternal PRotocol)