# karnstack

> karnstack is a small catalog of deep technical courses for working engineers who want to thrive as AI reshapes software. The site has three surfaces: a catalog of paid courses, Guides (long reads on why to learn Go, which software papers to read, and how to learn each properly), and Stacktrace (a writing series that reads real codebases like nginx, Postgres, SQLite, Go runtime, and AI agent orchestrators to surface the clever hacks and design decisions inside). Rollback, a daily hand-curated catchup of the engineering internet, ran from April to September 2026 and is kept as an archive.

Karn runs karnstack. The primary sections are:

- **Courses**: a growing catalog of first-principles technical courses, each sold on its own. Live today: *Go Foundations* (the flagship, 33 lessons), *Distributed Systems in a Day*, *Papers Every Engineer Should Know*, and *Data Structures & Algorithms - Foundations* (free). The full list with status is under Courses below.
- **Guides**: long-form articles, one per question engineers ask before picking a course. Each ends in a course.
- **Stacktrace**: a weekly-ish writing series, originally published on LinkedIn and now hosted natively. Each post reads the source code of a well-known system and explains one genuinely interesting decision or hack inside it.
- **Rollback** (archived): 7 to 10 hand-curated links per day from the engineering internet, April to September 2026. Free, no signup. Each card links out to the original source.
- **Open source**: resumex, kino, reins, and flue. All MIT, all under github.com/karnstack.

## Courses

