I have created a page here dedicated to showcasing various software creations and other related materials that I have made or have been a part of making during and since my time at University. Feel free to poke around and I hope you enjoy yourself!

Please note that this page represents only a fraction of the useful content I have put up on this website. For more please visit the home page here or see my GitHub landing here.

Personal Projects
School Related

The Linux Experiment
Description: The Linux Experiment began as a test to see if some friends and I could switch to using the free operating system exclusively for four full months. Over the course of the experiment we used the website as a journal to write about our experiences, what we learned, and problems that we encountered. Since the end of the original run the site has continued to be updated as some of us continue to use Linux in our daily lives.
Written In: English 😉
Written For: I felt as though my education had left a gap in my understanding of *nix like systems and the experiment was my solution to that problem. The rest of the participants (naturally called guinea pigs) were just crazy enough to join in!
Status: Active
Link: The Linux Experiment

Description: CoreGTK is an Objective-C language binding for the GTK+ widget toolkit. Like other “core” Objective-C libraries, CoreGTK is designed to be a thin wrapper. CoreGTK is free software, licensed under the GNU LGPL.
Written In: This project is being written in a combination of C and Objective-C using the GTK+ and GNUstep libraries.
Written For: Anyone who wants to write graphical Objective-C programs on Windows, Mac or Linux using the excellent GTK+ library.
Status: Active
Link: CoreGTK on GitHub

Description: Wildchild was a media player for Linux with two goals in mind: cut the fat and refine the features. Rather than do everything in an average way, the goal of the project is to excel at several core features while being lean on system resources.
Written In: This project was written in a combination of C and Objective-C using the GTK+ and GStreamer libraries. For interface design Glade was used.
Written For: Because we were unhappy with the existing solutions and wanted to push Objective-C development on Linux.
Status: Inactive
Link: No longer available

Description: Keyfinder was a fourth year 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.
Written In: 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.
Written For: CP476: Internet Computing
Status: Inactive
Link: No longer available

LORIS Redesign
Description: LORIS is the name of the course management system that students at Wilfrid Laurier University use to view their marks, print off tax forms, register, change and drop courses, etc. The existing system is clunky and a constant source of complaints for the students. I had the privilege to be a part of a user interface (UI) directed studies course in which we analyzed LORIS. For the final project we undertook the task of redesigning LORIS into something more user friendly, efficient, and effective. The end result was a complete transformation accompanied by pages of research and documentation.
Written In: The redesign of the website was meant purely as a prototype and was never actually going to be implemented. As such we opted to write it within Visual Studio to allow for rapid UI adjustments.
Written For: CP495: User Interface Design
Status: Inactive

Tank Destroyer Game
Description: Tank Destroyer was a simple two-player game written for a fourth year 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
  • Various textures and methods
    • GL built in texture mapping
    • Four corner texture method

I apologize in advance for the horrible programmer art 😉

Written In: This project was written entirely in C++, using OpenGL and the GLUT libraries.
Written For: CP411: Computer Graphics
Status: Inactive

In addition more of my work can be found over in the Software page of this website.

One thought on “Portfolio

  1. […] reason I am so surprised by this is that today, in 2010, 64-bits is nothing. For a recent school project a few colleagues of mine and myself designed a distributed brute-force approach to cracking an RC4 […]

Comments are closed.