Projects
Wrote a server and client to implement a weakly consistent file system. Core was written to allow multiple reads but only single write. Using gRPC, file locking mechanisms and long time polling was easy to implement. In order to identify file diff, a CRC hash was used and then subsequent last modified time to determine if files need to be updated or deleted.
Wrote a server and client to implement a file transfer protocol in C. Utilized only the standard POSIX API, with no additional libraries to build both a multithreaded server and a CLI based client. Learned to use POSIX threads and locks in order to share critical data structs amongst worker threads. Used boss-worker multi-threading model for high throughput.
This was an Alexa application I wrote in order to prepare for a hackathon. This application was written in Python, however in the hackathon NodeJS was the language of choice. The final application had integration with DynamoDB to store user data and load user prescription records.