Archived Projects

These are some of the older projects that I’ve worked on. Some of these are from University, some never really made it out of the R&D phase, and others were just neat little experiments. None of these projects are currently under active development.

Hash Verifier
Description: A graphical utility that allows a user to generate hashes of their files. Useful for checking if a download has been corrupted.

 

Features:

  • Drag & drop files from your computer right into the application!
  • Supports many different one-way compression algorithms including MD2, MD5, SHA1, SHA256, SHA384, and SHA512.
  • Copies the generated hash to your clipboard with the push of a button!
  • Automatically verifies your generated hash against one you provide and displays the result.
Posts:

Objective-C IDE
Description: An integrated development environment for the creation of Objective-C programs on the Windows, Linux & Mac platforms.

 

Features:

  • Syntax highlighting.
  • Code auto-completion/suggestions.
  • Simple program compilation at the click of a button.
Posts:

Keyfinder
Description: Keyfinder was a fourth year (CP476: Internet Computing) class project created by Phil Downey, Jonathan Fritz and myself. It was a simple example of how to make use of distributed resources over the Internet. The program takes in some text and encrypts it with RC4 using a randomly generated key of a specified size, and stores the ciphertext alongside the plaintext in the database. It then splits up the key range into manageable chunk sizes which are distributed to both dedicated hardware as well as donated peer-resources. This greatly reduces the workload and allows the key to be found by comparing the stored ciphertext to the ciphertexts generated with each key in the key range.

 

The website itself was written in PHP using MySQL as the database backend and AJAX for real-time status updates. The encryption was all done in Java, in both a compiled Java program (for the dedicated hardware ‘bots’) and applet (for the donated peer-resources) forms.


Tank Destroyer Game
Description: Tank Destroyer was a simple two-player game written for a fourth year computer graphics (CP411: Computer Graphics) project. The players take turns adjusting their power (velocity) and the angle of their cannons before firing and trying to hit the other player. After each successful hit, and subsequent explosion, the game is reset and the players are positioned a random distance apart. The first player to reach five points wins.The game features:

 

  • A mix of 2D and 3D objects
  • 3D lighting
    • global ambient
    • spot lights
  • Game controlled camera dynamics
  • Effective design
    • Back face culling
    • Depth testing
    • Efficient animation
  • Various textures and methods
    • GL built in texture mapping
    • Four corner texture method

I apologize in advance for the horrible programmer art 😉

This project was written entirely in C++, using OpenGL and the GLUT libraries.

Screenshots:

CoreGTK
Description: CoreGTK was an Objective-C library that wrapped the GTK+ graphical toolkit for making cross-platform user interfaces on Windows, Mac and Linux.

You can read more about it here.
Screenshots: