Simplified C Compiler
- Implemented a simplified C compiler in C++
- Developed a lexer, parser, syntax analyzer, and code generator to compile C code into assembly
- Developed data structures for efficient symbol table management and abstract syntax tree (AST) traversal
CSell Hong Kong
- Designed and implemented a full-stack college used item selling platform using Django, PostgreSQL, and React
- Implemented RESTful APIs for product listing, user management, cart management, and payment processing
- Integrated Stripe API for secure payment handling
- Employed Elasticsearch for efficient search and filtering of products, reducing search response time by 75%
- Achieved a 42% increase in sales revenue through improved search and user experience
Distributed KV System
Distributed Key-value Storage System
- Developed a scalable fault-tolerant distributed key-value storage system in Golang, based on the design principles of talent-plan/tinykv
- Utilized Raft consensus algorithm and BadgerDB as its underlying storage engine for fault tolerance and data management
Netier: Event-driven Modern C++ TCP Server Framework
- Implemented a high-performance event-driven Linux TCP server in modern C++.
- Adopted the reactor event handling pattern and implement interfaces in dependency injection pattern.
- Encapsulated low level socket interfaces and EPOLL I/O multiplexing into clearly defined classes and managed resources with RAII principles.
Pintos Operating System Development
Team Leader, Operating System Course Project
- Implemented a priority scheduler and an MLFQ scheduler similar to the BSD scheduler.
- Implemented functions in the process subsystem and added support to user programs.
- Added user thread support and exposed pthread-like API to user space.
- Developed an inode-based extent file system with buffer cache support.
End-to-End Encrypted File Sharing System
Computer Security Course Project
- Applied off-the-shelf cryptography primitives to design the client application for a secure file sharing system
- Enforced object-based integrity and confidentiality in an unsecured channel
Parallel N-body Simulation
Distributed and Parallel Computing Course Project
- Implemented parallel n-body simulation on school clusters
- Implemented in C++ using MPI, Pthread, OpenMP, CUDA, and MPI+OMP Hybrid methods
- Performance are monitored and analyzed by profiling to observe the performance boost with different classes of parallelism and system parameters
MIPS Pipe-lined CPU Hardware Design
Computer Architecture Course Project
- Designed and implemented a five-stage-pipeline processor with support of MIPS ISA in Verilog
- Solved control and data hazards by forwarding
- Implemented auxiliary MIPS ISA assembler and simulator in C for test purposes
MIPS Assembler and Simulator
An assembler is implemented according to the MIPS architecture ISA, and a simulator is also developed to simulate the execution of the MIPS machine code.