online — new york, nygithub.com/ywentao2--:--:--

~/austin-yang

Austin Yang

Systems programmer working close to the kernel — runtimes, allocators, debuggers, build systems. CS @ Columbia.

$ cat Austin_Yang_Resume.pdf

Resume

[INFO] one page · updated jul 2026
...
ready to view
download ↓
$ ps aux --experience

Experience

4471running
Software Developer Intern — Omen Trade
Built Grafana dashboards monitoring Kubernetes cluster health and AI agent workloads at ~5,000 req/s for a fintech trading startup. Designed a full-stack creator analytics platform (Next.js, React, Neon Postgres) integrating platform APIs to track real-time view metrics and detect sponsored content via caption/bio parsing across 50+ creators, accumulating 1M+ views.
$ cat projects/*.log

Selected work

doudizhu-engine

C++20MCTSgame theory
$ ./mcts_bot --games 10000
[INFO] UCT constant: sqrt(2)
[INFO] rollout policy: random
[RESULT] landlord winrate: 47.2%
[RESULT] avg time/move: 138ms
[INFO] simulation complete, 10000/10000 games

A from-scratch rules engine for 斗地主 (Dou Dizhu) paired with a Monte Carlo tree search decision engine including UCT selection, expansion, rollout, and backpropagation — tuned across thousands of self-play games.

Linux container runtime

Cnamespacescgroups v2
$ ./runtime run --rootless alpine
[INFO] clone(CLONE_NEWPID|NEWNS|NEWUTS|NEWNET)
[INFO] pivot_root -> /var/lib/runtime/rootfs
[INFO] cgroups v2: memory.max=256M pids.max=64
[RESULT] seccomp loaded, caps dropped, pid 1 started

A rootless Linux container runtime in C using clone() with multiple namespaces, cgroups v2 for resource limits, pivot_root() for filesystem isolation, and libcap/seccomp for capability dropping and syscall filtering without root access.

Dynamic memory allocator

Cmallocsystems
$ ./mdriver -t traces/realloc-bal.rep
[INFO] free list: explicit, first-fit
[INFO] coalescing: boundary tags, all 4 cases
[RESULT] utilization: 92.3%
[RESULT] throughput: 4.1M ops/sec

A 64-bit dynamic memory allocator built from scratch in C using explicit doubly-linked free list, first-fit placement, boundary-tag coalescing, block splitting, and page-aligned heap extension via a custom mmap-backed sbrk model. Block metadata packed into 64-bit bitfield headers with matching footer tags.

Linux debugger

CptraceELF
$ ./dbg ./target
[INFO] breakpoint set @ 0x401136 (main)
[INFO] 0xcc injected, original byte saved
[RESULT] SIGTRAP caught, RIP rolled back
[INFO] backtrace: main <- __libc_start_main

A Linux debugger in C built on ptrace() with single-step execution, software breakpoints with INT3 injection, saved-byte restoration and RIP rollback, and byte-level memory access. Parses ELF section headers to resolve symtab/strtab and walk saved RIP chains into a full stack backtrace.

C++ build system

C++DAGMakefile
$ mymake
[INFO] parsing Makefile, resolving DAG...
g++ -c main.cpp -o build/main.o
g++ -c parser.cpp -o build/parser.o
g++ build/main.o build/parser.o -o build/app
[RESULT] build succeeded, 2 targets rebuilt, 3 cached

A build system clone with regex-based Makefile parsing, DAG dependency resolution with cycle detection, stat()-driven staleness checks, and a custom binary serialization library used to cache parsed rules across runs.

$ cloc --vcs=git .

Stack

TypeScript██████░░░░░░░░░░░░░░░░░░25%
C██████░░░░░░░░░░░░░░░░░░25%
C++█████░░░░░░░░░░░░░░░░░░░22%
Python██░░░░░░░░░░░░░░░░░░░░░░8%
JavaScript█░░░░░░░░░░░░░░░░░░░░░░░6%
HTML█░░░░░░░░░░░░░░░░░░░░░░░5%

live from github.com/ywentao2 · aggregated by bytes of code, refreshed hourly

$ cat achievements.txt

Achievements

2025"Most Popular", WatrFall — Top 1 of 100+ (Columbia DevFest 2025)
2024"Best Use of Auth0", NeuroTalent — Top 1 of 60+ (Columbia DivHacks 2024)