Unnamed GPS Project

Unnamed GPS Project

Language Used: Java
Description: GPS Toolkit
Supported OS: Android, potentially BlackBerry® Tablet OS and BlackBerry® 10

I am developing an application for Android that intends to serve as a suite of GPS functions. Pilots were the most intuitive demographic that came to mind, so one could say that it is most geared toward aviation. However, this could also serve as a handy toolkit to a variety of outdoor enthusiasts - hikers, bicyclists, and whatnot. Features include but are not limited to: A way point database; A "maps view" harnessing Google Maps; A "classic view" showing the typical circular grid with the connected satellites within the grid, and; A "virtual instrument panel view", which simulates an aircraft cockpit's gauges (airspeed indicator, vertical speed indicator, etc.)


Ghost Typer

Ghost Typer

Languages Used: C, Java
Description: Computer Pranking Suite
Supported OS: Windows (download)

Intended for irritating friends in my grade eleven computer science class, Ghost Typer is a program intended for pranking, that generates executables that run in the background of a computer. At either user inputted intervals, or randomly between user inputted ranges, execute various actions. These actions include typing messages that the user provided, creating dialog boxes with those messages, moving the cursor, turning Num, Caps, and Scroll Lock on or off, making the computers internal speaker generate noise at certain frequencies and durations, and opening and closing the computers CD tray.

The GUI is written in Java, and after the user has configured their options, a C file harnessing the Windows API is written and compiled into an executable.


SiteBGone!

SiteBGone!

Language Used: Java
Description: Website Blocker/Redirecter
Supported OS: Windows (download)

SiteBGone! is a very simple program that blocks or redirects websites, by changing the hosts file on the computer on which it is run.


Network Tron

Network Tron

Language Used: Java
Description: Tron Arcade Game
Supported OS: Windows (download)

Network Tron is a simple implementation of the arcade game Tron. The size of the grid, player colours and speed, and the number of kills to win are all customizable.

Over local play, two to four players can play on the same machine. Over network play, two player connections are supported.


BMP Utility

BMP Utility

Language Used: Python
Description: Bitmap Image Header Modifier / Message Extractor
Supported OSes: Windows (download), Linux (download)
Source Code: Download

BMP Utility is a utility for the modification of BMP image headers, and for the extraction of messages contained in the least significant colour component bits within 24 bit BMP images. It was an entry to the 2009 Algonquin College Programming Olympics from a programming team in which I was a part of, consisting also of Keith Morrow and Mike Lanthier. We were awarded under the categories of "best use of open source software" and the most new challenges completed on the final day via new applications of our entry.


Allasso

Allasso

Languages Used: C, Java
Description: File and Vault Encryption Tool
Supported OSs: Windows, Linux, Mac OS X

Allasso, named after the Greek translation of the word "change", is a file and vault encryption and decryption program. Its GUI is written in Java, and the cryptography engine of it is written in C for performance concerns. It uses a rudimentary encryption algorithm I developed, involving exclusive or's, bit shifting and inverting, and matrix operations. It runs under Windows, Linux and Mac OS X via the GUI and command-line interface.


Dissimulo

Dissimulo

Languages Used: C++ (Qt), C
Description: Image embedding tool
Supported OSs: Windows

Dissimulo, named after the Latin word for "disguise", is a digital stenography program. It allows the user to "hide" or "embed", then "extract" a file, which is first encrypted using the algorithm I wrote for Allasso, within a 24 bit BMP image. This has the effect of not only hiding the data, but without the password, not being able to tell if data is embedded in the image at all.