Project Title Description
INSTANT MESSAGING SERVER Co-created a server that routes instant messages between connected machines. The project involved synchronizing threads, sending and receiving data, maintaining a database, and extensive work with polymorphic data-structures. Implemented in 3 weeks.
UNIX SHELL Co-created a basic command line interpreter that was able to perform basic commands, parsing, multiple comands, and redirection. The project involved researching shell functionality, manual thread management, and implementing defensive programming. Implemented in 3 weeks.
CACHE SIMULATOR AND OPTIMIZATION Co-created a C program that simulated the behaviour of a cache, and later minimized the number of cache misses using matrix transposition functions.Implemented in 2 weeks.
RAY TRACER Independently created a simple ray tracer that rendered 3D images of spheres, planes, and cylinders accounting for shadows and specular reflection through vector algebra. Implemented in 4 weeks.
OTHELLO BOARD GAME AND AI Independently created a virtual board game of Othello that could implement monty-max, minimax, and other heuristic game AI's as well as user input. Implemented in 4 weeks.
USER-SPACE TCP IMPLEMENTATION Co-implemented a kernel-space TCP RFC protocol that bypassed the existing operating system’s TCP stack. The project involved interpreting RFC text, simulating transport over both secure and insecure networks, and implementing the Sliding Window Algorithm. Implemented in 4 weeks.
IRC SERVER IMPLEMENTATION Co-created a chat server that implements IRC RFC protocol. The project involved interpreting RFC text, managing multi-thread processes to service multiple users, and working around the absence of global variables. Implemented in 4 weeks.
IP ROUTER IMPLEMENTATION Co-created a basic IP router that implements RFC protocol. The project involved constructing and interpreting network packets, sending packets across a known network topology, and understanding the multilayered nature to network communication. Implemented in 3 weeks.
PAXOS SIMULATION Independently built a distributed system simulation, written in Python, that correctly implements Paxos single synod consensus algorithm, as described in "The Part-Time P" by Leslie Lamport. Implemented in 3 weeks.arliament
RAFT SIMULATION Co-created a simulation, written in Python, that correctly implements RAFT consensus protocol, as described in ". The project included writing test cases to prove correctness of implementation in the case of fail-stops and fail-recovers and documenting our implementation in a detailed 20 page paper. Implemented in 3 weeks."In Search of an Understandable Consensus Algorithm
DIFFIE-HELLMAN KEY EXCHANGE IMPLEMENTATION Independently implemented DH key exchange algorithm in Java*. Implemented in 2 weeks.
RSA KEY EXCHANGE IMPLEMENTATION Independently implemented OAEP for encryption and decryption as well as key signing and verification in Java*. Implemented in 2 weeks.
VIGENERE DECIPHER Independently implemented a Kasiski attack algorithm and used letter frequency analysis to reverse engineer the keyword used in the Vigenere cipher and decrypt cipher-text to plaintext. Implemented in 2 week written in Python.
* Implemented without preexisting cryptography or security libraries.

Additional information

For previous art work please visit my portfolios page to learn more. If you're interested in learning more about the organizations I am involved with please visit my engagement page.