Projects

A collection of projects that I have made over the years. I'm always doing a project so this list is not comprehensive, only focusing on the recent highlights.

Why Tailscale Breaks Proxmox Clusters (And How to Fix It)

Tried to make my Proxmox cluster's Tailscale routing redundant by installing it on every host. Instead, the nodes disappeared from their own network and started routing local traffic through the VPN. Turns out the fix is just one line of policy routing.

Read More

Water Cooling the Unmatched

I wanted to do something nobody else has done. It was also a plus to get rid of that tiny whiny fan that comes on the Unmatched.

Distributed File System

Written in Java and using the Netty Async I/O framework. This Distributed File System is highly performant, scalable, redundant and available.

Command Line Shell

Written in C, it is a UNIX shell with many functions and a small and maintainable codebase.

Featuring:
- Command History
- Pipes & Redirections
- Background Jobs
- Scripting support

Bitcoin TX Analysis

Created in Apache Spark, I utilized Bitcoin Public Ledger to track Bitcoins even when it has been through many owners. Helping to demystify the transaction history and deanonymize their holders.

- 750GB+ Dataset
- Hadoop HDFS backend

Containers in MIT XV6 OS

Written in C and RISC-V ASM, I extended the XV6 OS to support some more advanced features.

Featuring:
- Customized context switching with container aware scheduler.
- Full process and disk isolation for containers
- StackTrace system calls
- Process suspension to disk with full state of running process preserved.

ESP32 Garage Opener

Starting from a frustration of locking myself out of my apartment a few time, but always having my phone on me. I decided to make a web controlled garage door opener. It works with a disassembled garage remote, a relay with wires bridging the button on the remote to simulate a button press and a ESP32 with a webserver to control the relay.

This site was proudly made with: