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. |