- [go foundations](https://karnstack.com/dashboard/courses/go-foundations): the most complete go foundations course out there. 33 lessons and ~14 hours, from hello world to a tested, concurrent http service on go 1.27. you build feedstack, a real feed aggregator, one lesson at a time, and the course is updated with every go release. Paid, sold on its own. Free lessons: "why go, why now: a 2007 language built for the ai era", "the toolchain tour: installing go with mise, run, build, fmt, vet", "your first program: compile it, run it, see what happened", "fan-out and fan-in: fetch every source at once". Status: live.
- [distributed systems in a day](https://karnstack.com/dashboard/courses/distributed-systems): AI writes code. you architect systems. 24 lessons across 6 modules, first principles, no hand-waving. Paid, sold on its own. Free lessons: "why distributed? the single machine ceiling", "clocks are broken: physical, logical, and vector". Status: live.
- [papers every engineer should know](https://karnstack.com/dashboard/courses/software-papers): 15 classic and modern papers that shaped how we build software, walked through one at a time. close-read, no summaries. 15 papers, 5 hours. Paid, sold on its own. Free lessons: "No Silver Bullet: Essence and Accident in Software Engineering", "Reflections on Trusting Trust". Status: live.
- [data structures & algorithms - foundations](https://karnstack.com/dashboard/courses/dsa-foundations): the 80% every engineer needs, from first principles. complexity, the memory hierarchy, the core structures, and the algorithms built on each. part 1 of 3. 17 lessons, 4h 34m. Free for everyone. Status: live.
- [data structures & algorithms (patterns)](https://karnstack.com/dashboard/courses/dsa-patterns): the structures that run production and the patterns that close interviews. balanced trees, b-trees, graphs, and dynamic programming. part 2 of 3. 19 lessons, ~4 hours. Paid, sold on its own. Status: in planning.
- [data structures & algorithms (legend)](https://karnstack.com/dashboard/courses/dsa-legend): contest-grade algorithms, mapped onto cp-algorithms. segment trees, suffix automata, max flow, fft, and the dp optimizations that win icpc and codeforces. part 3 of 3. 28 lessons, ~6 hours. Paid, sold on its own. Status: in planning.
- [claude code](https://karnstack.com/dashboard/courses/claude-code): from your first session to shipping a real api. the daily claude code workflow, from first principles. 16 lessons, ~4 hours. Paid, sold on its own. Status: in planning.
- [claude code pro](https://karnstack.com/dashboard/courses/claude-code-pro): extend, automate, and build on the engine. skills, guardrails, mcp, subagents, and the sdk. 13 lessons, ~3.75 hours. Paid, sold on its own. Status: in planning.
- [ai-native system design (foundations)](https://karnstack.com/dashboard/courses/ai-foundations): design perplexity on a whiteboard. inference internals, retrieval, evals, reliability, and cost engineering. first principles, paper-backed. 26 lessons, ~14 hours. Paid, sold on its own. Status: in planning.
- [building production agents](https://karnstack.com/dashboard/courses/production-agents): design cursor on a whiteboard. agent loops, tool use, durable runtimes, sandboxing, and agent-specific evals. 13 lessons, ~7 hours. Paid, sold on its own. Status: in planning.
- [ai engineer pro](https://karnstack.com/dashboard/courses/ai-engineer-pro): specialist ai systems where the agent layer alone isn't enough. voice agents, multimodal, long-context vs rag, computer use, and on-device inference. 5 lessons, ~3 hours. Paid, sold on its own. Status: in planning.

## Open source

- [Resumex](https://karnstack.com/dashboard/resumex): an AI-first resume builder, fully local. 100+ ready-made templates spanning academic, brutalist, dossier, banker, magazine, terminal, architect, and editorial aesthetics. The editor is Claude Code: you talk in natural language and it edits the underlying TSX components. Every resume is a folder of files on your laptop, so the filesystem is the source of truth. PDF export is Cmd+P → Save as PDF, no headless browser, no PDF library. MIT licensed. Source on GitHub: https://github.com/karnstack/resumex.
- [kino](https://karnstack.com/dashboard/kino): a themeable React video player with a pluggable-provider architecture. Translucent glass chrome, keyboard-first controls, capability-gated buttons, one accentColor prop. Mux is the first provider. On npm as @karnstack/kino. MIT licensed. Source on GitHub: https://github.com/karnstack/kino.
- [reins](https://karnstack.com/dashboard/reins): let coding agents drive your real, logged-in browser. A CLI plus a Manifest V3 extension for Chrome, Brave, Edge, Arc, Dia; no MCP server, no debug profile. Per-site deny/read/full permissions enforced in the extension, raw CDP escape hatch. On npm as @karnstack/reins. MIT licensed. Source on GitHub: https://github.com/karnstack/reins.
- [flue](https://karnstack.com/dashboard/flue): your Claude Code sessions and terminals, in one place. A daemon that keeps terminal sessions alive (Claude Code, Codex, Pi, builds, SSH) and a web app that lists every one of them across your machines: name, tag, pin, search, open from any screen including phone and tablet. Sessions outlive the tab and the daemon. Agent history with tokens and cost per day. One static Go binary, self-hosted; optional remote access via a relay Worker in your own Cloudflare account, end-to-end encrypted with Noise IK. No account, no hosted service. MIT licensed. Site: https://flue.sh. Source on GitHub: https://github.com/karnstack/flue.

## Guides

- [Why Learn Go in 2026: The Honest Case for the AI Era](https://karnstack.com/dashboard/guides/why-learn-go-in-the-ai-era): Is Go worth learning in 2026? What Go is for, what it deliberately leaves out, where it runs the industry, and why a language built for reviewers is the right language when a model writes the first draft.
- [Claude Code for Working Engineers: What the Tutorials Skip](https://karnstack.com/dashboard/guides/claude-code-for-working-engineers): A Claude Code tutorial for developers who already ship software. The agent loop, plan mode, CLAUDE.md, permissions, and the habits that separate a productive session from an expensive one.
- [Distributed Systems Is the System Design Course, Taught Properly](https://karnstack.com/dashboard/guides/distributed-systems-is-the-system-design-course): Every system design interview question is a distributed systems question in disguise. What the interview actually tests, why most system design courses skip it, and a lesson-by-lesson map from first principles to the whiteboard.
- [Why Engineers Should Read Software Papers, and the Ten to Start With](https://karnstack.com/dashboard/guides/why-read-software-papers): The computer science papers worth reading as a working engineer, why they matter more now that a model can write the code, and how to read one in an hour without a PhD.

## Stacktrace

- [Taste Is Just Context Your Agent Never Had](https://karnstack.com/dashboard/stacktrace/taste-is-just-context-your-agent-never-had): ui.sh is Adam Wathan's toolkit for giving your coding agent design taste. I built karnstack's interface with it. Here is what it actually changed, where it is still rough, and whether it is worth $120.
- [The 10ms Tick Under Pingora](https://karnstack.com/dashboard/stacktrace/the-10ms-tick-under-pingora): Cloudflare's nginx replacement burns through millions of timeouts a second, most of which never fire. Their fix: round every deadline to the next 10ms, share one timer across everyone waiting for that slot, and let a single background thread sweep the whole thing. Result: timeouts that cost 4 nanoseconds instead of 107.
- [TigerBeetle Would Rather Crash Than Guess](https://karnstack.com/dashboard/stacktrace/tigerbeetle-would-rather-crash-than-guess): Two asserts buried in a financial database. One panics if your hardware lies about time. The other panics if you allocate memory after startup. Together, they're the whole philosophy.
- [How OpenClaw Builds an AI Brain That Remembers, Sees, and Fails Over](https://karnstack.com/dashboard/stacktrace/how-openclaw-builds-an-ai-brain-that-remembers-sees-and-fails-over): Most AI agents break the moment an API goes down. OpenClaw doesn't. A week inside its codebase to understand the retry loops, permission pipelines, hybrid memory, and model failover that keep it running.
- [The Propulsion Principle: How Gas Town Makes AI Agents Stop Being Polite](https://karnstack.com/dashboard/stacktrace/the-propulsion-principle-how-gas-town-makes-ai-agents-stop-being-polite): Steve Yegge built an orchestrator for running 20-30 AI coding agents at once. 157k lines of Go, 100% written by Claude. The hack that keeps it running: literally type into the agent's terminal.
- [How Postgres Prevents Both Deadlock AND Livelock in Upserts](https://karnstack.com/dashboard/stacktrace/how-postgres-prevents-deadlock-and-livelock-in-upserts): A one-line rule buried in PostgreSQL's INSERT ... ON CONFLICT code prevents two of the nastiest concurrency bugs at once: the transaction with the higher XID backs out.
- [How nginx Tells Time Without Asking](https://karnstack.com/dashboard/stacktrace/how-nginx-tells-time-without-asking): A lock-free time cache lets millions of nginx requests read the current time without waiting for each other. 64 pre-allocated slots, a memory barrier, and a bet that your thread won't sleep for a full minute.
- [The Hidden Message in SQLite's Random Number Generator](https://karnstack.com/dashboard/stacktrace/the-hidden-message-in-sqlites-random-number-generator): Four magic numbers in SQLite's source code spell out a secret phrase. It's not an easter egg - it's cryptography's way of saying "trust me, there's no backdoor."
- [The Bool That Holds Go's Ecosystem Hostage](https://karnstack.com/dashboard/stacktrace/the-bool-that-holds-gos-ecosystem-hostage): A single boolean in Go's source code, if flipped from false to true, would instantly break thousands of packages. The Go team put it there on purpose.

## Rollback

- [2026-09-08](https://karnstack.com/dashboard/rollback/2026-09-08): 10 items. Sample: workerd v1.20260908.1 flattens its jsg struct field wrappers; llama.cpp b10858 fuses gelu and silu into the vulkan mul kernel; llama.cpp b10864 stops evicting server checkpoints too early
- [2026-09-06](https://karnstack.com/dashboard/rollback/2026-09-06): 10 items. Sample: workerd v1.20260906.1 is a version bump and nothing else; llama.cpp b10822 embeds the webui assets straight from cmake; llama.cpp b10823 adds --log-jsonl for structured logs
- [2026-09-05](https://karnstack.com/dashboard/rollback/2026-09-05): 10 items. Sample: workerd v1.20260905.1 exposes configured container images to durable objects; bun 1.4.2 pulls in two javascriptcore memory-safety fixes; coolify's oauth callback trusts the email address and nothing else
- [2026-09-04](https://karnstack.com/dashboard/rollback/2026-09-04): 10 items. Sample: bun 1.4.1 serves http/2 and http/1.1 on the same port; workerd v1.20260904.1 adds experimental subscribe support for workflows; traefik digestauth hands unknown usernames an empty secret
- [2026-09-03](https://karnstack.com/dashboard/rollback/2026-09-03): 10 items. Sample: workerd v1.20260903.1 calls the authorizer in default column expressions; misp ldap and linotp logins accept an empty password; taipy serves socket.io with wildcard cors and credentials enabled
- [2026-09-01](https://karnstack.com/dashboard/rollback/2026-09-01): 9 items. Sample: pnpm 12.2 lets catalogs resolve workspace dependencies; pnpm 12.2.1 restores the binary that broke self-upgrade; valkey 9.1.2 fixes an unauthenticated use-after-free in lua
- [2026-08-30](https://karnstack.com/dashboard/rollback/2026-08-30): 9 items. Sample: siyuan 3.8.1 patches a critical stored xss in confirmdialog; siyuan windows installer invokes taskkill by name and gets hijacked; nextchat leaks its openai key to any url containing api.openai.com
- [2026-08-28](https://karnstack.com/dashboard/rollback/2026-08-28): 9 items. Sample: workerd v1.20260828.1 lands a memory cache v2 written in safe rust; sveltekit ships six advisories for experimental remote functions; budibase 3.41.3 patches a critical rce in plugin handling
- [2026-08-21](https://karnstack.com/dashboard/rollback/2026-08-21): 8 items. Sample: workerd v1.20260821.1 preserves in-flight websocket auto-responses; next.js 16.3.2 backports turbopack wasm and catch-all routing fixes; rspack v2.2.0-rc.0 moves module code generation onto the new cache
- [2026-08-18](https://karnstack.com/dashboard/rollback/2026-08-18): 9 items. Sample: grafana 13.2.0 ships and patches cve-2026-17183 across five branches; workerd v1.20260818.1 fixes two gc strong-root leaks in the workers runtime; llama.cpp cuts v0.1.2 while semantic versioning is still work in progress
- [2026-08-07](https://karnstack.com/dashboard/rollback/2026-08-07): 9 items. Sample: cloudflare cuts the august 7 workerd build of the workers runtime; llama.cpp b10310 adds aarch64 hwcap fallbacks and gates fp16 on hardware; next.js 16.3.1 canary.7 fixes styled-jsx ssr styles on adapter builds
- [2026-08-06](https://karnstack.com/dashboard/rollback/2026-08-06): 7 items. Sample: cloudflare cuts the august 6 workerd build of the workers runtime; deno 2.9.5 lands an experimental quickjs backend and workspace task flags; llama.cpp b10297 fixes empty responses from the server cors proxy
- [2026-08-05](https://karnstack.com/dashboard/rollback/2026-08-05): 8 items. Sample: cloudflare cuts the august 5 workerd build of the workers runtime; llama.cpp b10285 adds multi-row batching for deepseek-ocr; n8n 2.33.4 hardens the task broker against runner crashes
- [2026-08-04](https://karnstack.com/dashboard/rollback/2026-08-04): 8 items. Sample: cloudflare cuts the august 4 workerd build of the workers runtime; llama.cpp b10262 adds a gated linear attention op to its vulkan backend; home assistant 2026.8.0b5 fixes via_device race conditions across integrations
- [2026-08-03](https://karnstack.com/dashboard/rollback/2026-08-03): 9 items. Sample: cloudflare cuts the august 3 workerd build of the workers runtime; llama.cpp b10241 fixes cuda data-races in block-reduce softmax and norm; next.js 16.3 canary.107 turns on the turbopack build fs cache by default
- [2026-08-02](https://karnstack.com/dashboard/rollback/2026-08-02): 7 items. Sample: llama.cpp b10228 adds deepseek v4 mtp and dspark model support; cloudflare cuts the august 2 workerd build of the workers runtime; cline v4.1.3 fixes session token conflicts and checkpoint restoration
- [2026-08-01](https://karnstack.com/dashboard/rollback/2026-08-01): 6 items. Sample: llama.cpp b10218 adds minicpm-v 4.6 downsampling to its multimodal path; cloudflare cuts the august 1 workerd build of the workers runtime; github copilot cli v1.0.78-2 fixes duplicate extension slash commands
- [2026-07-31](https://karnstack.com/dashboard/rollback/2026-07-31): 7 items. Sample: llama.cpp b10206 locks deepseek v4 k/v cache types and enables flash attention; cloudflare cuts the july 31 workerd build of the workers runtime; n8n 2.33.3 fixes mcp server trigger execution data and audit reporter imports
- [2026-07-30](https://karnstack.com/dashboard/rollback/2026-07-30): 7 items. Sample: llama.cpp b10194 adds a transpose-free gemmv path for cuda; github copilot cli v1.0.76 ships a sessions sidebar and grok-4.5 support; opencode v1.18.10 adds automatic modal model discovery
- [2026-07-29](https://karnstack.com/dashboard/rollback/2026-07-29): 7 items. Sample: node.js v26.5.1 security release fixes 10 cves in http/2, dns and zlib; llama.cpp b10181 disables mmq on gpus with under 48 kib of shared memory; n8n 2.32.6 accepts 5-field cron expressions in the schedule trigger
- [2026-07-28](https://karnstack.com/dashboard/rollback/2026-07-28): 7 items. Sample: llama.cpp b10164 speeds up mamba-2 prefill with chunked ssd matmul; uv 0.11.33 ships smaller binaries and previews tool malware scanning; opencode 1.18.8 fixes mcp server compatibility and oauth flows
- [2026-07-27](https://karnstack.com/dashboard/rollback/2026-07-27): 7 items. Sample: llama.cpp b10152 keeps mtp front layers on the gpu; ollama 0.32.5-rc0 refreshes the mlx inference engine; n8n 2.31.7 stops loading execution data during credentials audit
- [2026-07-25](https://karnstack.com/dashboard/rollback/2026-07-25): 6 items. Sample: vllm 0.26.0 adds deepseek-v4 speedups and flexible attention backends; next.js 16.3 canary.96 tree-shakes require() calls and tunes turbopack; dify 1.16.0 launches dify agent beta on a linux sandbox with skills
- [2026-07-24](https://karnstack.com/dashboard/rollback/2026-07-24): 7 items. Sample: llama.cpp b10105 unifies mlock, mmap and directio into one load-mode flag; n8n 2.32.4 stops ai agent follow-up runs from looping on early failures; pnpm 12 alpha.21 makes github actions dependency checks opt-in
- [2026-07-23](https://karnstack.com/dashboard/rollback/2026-07-23): 6 items. Sample: llama.cpp b10092 builds the powerpc backend on aix; ollama 0.32.3-rc0 finalizes incomplete glm tool calls; n8n 2.32.3 restores agent channel credential setup
- [2026-07-22](https://karnstack.com/dashboard/rollback/2026-07-22): 6 items. Sample: cline ships its first public macos desktop app; uv 0.11.31 rejects dists with mismatched package names; litellm v1.95.0-dev.1 routes anthropic /messages through rust
- [2026-07-21](https://karnstack.com/dashboard/rollback/2026-07-21): 4 items. Sample: n8n 2.32.0 lets the ai agent builder publish first-class agents; github copilot cli 1.0.73 fixes anthropic subagents with extra directories; langchain-core 1.5.0 adds reasoning_effort as a standard chat model param
- [2026-07-20](https://karnstack.com/dashboard/rollback/2026-07-20): 4 items. Sample: llama.cpp b10069 adds opencl broadcast for adreno mul_mat; opencode 1.18.4 adds adaptive thinking controls for kimi models; n8n 2.30.8 fixes ai agents reaching tools through hitl nodes
- [2026-07-18](https://karnstack.com/dashboard/rollback/2026-07-18): 3 items. Sample: llama.cpp b10068 fixes injected k/v cache rotation for dflash; openai codex 0.144.6 corrects gpt-5.6 context window to 272k tokens; pnpm 11.15 resolves optional peer deps from the existing graph
- [2026-07-17](https://karnstack.com/dashboard/rollback/2026-07-17): 5 items. Sample: llama.cpp b10058 adds vulkan q2_0 quantization support; tokio 1.53.0 adds a task schedule latency metric and fs conversions; n8n 2.31.3 signs ses requests with the ses service name

## Optional

- [Stacktrace RSS feed](https://karnstack.com/dashboard/stacktrace/rss.xml): RSS feed for all Stacktrace posts.
- [Sitemap](https://karnstack.com/sitemap.xml): Full XML sitemap of the site.
