Programming Portfolio

Under Construction
This portfolio is a work in progress. There is no ETA.
With roughly 25 projects to present and discuss it may take some time.
project_img

Orthanc Filter

2022



Introduction Digital Imaging and Communications in Medicine (DICOM) is a technical standard for the digital storage and transmission of medical images and related information. If a patient receives a mammogram, the image made by the imaging machine is saved and transmitted along with their name, age, and various other pieces of personally identifying information. In […]

Read more
project_img

Hypermaze

2016



The maze is generated by expanding from a given node, so it needs to be given a root node. The root node is put onto a double ended queue just before the algorithm’s main loop. Inside the loop the algorithm takes the previous generation of nodes out of the queue, one at a time, and expands from them.

Read more
project_img

Word Search with Threads

2015



Designing an algorithm to solve word search puzzles is not exactly a difficult task. As any good programmer knows, however, an easy or simple solution isn’t always a good one. After all, the easy solution could be wasting valuable CPU cycles. Luckily for a word search, the only guaranteed place cycles can be wasted – in any given algorithm – is in comparing words against strings too small to contain the word.

Read more
project_img

Rover Recursive Pathfinding

2014



For an algorithm to be considered recursive its code must be recursive, doing recursive things doesn’t cut it. What I mean is that finding nested data is a recursive action, because the data is literally contained within other data you are searching recursively in order to find more data; however that isn’t recursive code, which I thought was odd at first. Recursive code, in general, is recursive because the code will execute itself. The call stack is what’s recursive here, and with that in mind the separation between doing something recursively and being recursive makes total sense.

Read more
project_img

Cheryl Engine

2014



This project was about making a version 2 of my Cheryl-Engine. Up to this point the engine was merely Blit3D with a couple optimizations and numerous component rewrites. So I wanted to try my hand at designing an engine from the ground up.

The engine is designed with modularity in mind. I decided to separate it into three distinct libraries: glEngine, AssetFaculties, and GameFramework…

Read more
project_img

A* Pathfinding

2013



An Introduction The A* algorithm is a best-first search, which means it aims to find the cheapest path to the goal. To do this it relies on the problem space being represented as a weighted graph – a common practice in computer science fields. From a starting graph A* originates at the start node and […]

Read more
project_img

Shirly

2006



Our final project was to be completed in pairs, and we simply needed to make an application fulfilling various criteria. Criteria such as sliders, buttons, and a label. Naturally my partner and I chose to build a game, cause why stop at buttons and sliders.

Read more