PERSONAL PROJECTS

Resume PDF available here



CHINESE CHECKERS

Built a multi-threaded game with a GUI for a variable number of manual players or robots

Monte Carlo algorithm for robot logic using an advanced heuristic and BFS board analysis

Game state memory for an unlimited move undo-ing

Github link available


CUSTOM MALLOC LIBRARY

Wrote an implementation of the malloc library including "malloc," "calloc," "realloc," and "free"

Linked-list style memory overlay for keeping track of free and in-use memory sections

Efficient merging of free memory spaces. Memory divisions rounded to nearest 16 bytes for hardware efficiency

Private repository - Github access available apon request


DEV/SECRET DEVICE DRIVER

Device driver build for the MINIX-3 (Mini Unix) Operating System to hold a secret message

Message can only be read once and only by the owner. Ioctl call for transferring ownership

Integration with the MINIX-3 message passing system for interprocess communication

Private repository - Github access available apon request


C SHELL

Created a Unix Shell program to execute commands and arguments as well as asynchronous execution of multiple commands and arguments through pipelines

Supported file redirection for input and output

Private repository - Github access available apon request


BLACKBOX HASHTABLE

Created a semi Object-Oriented hash table in c that was designed to be added to any project

Memory allocated dynamically based on the type of data needing to be hashed

Hash function flexibility based on hash object type. Defaults to an implementation of Murmurhash

Efficient rehashing, and separate chainging used for collisions

Private repository - Github access available apon request


MINER WORLD SIMULATION

Designed and programmed a 2D Object-Oriented world simulation with various types of entity characters and independent behaviors/interactions with other entities

Wrote an implementation of the A-Star pathing algorithm to allow for real time path correction while entities navigate to their destination

Github link available


LZW COMPRESSION PROGRAM

Completed an LZW compression program that can handle both text and binary files

Trie data structure used to maximize runtime and greatly save on space complexity

Bit-packing algorithm written to efficiently write the compressed output

Private repository - Github access available apon request


THUMB SIMULATOR

Programming project as a case study into ARM architecture

Built an ARM Thumb simulator to examine performance metrics of a given program

Handle a subset of the ARM Thumb instruction set including more than 30 instructions

Github link available


JAMESASBURY.NET

Designed, planned, and hand-coded this portfolio website

Bootstrap and intensive CSS styling used to handle dynamic page re-sizing and mobile phone screen sizes

JS and JQuery for selective features

Github link available