Projects

Machine Learning for Cheetah Image Segmentation
  • Identified and segmented the cheetah part in an image based on the multivariate Gaussian model with parameters generated from MLE, MAP, Bayesian estimation, EM algorithm respectively in Python
  • Evaluated and improved the performance of each classifier to reduce the probability of error to 0.5%


Operating System - Nachos
  • Implemented a teaching operating system supporting multi-threading, multi-programming, virtual memory, and file system in Java
  • Implemented multi-threading functionality with synchronization using Lock and Condition Variable
  • Implemented main functionalities of file system such as create, open, read, write, and close.
  • Implemented virtual memory, page table, and demand paging to support multi-programming.


Cloud Storage Service
  • Create a networked storage application modelled after Dropbox which provides syncing files to and from cloud in Go. Built the server based on Http/1.1 protocol specification
  • Implemented a distributed key-value store service with gossip-based replication modelled after Amazon DynamoDB that stores filed across multiple Dynamo Nodes that connect with clients and other Nodes via RPC calls
  • Adopted replicated state machine, vector clocks and quorum-typed read write for distributed design.
  • Unit-tested the project to over 85% coverage. Developed command-line interface for the service for ease of use. Deployed the server to AWS Elastic Computing services.