Full Project List

Personal Projects

kalorona-kernel (2023 - present) Toy kernel targeting RISC-V multi-core platform, with object cache, page allocation and driver interface [code]

City View - a virtual reality demo (2016) Created a detailed virtual cityscape using SketchUp, Unity3D, and the SteamVR SDK running on HTC Vive; significantly elevated rendering performance from 25 FPS to 90 FPS by leveraging normal mapping textures and level-of-detail techniques to reduce DrawCalls; presented in city expo [photo at expo]

Course Projects

Code is not posted to follow academic integrity policy.

Raytracing-based renderer Implemented a mesh renderer with Blinn-Phong illumination model, supported light attenuation, UV mapping, reflection and transparency with C++ [screenshot]

User-thread library Achieved user thread scheduling and management through POSIX uthread context library, implemented Round-Robain and Static Priority scheduling policies

MIPS processor Impletmented data forwarding, hazard control and cache replacement policy for MIPS processors in Verilog

ResNet trained by ImageNet dataset Used NVIDIA DALI to load training data efficiently and PyTorch for training ResNet

Childhood Projects (just for fun)

2D Minecraft-like game (2015) I used C# GDI APIs to draw frames of 2D Minecraf-like world. [screenshot]

MorningBreeze - an "OS" that lives in userspace (sometime between 2013-2015) I used System.Reflection APIs to load dll files dynamically and pass MorningBreeze APIs to the "app" (it's more like a plugin, actually). I also did a lot of research on the concept of AppDomain (a process) and data serialization to pass data crossing the boundaries between AppDomains in .NET.