Lesson 1: Architecture Refresher
Rebuild the computer from electrons to main(). Transistors, gates, CPU pipeline, cache, virtual memory, interrupts, and memory ordering.
Personal notes on Computer Science, Machine Learning, and related topics.
Live Last read · last published · next check
Rebuild the computer from electrons to main(). Transistors, gates, CPU pipeline, cache, virtual memory, interrupts, and memory ordering.
Implement a working shell from scratch. fork, exec, file descriptors, pipes, signals, process groups, and job control.
Master the kernel construct at the heart of every terminal emulator. PTY pairs, termios, line discipline, job control, and window size.
Go from 'I know what malloc is' to designing memory allocators. Page tables, malloc internals, slab allocation, NUMA, and the vLLM KV-cache bridge.
Build the communication primitives Ghostty uses. pthreads, atomics, memory ordering, SPSC queues, thread pools, and false sharing.
VT100 state machine, CSI/OSC/DCS parsing, SGR attributes, kitty keyboard protocol, and building a VT parser from scratch.
GPU architecture, shaders, texture atlases, FreeType font rasterization, HarfBuzz text shaping, and rendering Hello, 世界! with textured quads.
Wire everything together into toyterm — a working terminal emulator. Then read Ghostty source, build it, and ship a PR.
Rebuild the computer from electrons to a GPU-accelerated terminal emulator — then contribute to Ghostty with genuine understanding.
Every platform runs the same control flow. Learn to read the source code.
Leads don't come from CTAs. They come from conversations that made someone think 'this person knows something I need.'
Good code is clear, maintainable, and does one thing well. Good writing is the same thing. Stop writing like a documentation page.
Writing is the product. Distribution is the CI/CD pipeline. You don't deploy code once and expect it to run forever.
How to never run out of things to write about, and the actual plan for your first 30 days.
How to know if any of this is actually working — without becoming a spreadsheet person.
The strategy that turns your actual engineering work into marketing — without feeling like a LinkedIn influencer.
How platforms actually work, how to write things people read, and how to get your ideas in front of humans who care — all explained by someone who thinks like an engineer.
The Emotional Addiction Nobody Talks About Trauma Is in Your Body, Not Your Head 50% of Your Past Isn't Even True The Change Mechanics: How the Body Fights Back Heart-Brain Coherence: The Biological Reset Button Brain Waves: From Beta Hell to Gamma Transcendence The Quantum Model (หรือ "ทำไมแค่คิดก็
The Two Modes: Focused and Diffuse How Neurons Actually Learn (the Space Alien Metaphor) Retrieval Practice: The King of Study Techniques Spaced Repetition: Let the Mortar Dry Sleep: Your Brain's Consolidation Engine Exercise = Brain Fertilizer The Pomodoro Technique (Real Version, Not the Academic
The one Go feature that changes how you design software
Context Insight Consequences 0001: Learning Path Foundation Date: 2026-06-14 Status: Accepted Context Establishing the optimal learning sequence for a Go beginner+ aiming to contribute to cloud-native open source projects. The learner knows Go syntax basics but needs depth in idiomatic patterns. Tar
Context Insight Consequences 0002: Error Handling Builds on Interfaces Date: 2026-06-14 Status: Accepted Context The learner has completed Lesson 0001 (Go interfaces — implicit satisfaction). The next step is error handling, which is a direct application of interfaces: Go's error type is just a sing
Errors aren't exceptions. They're values that implement an interface.
How Go drives serialization with struct field metadata
Context Insight Consequences 0003: Struct Tags Are Reflection-Driven Metadata Date: 2026-06-14 Status: Accepted Context Learner has completed interfaces (0001) and error handling (0002). The next skill needed for cloud-native contribution is understanding how Go drives serialization, validation, and
No frameworks. Just the testing package, tables, and interfaces.
Context Insight Consequences 0004: Testing Depends on Interfaces Date: 2026-06-14 Status: Accepted Context Learner has completed interfaces (0001), error handling (0002), and struct tags (0003). The next essential skill for cloud-native contribution is writing tests — table-driven tests, subtests, a
Context Insight Consequences 0005: Concurrency Is Go's Superpower Date: 2026-06-14 Status: Accepted Context Learner now has interfaces, error handling, struct tags/JSON, and testing. The next frontier is concurrency — the feature that makes Go the language of choice for cloud-native infrastructure.
Share memory by communicating, not communicate by sharing memory
Insight Consequences 0006: Sometimes You Need Locks — sync, atomic the Race Detector Date: 2026-06-14 Status: Accepted Insight Channels are the Go way, but they're not always the right tool. When you have a simple shared counter, a sync.Mutex is clearer than a channel. When you need to wait for N go