NOTE: My science and mathematics programming projects have now been moved to a separate page

The Chaos Game Screensaver - Originally written in the late 1990's as a series of screensavers, each of which would generate a single fractal pattern using only random numbers. This program has been rewritten and upgraded in 2010 to provide thousands of unique designs in a single screensaver. Completely customizable for pattern and colour selection. Download here.

Maze-Runner Screensaver -  A simple screensaver program that draws one of over 100,000 mazes on the screen, and then the computer tries to solve the maze. (Not all the mazes it selects can be solved, but it can determine that as well). It is an entertaining display, but not of much real use. When I have finished debugging it I will make it available for downloading.

Hex-Shift - A simple C# program that takes any two six-letter words and checks if it is possible to shift one to the other, by changing one letter at a time and requiring each intermediate word to be valid. At this point it can only manage shifts involving seven words, but that can be expanded in the source code. Download (Beta)


The Grandiloquent Dictionary - An application written in Python which allows the user to type in words and provides the definition as given in the Grandiloquent Dictionary. (A link will be provided when final debugging is completed) 

Update: This project has been put on hold for now, as I am rewriting the application as a widget for website instead of a downloadable app. The downloadable version and the smartphone app will (possibly) now be released in mid-2018, depending on what spare time I have.

RasPi LED Controller - A C program written for the Raspberry Pi board, which allows it to control a string of controllable RGB LEDs. This program does not do much, but rather provides a template for other projects that require the RasPi to control multiple LEDs. The code is provided here.
HDRi Lightbox Controller - A simple C-program that is run on Arduino compatible boards, and can convert a small bitmap image to an array of RGB LEDs in a special light rig that I created to experiment with HDRi environmental lighting for my home based photography studio. I am still working on debugging the lighting rig, but will publish the full code for this program at some point in the future.

Discontinued Applications:

  • The Original Chaos Game Screensaver (1997): A series of  popular screensavers for Windows and UNIX/Linux which use random numbers to generate intricate fractal patterns. Re-written and updated in 2010.
  • Generic Dungeon Crawl (1997): A Windows based FPS game in which a dungeon was randomly generated complete with traps and monsters. A 1998 upgrade added the ability to store a customized character for use in multiple dungeons.
  • CSC-Paint (1995): A simple painting program written for a computer science course, notable for its ability to invert the colors of an arbitrary ellipse - which the instructor said was impossible.
  • CollegeSchedule (1995): An application that I wrote in 1995 to schedule my university courses for me and print a graph listing where and when each course was being held.
  • PoolEngine (1993): Another experimental program that would render the motion of 3D pool balls using the laws of physics. I intended at the time to turn it into a freeware game, but it ran too slow on most computers.
  • RenderEngine (1993): An experimental program I wrote to experiment with computer graphics and 3D imaging / raytracing. I quit updating it when POV and other similar packages were made into freeware.
  • Exoplanet (1992) : A flight simulator for the Tandy1000 series and later for Windows, in which the player flies a spaceship through an alien landscape with random physics parameters (ie. different gravity or atmospheric density).
  • Shopping Spree (1987): A variation on the car racing simulator for the TRS-80, using a shopping cart and requiring the player to select items from a shelf while driving. 
  • SAFARI (1986):  A simple 2D game I wrote in the 1980's for the TRS-80 and later ported to the Tandy1000 series. Sort of a Pac-Man with hunters and animals.
  • MicroGolf (1985): A 2D overhead golfing game for the TRS-80.

Free tools:

  • DarkGDK - A useful development kit for graphics and game design
  • Unreal Development Kit - The basis for many leading games
  • XNA Development Kit - A set of classes for game and graphics development on Windows or XBox.
  • OpenTK - A library for accessing graphics and audio libraries through C# programming, useful for games and scientific visualization programs.
  • Allegro -  An open source cross-platform game library
  • Android SDK - A SDK for developing smartphone apps
  • Android Studio - An IDE for Android developers

Make a free website with Yola