Skip to content
View canplane's full-sized avatar

Block or report canplane

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
canplane/README.md

Interests

  • Computer systems and architecture
  • Memory, locality, and accelerators
  • Representation and abstraction design
  • Tools and systems that reduce complexity
  • Graphics and spatial computing
  • Interface and visual design, especially in earlier projects

Selected projects

pixelet · 2025–2026

▶ Play

A location-based spatial world built over real-world geodata (OpenStreetMap + Copernicus GLO-30 elevation).

The work includes custom spatial coordinates and hierarchy, compact typed-array transport, terrain representation and streaming, a sparse-octree object layer for placed voxels, voxel rendering, and LOD.

This is also where I'm leaning on AI-assisted implementation the most, while still designing the core system architecture and representations myself.

Voxel objects built on real-world terrain

An undergraduate research project extending SCALE-Sim with PREMA (HPCA 2020), a preemption-aware multi-task scheduling algorithm for neural accelerators.

The implementation adds task scheduling, runtime prediction, checkpoint/resume, and mid-layer preemption to the simulator.

A task preempted mid-run in the console output

CALAB-loader (private) · 2021

A from-scratch, user-level ELF64 loader, demand pager, and cooperative thread runtime for x86-64 Linux.

Written as a programming test for admission to a KAIST research lab, with no starter implementation. It builds process startup state manually, implements SIGSEGV-driven demand paging and cooperative user-level scheduling, and transfers control directly into loaded binaries.

Three cooperative threads round-robining via yield()

Take-0 · 2015, 2022

▶ Gameplay video

A keyboard rhythm game inspired by DJMAX, originally written in Flash and later revived and ported from ActionScript 2 to ActionScript 3.

Along with the game itself, it includes a note editor and configuration tooling.

Gameplay with a combo and fever multiplier active

PIVOT · 2010–2014

▶ Play

My first long-running software project, started in middle school.

A widget-based desktop launcher built with Flash/ActionScript 2 — widgets snap to a grid across multiple pages, each with its own settings, inside a shared launcher UI.

It began as a quicker way to search the web and gradually grew into a small personal software environment.

Widget launcher with notes, clock, and bookmarks

Pinned Loading

  1. pixelet pixelet Public

    A location-based spatial world built over real-world geodata

    TypeScript

  2. SCALE-Sim-PREMA SCALE-Sim-PREMA Public

    Multi-task, preemption-aware NPU scheduling (PREMA, HPCA 2020) implemented on SCALE-Sim v1 — undergraduate research, Fall 2021

    Python

  3. snippets snippets Public

    A collection of my miscellaneous code

    Jupyter Notebook