ghostty
8 notes
Lesson 2: Processes & Kernel Interface
Implement a working shell from scratch. fork, exec, file descriptors, pipes, signals, process groups, and job control.
Lesson 3: PTY & Terminal Driver
Master the kernel construct at the heart of every terminal emulator. PTY pairs, termios, line discipline, job control, and window size.
Lesson 4: Memory Management Deep Dive
Go from 'I know what malloc is' to designing memory allocators. Page tables, malloc internals, slab allocation, NUMA, and the vLLM KV-cache bridge.
Lesson 5: Threads & Lock-Free Concurrency
Build the communication primitives Ghostty uses. pthreads, atomics, memory ordering, SPSC queues, thread pools, and false sharing.
Lesson 6: Terminal Protocol
VT100 state machine, CSI/OSC/DCS parsing, SGR attributes, kitty keyboard protocol, and building a VT parser from scratch.
Lesson 7: GPU & Rendering Pipeline
GPU architecture, shaders, texture atlases, FreeType font rasterization, HarfBuzz text shaping, and rendering Hello, 世界! with textured quads.
Lesson 8: Integration & Ghostty Contribution
Wire everything together into toyterm — a working terminal emulator. Then read Ghostty source, build it, and ship a PR.
From Logic Gates to Production Terminal Emulators
Rebuild the computer from electrons to a GPU-accelerated terminal emulator — then contribute to Ghostty with genuine understanding.