{"_comment":"Generated by tools/courses/sync_courses.py (make courses-sync). Don't edit by hand.","courses":[{"category":"programming_languages","description":"A practical, category-by-category tour of the most-used C++ standard library classes — containers, strings, smart pointers, algorithms, and more — so you reach for the right one by reflex.","lessons":[{"href":"/courses/cpp-standard-library/lessons/0001-the-standard-library-at-a-glance.html","title":"The Standard Library at a Glance"},{"href":"/courses/cpp-standard-library/lessons/0002-vector-your-default-container.html","title":"std::vector — Your Default Container"},{"href":"/courses/cpp-standard-library/lessons/0003-string-and-string-view.html","title":"std::string \u0026 std::string_view"},{"href":"/courses/cpp-standard-library/lessons/0004-map-and-unordered-map.html","title":"std::map \u0026 std::unordered_map"},{"href":"/courses/cpp-standard-library/lessons/0005-set-and-choosing-a-container.html","title":"Sets \u0026 Choosing a Container"},{"href":"/courses/cpp-standard-library/lessons/0006-container-adaptors-stack-queue-priority-queue.html","title":"Adaptors: stack, queue, priority_queue"},{"href":"/courses/cpp-standard-library/lessons/0007-iterators-and-ranges.html","title":"Iterators \u0026 Ranges"},{"href":"/courses/cpp-standard-library/lessons/0008-algorithms-the-workhorses.html","title":"Algorithms: the Workhorses"},{"href":"/courses/cpp-standard-library/lessons/0009-lambdas-and-std-function.html","title":"Lambdas \u0026 std::function"},{"href":"/courses/cpp-standard-library/lessons/0010-smart-pointers.html","title":"Smart Pointers"},{"href":"/courses/cpp-standard-library/lessons/0011-vocabulary-types-pair-tuple-optional-variant.html","title":"Vocabulary Types"},{"href":"/courses/cpp-standard-library/lessons/0012-io-streams.html","title":"I/O Streams"},{"href":"/courses/cpp-standard-library/lessons/0013-concurrency-essentials.html","title":"Concurrency Essentials"}],"reference":[{"href":"/courses/cpp-standard-library/reference/cpp-stdlib-cheatsheet.html","title":"C++ Standard Library — Cheat Sheet"},{"href":"/courses/cpp-standard-library/reference/cpp-stdlib-glossary.html","title":"C++ Standard Library — Glossary"}],"resources":[{"items":[{"links":[{"title":"cppreference.com — C++ Standard Library","url":"https://en.cppreference.com/w/cpp/standard_library"}],"note":"The canonical reference. Per-class pages list every member, complexity guarantee, and the C++ version that added it. Use for: the authoritative signature/complexity of anything. (Container index: /w/cpp/container; algorithms: /w/cpp/algorithm; memory: /w/cpp/memory.)"},{"links":[{"title":"C++ Core Guidelines — Stroustrup \u0026 Sutter","url":"https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines"}],"note":"The \"what good looks like\" rulebook from the language's creator and the standards committee. Use for: which container/pointer/idiom to prefer and why (e.g. SL.con.2 \"use vector by default\", R.20–R.23 smart pointers, P.1 \"express intent — prefer algorithms\")."},{"links":[{"title":"isocpp.org — Standard C++ Foundation","url":"https://isocpp.org/"}],"note":"Home of the standard, the FAQ, and news on new standard versions. Use for: what's in C++20/23/26 and the official C++ FAQ."},{"links":[{"title":"learncpp.com","url":"https://www.learncpp.com/"}],"note":"Free, deep, well-paced tutorial. Strong chapters on containers, iterators, smart pointers, and move semantics. Use for: a longer narrative explanation when a lesson's compression isn't enough."},{"links":[{"title":"Book: _The C++ Standard Library_ (2nd ed.) — Nicolai Josuttis","url":"http://www.cppstdlib.com/"}],"note":"The definitive tour of the library, component by component. Use for: going deep on a container or algorithm family beyond reference-page depth."},{"links":[{"title":"Book: _A Tour of C++_ (3rd ed.) — Bjarne Stroustrup","url":"https://www.stroustrup.com/tour3.html"}],"note":"Short, high-signal tour of the modern language + library by its creator. Use for: the idiomatic, big-picture framing of why the library is shaped the way it is."},{"links":[{"title":"Compiler Explorer (godbolt.org)","url":"https://godbolt.org/"}],"note":"Run/inspect snippets in the browser across compilers — no local toolchain needed. Use for: actually executing the code in these lessons and seeing the generated assembly. (Lessons are conceptual + copy-paste-ready; this is where you run them.)"}],"section":"Knowledge"},{"items":[{"links":[{"title":"r/cpp","url":"https://www.reddit.com/r/cpp/"},{"title":"r/cpp_questions","url":"https://www.reddit.com/r/cpp_questions/"}],"note":"High-signal, expert-moderated. r/cppquestions is the right place to post \"did I pick the right container/idiom?\" Use for: design-choice critique and idiom checks."},{"links":[{"title":"[Stack Overflow — \\[c++\\] tag](","url":"https://stackoverflow.com/questions/tagged/c%2b%2b"}],"note":") The reference Q\u0026A archive. Use for: searching a precise \"how do I X with std::Y\" before asking."},{"links":[{"title":"#include \u003cC++\u003e Discord / cpplang Slack","url":"https://www.includecpp.org/"}],"note":"Welcoming real-time community of practitioners. Use for: live questions and getting a second opinion on modern-C++ style."}],"section":"Wisdom (Communities)"}],"slug":"cpp-standard-library","tags":["cpp","stl","standard-library","containers","algorithms","smart-pointers"],"title":"C++ Standard Library","updated":"2026-06-19"},{"category":"ai_ml","description":"Run, quantize, serve, and fine-tune LLMs locally on Apple Silicon with Apple's mlx-lm — the CLI and Python surfaces, from first principles, every example verified on an M4 Pro.","lessons":[{"href":"/courses/mlx-lm/lessons/0001-your-mac-runs-an-llm.html","title":"Your Mac Just Ran an LLM"},{"href":"/courses/mlx-lm/lessons/0002-the-python-surface.html","title":"The Python Surface"},{"href":"/courses/mlx-lm/lessons/0003-serve-your-own-local-openai.html","title":"Serve It — Your Own Local OpenAI"},{"href":"/courses/mlx-lm/lessons/0004-fine-tune-with-lora.html","title":"Fine-Tune It — Teach the Model a New Trick (LoRA)"},{"href":"/courses/mlx-lm/lessons/0005-quantize-and-convert.html","title":"Quantize \u0026 Convert — Make a Model Fit"},{"href":"/courses/mlx-lm/lessons/0006-chat-and-the-kv-cache.html","title":"Chat \u0026 the KV Cache"},{"href":"/courses/mlx-lm/lessons/0007-capstone-a-real-local-tool.html","title":"Capstone — Wire It Into a Real Tool"},{"href":"/courses/mlx-lm/lessons/0008-structured-output.html","title":"Structured Output — JSON You Can Trust"},{"href":"/courses/mlx-lm/lessons/0009-model-selection-and-memory-math.html","title":"Model Selection \u0026 Memory Math"},{"href":"/courses/mlx-lm/lessons/0010-tool-calling.html","title":"Tool Calling — Let the Model Use Your Functions"},{"href":"/courses/mlx-lm/lessons/0011-local-embeddings-and-semantic-search.html","title":"Local Embeddings \u0026 Semantic Search"},{"href":"/courses/mlx-lm/lessons/0012-capstone-local-rag.html","title":"Capstone — Ask Your Own Notes (Local RAG)"}],"reference":[{"href":"/courses/mlx-lm/reference/mlx-lm-glossary.html","title":"mlx-lm — Glossary \u0026 Quick Reference"}],"resources":[{"items":[{"links":[{"title":"mlx-lm repo","url":"https://github.com/ml-explore/mlx-lm"},{"title":"README (quick start, CLI list)","url":"https://github.com/ml-explore/mlx-lm/blob/main/README.md"},{"title":"LoRA guide","url":"https://github.com/ml-explore/mlx-lm/blob/main/mlx_lm/LORA.md"},{"title":"Server guide","url":"https://github.com/ml-explore/mlx-lm/blob/main/mlx_lm/SERVER.md"},{"title":"Python examples dir","url":"https://github.com/ml-explore/mlx-lm/tree/main/examples"}],"note":"the source of truth for CLI + Python API."},{"links":[{"title":"mlx-lm on PyPI","url":"https://pypi.org/project/mlx-lm/"}],"note":"version + changelog cursor."},{"links":[{"title":"MLX core repo","url":"https://github.com/ml-explore/mlx"}],"note":"the framework underneath (dip in only when needed)."},{"links":[{"title":"MLX docs","url":"https://ml-explore.github.io/mlx/build/html/index.html"}],"note":"array API, lazy eval, unified memory."},{"links":[{"title":"Apple MLX announcement / docs","url":"https://opensource.apple.com/projects/mlx/"}],"note":"the \"why MLX on Apple Silicon\" framing."}],"section":"Canonical / primary"},{"items":[{"links":[{"title":"mlx-community on Hugging Face","url":"https://huggingface.co/mlx-community"}],"note":"pre-converted/quantized MLX models. Default small models for lessons: mlx-community/Llama-3.2-1B-Instruct-4bit, mlx-community/Qwen2.5-0.5B-Instruct-4bit (fast, \u003c1 GB)."}],"section":"Models"},{"items":[{"links":[{"title":"MLX GitHub Discussions","url":"https://github.com/ml-explore/mlx/discussions"}],"note":"where the maintainers (incl. Awni Hannun) answer."},{"links":[{"title":"r/LocalLLaMA","url":"https://www.reddit.com/r/LocalLLaMA/"}],"note":"active Apple-Silicon local-LLM community, MLX threads frequent."}],"section":"Community (wisdom — test skills with real practitioners)"}],"slug":"mlx-lm","tags":["mlx","mlx-lm","apple-silicon","local-llm","quantization","lora"],"title":"mlx-lm","updated":"2026-09-28"},{"category":"security","description":"A mental model of modern web auth — sessions vs tokens, OAuth2/OIDC, passwordless and passkeys — built concept-first but always landing on how you'd wire it into a real app.","lessons":[{"href":"/courses/auth/lessons/0001-sessions-vs-tokens.html","title":"How an App Remembers You're Logged In"},{"href":"/courses/auth/lessons/0002-cookies-done-right.html","title":"Cookies Done Right (httpOnly, Secure, SameSite, CSRF)"},{"href":"/courses/auth/lessons/0003-jwt-anatomy.html","title":"JWT Anatomy — What's Really in Those Three Chunks"},{"href":"/courses/auth/lessons/0004-passwords-done-right.html","title":"Passwords Done Right — Hash, Never Encrypt"},{"href":"/courses/auth/lessons/0005-oauth2-authorization-code-flow.html","title":"OAuth2 — The Authorization Code Flow (Why All Those Redirects)"},{"href":"/courses/auth/lessons/0006-pkce-and-openid-connect.html","title":"PKCE \u0026 OpenID Connect — \"Sign in with Google\", End to End"},{"href":"/courses/auth/lessons/0007-token-lifecycle.html","title":"Token Lifecycle — Refresh, Rotation, Logout, Revocation"},{"href":"/courses/auth/lessons/0008-passwordless-magic-links-otp.html","title":"Passwordless — Magic Links \u0026 One-Time Codes"},{"href":"/courses/auth/lessons/0009-passkeys-webauthn.html","title":"Passkeys — Phishing-Proof Login with WebAuthn / FIDO2"},{"href":"/courses/auth/lessons/0010-mfa-and-totp.html","title":"MFA \u0026 TOTP — Layering Factors \u0026 Step-Up Auth"},{"href":"/courses/auth/lessons/0011-account-lifecycle.html","title":"Account Lifecycle — Verification, Reset \u0026 Recovery"},{"href":"/courses/auth/lessons/0012-capstone-choosing-and-building.html","title":"Capstone — Choosing Your Auth Stack \u0026 Building It"}],"reference":[],"resources":[{"items":[{"links":[{"title":"OAuth 2.0 — oauth.net","url":"https://oauth.net/2/"},{"title":"OAuth 2.1 draft","url":"https://oauth.net/2.1/"}],"note":"Aaron Parecki's canonical hub. Use for: which grant types are current, what OAuth 2.1 removed (implicit, password grant), PKCE now mandatory."},{"links":[{"title":"RFC 9700 — OAuth 2.0 Security Best Current Practice (Jan 2025)","url":"https://datatracker.ietf.org/doc/html/rfc9700"}],"note":"The authoritative \"do this, not that\" for OAuth in 2025. Use for: redirect-URI rules, PKCE, refresh-token rotation, why implicit flow is dead."},{"links":[{"title":"OWASP Session Management Cheat Sheet","url":"https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html"}],"note":"Use for: cookie flags (httpOnly/Secure/SameSite), session ID handling, fixation, timeout."},{"links":[{"title":"OWASP JWT Cheat Sheet","url":"https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_Cheat_Sheet.html"},{"title":"OWASP CSRF Prevention","url":"https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html"}],"note":"Use for: JWT alg pitfalls, token storage (never localStorage), double-submit / synchronizer CSRF tokens."},{"links":[{"title":"MDN — HTTP cookies","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies"},{"title":"MDN — Authentication","url":"https://developer.mozilla.org/en-US/docs/Web/Security"}],"note":"Use for: how Set-Cookie / Cookie actually behave in the browser; precise, vendor-neutral."},{"links":[{"title":"\"Sign in with Google\", OIDC overview — Google Identity docs","url":"https://developers.google.com/identity/openid-connect/openid-connect"}],"note":"Use for: a concrete, real OIDC provider's authorization-code flow and ID-token shape."},{"links":[{"title":"web.dev — Passkeys / WebAuthn","url":"https://web.dev/articles/passkey-registration"},{"title":"passkeys.dev","url":"https://passkeys.dev/"}],"note":"Use for: registration \u0026 authentication ceremonies, what's stored where, platform vs roaming authenticators."},{"links":[{"title":"FIDO Alliance — Passkeys","url":"https://fidoalliance.org/passkeys/"}],"note":"Use for: the standards stack (FIDO2 = WebAuthn + CTAP), why phishing-resistant."},{"links":[{"title":"jwt.io","url":"https://jwt.io/"}],"note":"Interactive: paste a JWT, see header/payload/signature decode live. Great for the JWT lesson."}],"section":"Knowledge"},{"items":[{"links":[{"title":"r/webdev","url":"https://reddit.com/r/webdev"},{"title":"r/web_dev","url":"https://reddit.com/r/web_dev"}],"note":"Use for: \"is my auth setup sane?\" sanity checks, real-world stack choices."},{"links":[{"title":"Auth0 Community","url":"https://community.auth0.com/"},{"title":"security.stackexchange.com","url":"https://security.stackexchange.com/"}],"note":"Use for: precise protocol questions, threat-model debates with high-rep answers."},{"links":[{"title":"The OAuth mailing list / IETF oauth WG","url":"https://datatracker.ietf.org/wg/oauth/about/"}],"note":"Use for: the source of truth when blog posts disagree."}],"section":"Wisdom (Communities)"},{"items":[{"links":[{"title":"Express — res.cookie() / req.cookies","url":"https://expressjs.com/en/api.html#res.cookie"},{"title":"cookie-parser","url":"https://github.com/expressjs/cookie-parser"}],"note":"Use for: exact option names (httpOnly, secure, sameSite, signed, maxAge) when setting cookies in Express."},{"links":[{"title":"express-session","url":"https://github.com/expressjs/session"}],"note":"The stateful-session middleware. Use for: the session-ID design from Lesson 1 in real code; note MemoryStore is dev-only — use Redis/DB in prod."},{"links":[{"title":"csrf-csrf (npm)","url":"https://www.npmjs.com/package/csrf-csrf"}],"note":"Maintained signed double-submit CSRF lib. Use for: CSRF tokens now that csurf is deprecated/archived (May 2025) — do not use csurf."},{"links":[{"title":"MDN — Set-Cookie / SameSite","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie"},{"title":"`__Host-` prefix","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#cookie_prefixes"}],"note":"Use for: precise browser behavior of each flag and the Host- prefix."}],"section":"Stack reference — Node + Express (locked 2026-06-19)"}],"slug":"auth","tags":["auth","oauth2","jwt","sessions","passkeys","passwordless"],"title":"Web Authentication","updated":"2026-09-28"},{"category":"ai_ml","description":"Designing tight, verifiable agent loops with Claude Code — the verify step, tools, and feedback.","lessons":[{"href":"/courses/agentic-loop-engineering/lessons/0001-the-verify-step.html","title":"The Verify Step (Agentic Loop Engineering)"},{"href":"/courses/agentic-loop-engineering/lessons/0002-designing-a-rubric.html","title":"Designing a Rubric (Agentic Loop Engineering)"},{"href":"/courses/agentic-loop-engineering/lessons/0003-verification-subagent-end-to-end.html","title":"The Verification Subagent, End to End"},{"href":"/courses/agentic-loop-engineering/lessons/0004-the-stop-hook-gate.html","title":"The Stop Hook: a Deterministic Gate"},{"href":"/courses/agentic-loop-engineering/lessons/0005-feature-list-ground-truth.html","title":"The Feature-List Ledger: Ground Truth for Long-Running Work"},{"href":"/courses/agentic-loop-engineering/lessons/0006-calibrating-the-judge.html","title":"Calibrating the Judge"},{"href":"/courses/agentic-loop-engineering/lessons/0007-the-screenshot-loop.html","title":"The Screenshot Loop"},{"href":"/courses/agentic-loop-engineering/lessons/0008-world-state-logs-and-goldens.html","title":"Verify the World, Not the Narration"},{"href":"/courses/agentic-loop-engineering/lessons/0009-composing-the-loop.html","title":"Choosing Gates \u0026 Composing Loops"},{"href":"/courses/agentic-loop-engineering/lessons/0010-capstone-your-loop.html","title":"Capstone: Your Project's Verification Loop"},{"href":"/courses/agentic-loop-engineering/lessons/0011-playwright-e2e-loop.html","title":"Playwright E2E: the Full Worked Example"}],"reference":[{"href":"/courses/agentic-loop-engineering/reference/rubric-anatomy.html","title":"Rubric Anatomy — Agentic Loop Engineering"},{"href":"/courses/agentic-loop-engineering/reference/verifier-taxonomy.html","title":"Verifier Taxonomy — Agentic Loop Engineering"}],"resources":[{"items":[{"links":[{"title":"Building Effective Agents — Anthropic","url":"https://www.anthropic.com/research/building-effective-agents"}],"note":"The canonical definition: an agent is \"LLMs using tools based on environmental feedback in a loop.\" Use for: the loop definition, \"ground truth from the environment,\" the evaluator-optimizer pattern."},{"links":[{"title":"Best practices for Claude Code — Anthropic","url":"https://code.claude.com/docs/en/best-practices"}],"note":"THE most useful source for this mission. Has a \"Give Claude a way to verify its work\" section and the four escalating ways to gate the stop. Use for: every concrete Claude Code verification mechanic."},{"links":[{"title":"Demystifying evals for AI agents — Anthropic","url":"https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents"}],"note":"The clean three-way grader taxonomy (code-based / model-based / human) with trust + latency tradeoffs; transcript vs. outcome. Use for: how far to trust a given verifier."},{"links":[{"title":"Effective harnesses for long-running agents — Anthropic","url":"https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents"}],"note":"Multi-session harness design; stopping agents from \"declaring premature victory\"; JSON feature-list as ground truth. Use for: long-horizon / unattended verification."},{"links":[{"title":"Writing effective tools for AI agents — Anthropic","url":"https://www.anthropic.com/engineering/writing-tools-for-agents"}],"note":"while-loop agentic structure; error messages as actionable feedback. Use for: designing the feedback signals."},{"links":[{"title":"How Claude Code works — Anthropic","url":"https://code.claude.com/docs/en/how-claude-code-works"}],"note":""},{"links":[{"title":"Hooks — Claude Code docs","url":"https://code.claude.com/docs/en/hooks"}],"note":""},{"links":[{"title":"Sub-agents — Claude Code docs","url":"https://code.claude.com/docs/en/sub-agents"}],"note":""},{"links":[{"title":"Designing agentic loops — Simon Willison","url":"https://simonwillison.net/2025/Sep/30/designing-agentic-loops/"}],"note":"\"Runs tools in a loop\"; tests as the agent's own feedback; \"credible path to success\"; sandboxing tradeoffs."},{"links":[{"title":"Agentic Coding Recommendations — Armin Ronacher","url":"https://lucumr.pocoo.org/2025/6/12/agentic-coding/"}],"note":"Fast feedback loops, logging-as-feedback, tools protected against an \"LLM chaos monkey.\" Use for: loop latency."},{"links":[{"title":"Ralph Wiggum as a software engineer — Geoffrey Huntley","url":"https://ghuntley.com/ralph/"},{"title":"loop","url":"https://ghuntley.com/loop/"}],"note":"The \"ralph\" autonomous loop and verification-as-\"backpressure.\" Use for: the autonomous-loop archetype."},{"links":[{"title":"How to Build an Agent — Thorsten Ball","url":"https://ampcode.com/how-to-build-an-agent"}],"note":""},{"links":[{"title":"Your AI Product Needs Evals — Hamel Husain","url":"https://hamel.dev/blog/posts/evals/"}],"note":""},{"links":[{"title":"LLM-as-a-Judge: A Complete Guide — Hamel Husain","url":"https://hamel.dev/blog/posts/llm-judge/"}],"note":"Calibrating a model-based grader (\"Critique Shadowing,\" human-judge agreement). Use for: the LLM-as-judge rung."}],"section":"Knowledge"},{"items":[{"links":[{"title":"r/ClaudeAI","url":"https://www.reddit.com/r/ClaudeAI/"}],"note":""},{"links":[{"title":"r/ClaudeCode","url":"https://www.reddit.com/r/ClaudeCode/"}],"note":""},{"links":[{"title":"Claude Code channels roundup","url":"https://claudefa.st/blog/guide/development/claude-code-channels"}],"note":""}],"section":"Wisdom (Communities)"}],"slug":"agentic-loop-engineering","tags":["agents","claude-code","agentic-loops","llm","tooling"],"title":"Agentic Loop Engineering","updated":"2026-06-19"},{"category":"devops_infra","description":"See inside the running Linux kernel — observability and tracing with eBPF and bpftrace, taught from an app-developer starting point.","lessons":[{"href":"/courses/ebpf/lessons/0001-what-is-ebpf.html","title":"What is eBPF?"},{"href":"/courses/ebpf/lessons/0002-life-of-an-ebpf-program.html","title":"Life of an eBPF Program"},{"href":"/courses/ebpf/lessons/0003-anatomy-of-a-bpftrace-one-liner.html","title":"Anatomy of a bpftrace One-Liner"},{"href":"/courses/ebpf/lessons/0004-probe-types-where-you-can-hook.html","title":"Where You Can Hook: Probe Types"},{"href":"/courses/ebpf/lessons/0005-maps-and-aggregation.html","title":"Maps \u0026 In-Kernel Aggregation"},{"href":"/courses/ebpf/lessons/0006-measuring-latency.html","title":"Measuring Latency \u0026 Timing"},{"href":"/courses/ebpf/lessons/0007-cpu-profiling-and-flame-graphs.html","title":"CPU Profiling \u0026 Flame Graphs"},{"href":"/courses/ebpf/lessons/0008-the-observability-toolkit.html","title":"The eBPF Observability Toolkit"},{"href":"/courses/ebpf/lessons/0009-running-safely-in-production.html","title":"Running It Safely in Production"},{"href":"/courses/ebpf/lessons/0010-capstone-debugging-end-to-end.html","title":"Capstone: Debugging \"Why Is This Slow?\" End-to-End"}],"reference":[{"href":"/courses/ebpf/reference/bpftrace-cheatsheet.html","title":"bpftrace Cheat Sheet"},{"href":"/courses/ebpf/reference/ebpf-glossary.html","title":"eBPF \u0026 bpftrace Glossary"}],"resources":[{"items":[{"links":[{"title":"ebpf.io — What is eBPF? (the official deep-dive intro)","url":"https://ebpf.io/what-is-ebpf/"}],"note":"The canonical mental model: verifier, JIT, maps, hook points, safety/sandboxing. Maintained by the eBPF community under the Linux Foundation. Use for: anything about how eBPF fundamentally works."},{"links":[{"title":"ebpf.io — Get Started (tutorials \u0026 community hub)","url":"https://ebpf.io/get-started/"}],"note":"Curated next-step tutorials and links to every major project. Use for finding the right follow-on tutorial."},{"links":[{"title":"Brendan Gregg — Linux eBPF Tracing Tools","url":"https://www.brendangregg.com/ebpf.html"}],"note":"The observability tool landscape: bpftrace vs BCC vs perf vs libbpf, ranked by difficulty, with \"where to start\" guidance. Use for: choosing a tool."},{"links":[{"title":"Brendan Gregg — Learn eBPF Tracing: Tutorial and Examples","url":"https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html"}],"note":"A guided path through tracing for end users. Use for: a structured walk from zero to running real tools."},{"links":[{"title":"bpftrace — One-Liner Tutorial (12 lessons)","url":"https://bpftrace.org/tutorial-one-liners"}],"note":"One concept per runnable one-liner; originally by Brendan Gregg. Use for hands-on intro to bpftrace syntax (great once a Linux box is available)."},{"links":[{"title":"bpftrace — Reference Guide","url":"https://github.com/bpftrace/bpftrace/blob/master/docs/reference_guide.md"}],"note":"Full probe types, builtins, and functions. Use for: the authoritative bpftrace reference."},{"links":[{"title":"Book — BPF Performance Tools, Brendan Gregg (Addison-Wesley, 2019)","url":"https://www.brendangregg.com/bpf-performance-tools-book.html"}],"note":"The definitive observability cookbook: 150+ tools, performance methodologies. Use for: real debugging recipes by subsystem (CPU, memory, disk, net)."},{"links":[{"title":"Book — Learning eBPF, Liz Rice (O'Reilly, 2023)","url":"https://isovalent.com/books/learning-ebpf/"}],"note":"Programmer-friendly intro to writing eBPF; free PDF from Isovalent. Code at github.com/lizrice/learning-ebpf. Use for: going deeper into how programs are built (beyond current scope)."},{"links":[{"title":"Linux kernel BPF documentation","url":"https://docs.kernel.org/bpf/"}],"note":"Authoritative primary reference. Use for: settling any detail definitively."}],"section":"Knowledge"},{"items":[{"links":[{"title":"eBPF community Slack — invite via ebpf.io","url":"https://ebpf.io/"}],"note":"incl. bpftrace and newcomer help. Use for: asking real questions once Alex is doing hands-on work."},{"links":[{"title":"r/eBPF","url":"https://www.reddit.com/r/eBPF/"}],"note":""},{"links":[{"title":"bpftrace GitHub (issues \u0026 discussions)","url":"https://github.com/bpftrace/bpftrace"}],"note":"tool-specific questions and bug reports."}],"section":"Wisdom (Communities)"}],"slug":"ebpf","tags":["ebpf","observability","tracing","bpftrace","linux-kernel"],"title":"eBPF","updated":"2026-06-19"},{"category":"hardware_systems","description":"Demystify how third parties extend macOS — from legacy kexts to modern user-space System Extensions — and build, install, and watch your own one run on Apple Silicon, all from the CLI.","lessons":[{"href":"/courses/macos-kernel-extensions/lessons/0001-system-extensions-on-your-mac.html","title":"System Extensions on Your Mac"},{"href":"/courses/macos-kernel-extensions/lessons/0002-anatomy-of-a-system-extension.html","title":"Anatomy of a System Extension"},{"href":"/courses/macos-kernel-extensions/lessons/0003-the-swift-code.html","title":"The Swift Code"},{"href":"/courses/macos-kernel-extensions/lessons/0004-build-and-sign-from-the-cli.html","title":"Build \u0026 Sign from the CLI"},{"href":"/courses/macos-kernel-extensions/lessons/0005-cross-the-gate-and-watch-it-filter.html","title":"Cross the Gate \u0026 Watch It Filter"},{"href":"/courses/macos-kernel-extensions/lessons/0006-lifecycle-debugging-teardown.html","title":"Lifecycle, Debugging \u0026 Teardown"},{"href":"/courses/macos-kernel-extensions/lessons/0007-endpoint-security-and-eslogger.html","title":"Endpoint Security \u0026 eslogger"},{"href":"/courses/macos-kernel-extensions/lessons/0008-driverkit-and-the-kext-world.html","title":"DriverKit \u0026 the Kext World"}],"reference":[{"href":"/courses/macos-kernel-extensions/reference/glossary.html","title":"Glossary — macOS Kernel Extensions"}],"resources":[{"items":[{"links":[{"title":"Apple: Deprecated Kernel Extensions and System Extension Alternatives","url":"https://developer.apple.com/support/kernel-extensions"}],"note":"The authoritative kext→modern-framework mapping (KAUTH→EndpointSecurity, Network Filter→NetworkExtension, IOUSBFamily→USBDriverKit, etc.) with deprecation versions. Use for: \"what did this kext become\" and timeline facts."},{"links":[{"title":"Apple: Securely extending the kernel in macOS (Platform Security guide)","url":"https://support.apple.com/guide/security/securely-extending-the-kernel-sec8e454101b/web"}],"note":"How Apple Silicon gates kexts: 1TR recovery, Reduced/Permissive Security, the AuxKC, SIP's role in signature enforcement. Use for: the build/install security steps."},{"links":[{"title":"Apple: System Extensions and DriverKit (developer hub)","url":"https://developer.apple.com/system-extensions"}],"note":"Landing page for the modern user-space replacements. Use for: choosing DriverKit vs NetworkExtension vs EndpointSecurity."},{"links":[{"title":"Apple: kmutil(8) man page","url":"https://keith.github.io/xcode-man-pages/kmutil.8.html"}],"note":"The modern tool that replaced kextload/kextunload/kextstat. Use for: load/showloaded/inspect/create commands."},{"links":[{"title":"The Eclectic Light Co. — \"How macOS is moving away from kernel extensions\" (2024)","url":"https://eclecticlight.co/2024/07/24/how-macos-is-moving-away-from-kernel-extensions/"}],"note":"Clear, current narrative of the deprecation arc by a respected macOS internals writer. Use for: the \"why\" and historical context."},{"links":[{"title":"The Eclectic Light Co. — \"Managing kernel extensions\" (Dec 2024)","url":"https://eclecticlight.co/2024/12/03/managing-kernel-extensions/"}],"note":"Practical management/inspection on modern macOS. Use for: day-to-day CLI inspection."},{"links":[{"title":"Apriorit — Developing Kernel Extensions (Kexts) for macOS","url":"https://www.apriorit.com/dev-blog/430-macos-kext-development"}],"note":"Worked \"hello world\" IOKit kext walkthrough (Xcode + signing + load). Use for: lesson 2 build steps. Verify commands against current macOS — some predate kmutil."},{"links":[{"title":"HackTricks — macOS Kernel Extensions \u0026 Kernelcache","url":"https://hacktricks.wiki/en/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-kernel-extensions.html"}],"note":"Security-researcher's view of kext structure, the kernelcache, and AuxKC. Use for: internals + how the pieces fit. (Security-focused; not an Apple primary source.)"},{"links":[{"title":"Apple: SystemExtensions framework","url":"https://developer.apple.com/documentation/systemextensions"}],"note":"The activation API. OSSystemExtensionRequest / OSSystemExtensionManager, the activation lifecycle, and the rule that the .appex/.dext lives in YourApp.app/Contents/Library/SystemExtensions/. Use for: lesson 2 (scaffold + activation)."},{"links":[{"title":"Apple: NetworkExtension — content filter providers","url":"https://developer.apple.com/documentation/networkextension/filtering-network-traffic"}],"note":"NEFilterDataProvider / NEFilterControlProvider, the new-flow verdict model, required Info.plist NEProviderClasses. Use for: lesson 3 (write the provider). Our build target."},{"links":[{"title":"Apple: Network Extensions entitlement","url":"https://developer.apple.com/documentation/bundleresources/entitlements/com.apple.developer.networking.networkextension"}],"note":"The content-filter-provider-systemextension value and why the -systemextension suffix matters for Developer-ID (non-App-Store) distribution. Use for: entitlements/signing."},{"links":[{"title":"Apple Developer Forums — content filters can be run locally in developer mode","url":"https://developer.apple.com/forums/thread/695550"}],"note":"Confirms a Network Extension can be developed and run via systemextensionsctl developer on without an Apple-approved provisioning profile — the key enabler for \"build \u0026 run on here today.\" Use for: lesson 2/4 verification."},{"links":[{"title":"Apple: Endpoint Security framework","url":"https://developer.apple.com/documentation/endpointsecurity"}],"note":"The C API (esnewclient, essubscribe). Note the restricted com.apple.developer.endpoint-security.client entitlement requires Apple's request form — taught conceptually, not built. Use for: the \"interesting but gated\" family."},{"links":[{"title":"Apple: Requesting entitlements for System Extensions","url":"https://developer.apple.com/system-extensions/"}],"note":"Which families need the Apple request form (DriverKit, EndpointSecurity, redistributing your sysext) vs. which don't (local Network Extension dev). Use for: the entitlement reality check."}],"section":"Knowledge"},{"items":[{"links":[{"title":"Apple Developer Forums — System Extensions \u0026 DriverKit","url":"https://developer.apple.com/forums/tags/driverkit"}],"note":"Apple engineers answer here. Use for: entitlement requests, signing failures, DriverKit gotchas."},{"links":[{"title":"r/MacOSBeta and r/osdev","url":"https://www.reddit.com/r/osdev/"}],"note":"osdev for low-level systems mindset; not Mac-specific. Use for: kernel-programming fundamentals."},{"links":[{"title":"[Stack Overflow — \\[kernel-extension\\] / \\[driverkit\\] tags](","url":"https://stackoverflow.com/questions/tagged/driverkit"}],"note":") Use for: concrete build/sign/load errors with reproducible answers."}],"section":"Wisdom (Communities)"}],"slug":"macos-kernel-extensions","tags":["system extensions","kernel extensions","DriverKit","NetworkExtension","EndpointSecurity","macOS"],"title":"macOS Kernel \u0026 System Extensions","updated":"2026-06-19"},{"category":"devops_infra","description":"Reproducible builds and dev environments with Nix — derivations, the store, and flakes.","lessons":[{"href":"/courses/nix/lessons/0001-what-is-nix.html","title":"What is Nix?"},{"href":"/courses/nix/lessons/0002-nix-basics.html","title":"Language Basics"},{"href":"/courses/nix/lessons/0003-functions.html","title":"Functions \u0026 Composition"},{"href":"/courses/nix/lessons/0004-derivations.html","title":"Understanding Derivations"},{"href":"/courses/nix/lessons/0005-flakes.html","title":"Writing flake.nix"},{"href":"/courses/nix/lessons/0006-sharing.html","title":"Sharing Environments"},{"href":"/courses/nix/lessons/0007-patterns.html","title":"Advanced Patterns"},{"href":"/courses/nix/lessons/0008-capstone.html","title":"Capstone Project"}],"reference":[{"href":"/courses/nix/reference/nix-glossary.html","title":"Nix Glossary"}],"resources":[{"items":[{"links":[{"title":"NixOS Homepage","url":"https://nixos.org/"}],"note":"Overview, installation, and community links"},{"links":[{"title":"Nix Manual","url":"https://nixos.org/manual/nix/stable/"}],"note":"Comprehensive reference for Nix language and tools"},{"links":[{"title":"NixOS Manual","url":"https://nixos.org/manual/nixos/stable/"}],"note":"Complete NixOS system configuration documentation"}],"section":"Official Documentation \u0026 Guides"},{"items":[{"links":[{"title":"Nix Pills","url":"https://nixos.org/guides/nix-pills/"}],"note":"Beginner-friendly introduction series, highly recommended for learning fundamentals"},{"links":[{"title":"\"A tour of Nix\"","url":"https://nixos.org/guides/how-nix-works/"}],"note":"Visual, conceptual introduction to how Nix works"},{"links":[{"title":"Eelco Dolstra's Nix thesis","url":"https://edolstra.github.io/pubs/phd-thesis.pdf"}],"note":"Deep technical foundation (optional, for deeper understanding)"}],"section":"Learning-Focused Guides"},{"items":[{"links":[{"title":"Eelco Dolstra's flakes series (Tweag)","url":"https://www.tweag.io/blog/2020-05-25-flakes/"}],"note":"Understanding Nix flakes (modern approach)"},{"links":[{"title":"Zero to Nix: flakes (Determinate Systems)","url":"https://zero-to-nix.com/concepts/flakes/"}],"note":"Practical flakes tutorial (created by Determinate Systems, Nix experts)"}],"section":"Practical Guides for Development Environments"},{"items":[{"links":[{"title":"GitHub awesome-nix","url":"https://github.com/nix-community/awesome-nix"}],"note":"Curated list of Nix resources, tools, and examples"},{"links":[{"title":"nixpkgs","url":"https://github.com/NixOS/nixpkgs"}],"note":"The main Nix package repository (good for seeing real-world Nix code)"},{"links":[{"title":"Nix User Forum","url":"https://discourse.nixos.org/"}],"note":"Community discussions and Q\u0026A"}],"section":"Community \u0026 Examples"}],"slug":"nix","tags":["nix","reproducible-builds","package-manager","flakes","derivations"],"title":"Nix","updated":"2026-09-28"},{"category":"devops_infra","description":"How Terraform really works: plan, state, modules, and the apply lifecycle.","lessons":[{"href":"/courses/terraform/lessons/0001-what-plan-actually-does.html","title":"What terraform plan actually does"},{"href":"/courses/terraform/lessons/0002-state-drift-and-refresh.html","title":"State, drift \u0026 refresh"},{"href":"/courses/terraform/lessons/0003-remote-state-and-locking.html","title":"Remote state \u0026 locking"},{"href":"/courses/terraform/lessons/0004-modules-the-unit-of-structure.html","title":"Modules: the unit of structure"},{"href":"/courses/terraform/lessons/0005-structuring-real-projects.html","title":"Structuring real projects"},{"href":"/courses/terraform/lessons/0006-the-apply-lifecycle-and-graph.html","title":"The apply lifecycle \u0026 the graph"},{"href":"/courses/terraform/lessons/0007-testing-terraform.html","title":"Testing Terraform"},{"href":"/courses/terraform/lessons/0008-the-modern-workflow.html","title":"The modern workflow (capstone)"}],"reference":[{"href":"/courses/terraform/reference/apply-lifecycle-graph.html","title":"Terraform — The Apply Lifecycle \u0026 the Graph (Reference)"},{"href":"/courses/terraform/reference/glossary.html","title":"Terraform — Glossary (Reference)"},{"href":"/courses/terraform/reference/modern-workflow.html","title":"Terraform — The Modern Workflow (Reference)"},{"href":"/courses/terraform/reference/module-design.html","title":"Terraform — Module Design (Reference)"},{"href":"/courses/terraform/reference/project-structure.html","title":"Terraform — Project Structure (Reference)"},{"href":"/courses/terraform/reference/remote-state-backends.html","title":"Terraform — Remote State \u0026 Backends (Reference)"},{"href":"/courses/terraform/reference/state-operations.html","title":"Terraform — State Operations (Reference)"},{"href":"/courses/terraform/reference/terraform-mental-model.html","title":"Terraform — Core Mental Model \u0026 Lifecycle (Reference)"},{"href":"/courses/terraform/reference/terraform-testing.html","title":"Terraform — Native Testing (Reference)"}],"resources":[{"items":[{"links":[{"title":"Overview of the core Terraform workflow — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/intro/core-workflow"}],"note":"Canonical Write → Plan → Apply description. Use for: the lifecycle backbone."},{"links":[{"title":"`terraform plan` command reference — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/cli/commands/plan"}],"note":"Authoritative behaviour of plan, including refresh and -out. Use for: what plan compares and the change symbols (+ / ~ / - / -/+)."},{"links":[{"title":"Tests — Configuration Language — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/tests"}],"note":"Reference for the native .tftest.hcl test framework (GA in Terraform 1.6, Oct 2023). Use for: run blocks, assert, command = plan vs apply."},{"links":[{"title":"Write Terraform Tests (official tutorial) — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/tutorials/configuration-language/test"}],"note":"Hands-on tutorial for the native test framework. Use for: first testing lesson."},{"links":[{"title":"Standard Module Structure — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/modules/develop/structure"}],"note":"Official file/directory layout for modules. Use for: how to lay out a reusable module."},{"links":[{"title":"Structuring HashiCorp Terraform Configuration for Production — HashiCorp blog","url":"https://www.hashicorp.com/en/blog/structuring-hashicorp-terraform-configuration-for-production"}],"note":"HashiCorp's own guidance on production repo structure. Use for: environments, state isolation, the \"why\" behind layout."},{"links":[{"title":"Best practices for code base structure — AWS Prescriptive Guidance","url":"https://docs.aws.amazon.com/prescriptive-guidance/latest/terraform-aws-provider-best-practices/structure.html"}],"note":"AWS's recommended Terraform structure. Use for: AWS-flavoured project layout and naming."},{"links":[{"title":"Running Terraform in automation — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/tutorials/automation/automate-terraform"}],"note":"Plan-as-artifact pattern (plan -out=tfplan → apply tfplan). Use for: how plan/apply split works in real teams."},{"links":[{"title":"Purpose of Terraform State — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/state/purpose"}],"note":"The official \"why state exists\": mapping (tags were tried and failed), dependencies, performance, sync. Use for: first-principles justification of state."},{"links":[{"title":"Manage resource drift (tutorial) — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/tutorials/state/resource-drift"}],"note":"Hands-on drift scenarios. Use for: what plain plan does with drift (config wins)."},{"links":[{"title":"Use refresh-only mode to sync state (tutorial) — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/tutorials/state/refresh"}],"note":"The modern replacement for the deprecated terraform refresh. Use for: accepting drift into state safely."},{"links":[{"title":"Backend Type: s3 — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/backend/s3"}],"note":"Authoritative S3 backend reference. Use for: uselockfile (S3-native locking, TF 1.10+), the DynamoDB deprecation (1.11+), encrypt/versioning settings."},{"links":[{"title":"Backend best practices — AWS Prescriptive Guidance","url":"https://docs.aws.amazon.com/prescriptive-guidance/latest/terraform-aws-provider-best-practices/backend.html"}],"note":"AWS's own backend guidance. Use for: bucket hardening (versioning, encryption, access)."},{"links":[{"title":"Refactoring (moved blocks) — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/modules/develop/refactoring"}],"note":"Address changes without destroy/create. Use for: renames, moving resources into modules."},{"links":[{"title":"CLI workspaces — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/cli/workspaces"}],"note":"When workspaces fit (near-identical envs) and when directories win. Use for: env-separation decisions."},{"links":[{"title":"Dependency graph internals — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/internals/graph"}],"note":"The DAG: edges from references, parallel walk, node splitting on replace. Use for: apply-order questions."},{"links":[{"title":"lifecycle meta-argument — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/meta-arguments/lifecycle"}],"note":"createbeforedestroy, preventdestroy, ignorechanges. Use for: replacement behaviour and guards."},{"links":[{"title":"Provider mocking in tests — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/tests/mocking"}],"note":"mockprovider, overrideresource/overridedata (TF ≥1.7). Use for: credential-free unit tests."},{"links":[{"title":"Import + config generation — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/import/generating-configuration"}],"note":"import blocks + -generate-config-out. Use for: adopting existing infrastructure."},{"links":[{"title":"removed block reference — HashiCorp Developer","url":"https://developer.hashicorp.com/terraform/language/block/removed"}],"note":"Config-driven forget (destroy = false). Use for: retiring resources from management safely."},{"links":[{"title":"Terraform 1.7 announcement — HashiCorp blog","url":"https://www.hashicorp.com/en/blog/terraform-1-7-adds-test-mocking-and-config-driven-remove"}],"note":"Test mocking + removed block context. Use for: feature-version floors."}],"section":"Knowledge"},{"items":[{"links":[{"title":"r/Terraform","url":"https://reddit.com/r/Terraform"}],"note":"Active practitioner subreddit. Use for: design critique, \"is this idiomatic?\", real-world structure debates."},{"links":[{"title":"HashiCorp Discuss — Terraform","url":"https://discuss.hashicorp.com/c/terraform-core/27"}],"note":"Official forum, HashiCorp engineers present. Use for: authoritative answers on core behaviour and state."}],"section":"Wisdom (Communities)"}],"slug":"terraform","tags":["terraform","iac","state","modules","providers"],"title":"Terraform","updated":"2026-06-19"},{"category":"hardware_systems","description":"How V8 turns JavaScript into fast machine code — parsing, the JIT pipeline, and hidden classes.","lessons":[{"href":"/courses/v8-javascript-engine/lessons/0001-watch-v8-compile.html","title":"Watch V8 Compile Your JavaScript"},{"href":"/courses/v8-javascript-engine/lessons/0002-the-architecture-map.html","title":"The Architecture Map"},{"href":"/courses/v8-javascript-engine/lessons/0003-build-v8-from-source.html","title":"Build V8 from Source"},{"href":"/courses/v8-javascript-engine/lessons/0004-hello-world-embedder.html","title":"Hello-World Embedder"},{"href":"/courses/v8-javascript-engine/lessons/0005-handles-and-scopes.html","title":"Handles \u0026 Scopes"},{"href":"/courses/v8-javascript-engine/lessons/0006-expose-a-native-function.html","title":"Expose a Native Function"},{"href":"/courses/v8-javascript-engine/lessons/0007-hidden-classes-and-inline-caches.html","title":"Hidden Classes \u0026 Inline Caches"},{"href":"/courses/v8-javascript-engine/lessons/0008-orinoco-garbage-collection.html","title":"Orinoco Garbage Collection"}],"reference":[{"href":"/courses/v8-javascript-engine/reference/glossary.html","title":"Reference · V8 Glossary"},{"href":"/courses/v8-javascript-engine/reference/node-v8-flags.html","title":"Reference · V8 Inspection Flags (via Node)"}],"resources":[{"items":[{"links":[{"title":"Getting started with embedding V8 (Embedder's Guide)","url":"https://v8.dev/docs/embed"}],"note":"Canonical embedding reference: Hello World, Isolate, Context, Handle/HandleScope, Local vs Persistent, the advanced shell.cc/process.cc guides, security model. Use for: anything about writing a C++ host."},{"links":[{"title":"Checking out the V8 source code","url":"https://v8.dev/docs/source-code"}],"note":"Official depottools + fetch v8 / gclient instructions. Use for: getting a buildable checkout. Do NOT git clone the GitHub mirror to build."},{"links":[{"title":"Building V8 with GN","url":"https://v8.dev/docs/build-gn"}],"note":"GN meta-build + Ninja + the tools/dev/gm.py (gm) helper. Use for: compiling V8 and samples."},{"links":[{"title":"v8/v8 on GitHub (read-only mirror)","url":"https://github.com/v8/v8"}],"note":"Source tree: /samples, /include (public API), /src (internals). Use for: reading source."},{"links":[{"title":"samples/hello-world.cc","url":"https://github.com/v8/v8/blob/main/samples/hello-world.cc"}],"note":"Minimal embedding example — your copy-paste skeleton for the hello-world embedder."},{"links":[{"title":"include/ public API headers","url":"https://github.com/v8/v8/tree/main/include"}],"note":"The embedder API surface. Modern V8 splits monolithic v8.h into granular headers (v8-isolate.h, v8-context.h, v8-local-handle.h, v8-persistent-handle.h, v8-primitive.h, v8-script.h). Headers are heavily doc-commented — authoritative API ref."},{"links":[{"title":"Launching Ignition and TurboFan","url":"https://v8.dev/blog/launching-ignition-and-turbofan"}],"note":"Introduced the modern interpreter + optimizing-compiler pipeline. Use for: the big-picture tier model."},{"links":[{"title":"Firing up the Ignition interpreter","url":"https://v8.dev/blog/ignition-interpreter"}],"note":"The bytecode interpreter — why it exists (footprint, register machine). Use for: the bytecode stage."},{"links":[{"title":"Sparkplug — a non-optimizing compiler","url":"https://v8.dev/blog/sparkplug"}],"note":"Fast baseline compiler: bytecode → machine code, no optimization. Use for: the cheap-fast tier."},{"links":[{"title":"Maglev — V8's Fastest Optimizing JIT","url":"https://v8.dev/blog/maglev"}],"note":"Mid-tier optimizer between Sparkplug and TurboFan. Use for: understanding the 4-tier pipeline."},{"links":[{"title":"Fast properties in V8","url":"https://v8.dev/blog/fast-properties"}],"note":"Object property storage, HiddenClasses/Maps, Descriptor/Transition arrays, fast vs dictionary mode."},{"links":[{"title":"Maps (Hidden Classes) in V8","url":"https://v8.dev/docs/hidden-classes"}],"note":"Canonical design doc on the Map (hidden class) data structure."},{"links":[{"title":"Elements kinds in V8","url":"https://v8.dev/blog/elements-kinds"}],"note":"Array storage specialization (packed/holey, SMI/double/object). Use for: array perf reasoning."},{"links":[{"title":"Trash talk: the Orinoco garbage collector","url":"https://v8.dev/blog/trash-talk"}],"note":"Best single overview of V8's parallel/incremental/concurrent GC. Use for: GC, start here."},{"links":[{"title":"Concurrent marking in V8","url":"https://v8.dev/blog/concurrent-marking"}],"note":"Deep dive on concurrent marking. Use for: GC pause-time details."},{"links":[{"title":"Orinoco: young generation GC","url":"https://v8.dev/blog/orinoco-parallel-scavenger"}],"note":"The parallel Scavenger (minor GC). Use for: generational GC specifics."},{"links":[{"title":"V8 blog index","url":"https://v8.dev/blog"},{"title":"V8 docs index","url":"https://v8.dev/docs"}],"note":"The full firehose. Use for: WebAssembly, pointer compression, sandbox, anything not listed."},{"links":[{"title":"JS engine fundamentals: Shapes and Inline Caches","url":"https://mathiasbynens.be/notes/shapes-ics"}],"note":"The definitive explainer on shapes (hidden classes) + inline caches. Best conceptual intro before the Map docs."},{"links":[{"title":"JS engine fundamentals: optimizing prototypes","url":"https://mathiasbynens.be/notes/prototypes"}],"note":"Prototype-chain optimization and validity cells. Read after Shapes/ICs."},{"links":[{"title":"Benedikt Meurer — Publications","url":"https://benediktmeurer.de/publications/"}],"note":"Talks/slides from a former TurboFan lead (e.g. \"JS engines: The Good Parts™\"). Use for: optimizer internals."},{"links":[{"title":"Understanding V8's Bytecode","url":"https://medium.com/dailyjs/understanding-v8s-bytecode-317d46c94775"}],"note":"Practical walkthrough of reading Ignition bytecode with --print-bytecode."}],"section":"Knowledge"},{"items":[{"links":[{"title":"v8-users (Google Group)","url":"https://groups.google.com/g/v8-users"}],"note":"THE list for embedders/API consumers. Use for: build problems, API questions, embedding patterns. Primary community."},{"links":[{"title":"v8-dev (Google Group)","url":"https://groups.google.com/g/v8-dev"}],"note":"Core-development list (design, internals, contribution). Use for: deep internals, not basic embedding help."},{"links":[{"title":"Stack Overflow — `v8` tag","url":"https://stackoverflow.com/questions/tagged/v8"}],"note":"Q\u0026A archive. Use for: searching already-solved errors (combine with c++ / node.js tags)."},{"links":[{"title":"V8 Contributing guide","url":"https://v8.dev/docs/contribute"}],"note":"Gerrit-based workflow (V8 takes no GitHub PRs). Use for: if/when contribution enters scope (currently out of scope)."}],"section":"Wisdom (Communities)"}],"slug":"v8-javascript-engine","tags":["v8","javascript-engine","jit","compilers","runtime"],"title":"V8 JavaScript Engine","updated":"2026-06-19"},{"category":"ai_ml","description":"Become fluent reading and writing real PyTorch — tensors, autograd, and the training loop — from first principles, with every example runnable on Apple Silicon (MPS).","lessons":[{"href":"/courses/pytorch/lessons/0001-tensors-the-one-object.html","title":"Tensors — the One Object"},{"href":"/courses/pytorch/lessons/0002-autograd-how-tensors-learn.html","title":"Autograd — How Tensors Learn"},{"href":"/courses/pytorch/lessons/0003-the-training-loop-from-scratch.html","title":"The Training Loop from Scratch"},{"href":"/courses/pytorch/lessons/0004-nn-module-and-optimizers.html","title":"nn.Module \u0026 Optimizers"},{"href":"/courses/pytorch/lessons/0005-datasets-and-dataloaders.html","title":"Datasets \u0026 DataLoaders"},{"href":"/courses/pytorch/lessons/0006-build-and-train-a-real-net.html","title":"Build \u0026 Train a Real Net"},{"href":"/courses/pytorch/lessons/0007-ship-it-and-read-it.html","title":"Ship It \u0026 Read It"}],"reference":[{"href":"/courses/pytorch/reference/pytorch-glossary.html","title":"PyTorch Glossary · Quick Reference"}],"resources":[{"items":[{"links":[{"title":"PyTorch — \"Learn the Basics\" (official)","url":"https://docs.pytorch.org/tutorials/beginner/basics/intro.html"}],"note":"The canonical from-zero path: tensors → datasets/dataloaders → transforms → build model → autograd → optimization loop → save/load. Use for: the backbone sequence of this course."},{"links":[{"title":"PyTorch — \"A 60 Minute Blitz\" (official)","url":"https://docs.pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html"}],"note":"Fast end-to-end tour ending in a CIFAR-10 image classifier. Use for: a quick overview of how the pieces fit before going deep."},{"links":[{"title":"torch.Tensor — API reference","url":"https://docs.pytorch.org/docs/stable/tensors.html"}],"note":"Every tensor method, dtype, and creation op. Use for: exact semantics, looking up a method."},{"links":[{"title":"Tensors tutorial (official)","url":"https://docs.pytorch.org/tutorials/beginner/basics/tensorqs_tutorial.html"}],"note":"Focused walkthrough of creating, indexing, and operating on tensors. Use for: Lesson 1."},{"links":[{"title":"Autograd mechanics (notes)","url":"https://docs.pytorch.org/docs/stable/notes/autograd.html"}],"note":"How the dynamic computational graph and .backward() actually work. Use for: Lesson 2+."},{"links":[{"title":"MPS backend notes","url":"https://docs.pytorch.org/docs/stable/notes/mps.html"}],"note":"Apple — Accelerated PyTorch on Mac (Metal) Apple Silicon GPU specifics, op coverage gaps, PYTORCHENABLEMPSFALLBACK=1. Use for anything device-related on this Mac."},{"links":[{"title":"Book: _Deep Learning with PyTorch_ — Stevens, Antiga, Viehmann (Manning, free PDF)","url":"https://www.manning.com/books/deep-learning-with-pytorch"}],"note":"Concept + code, written by core contributors. Use for: deeper grounding on a topic a lesson only skims."},{"links":[{"title":"Learn PyTorch for Deep Learning: Zero to Mastery — Daniel Bourke","url":"https://www.learnpytorch.io/"}],"note":"Code-first, beginner-friendly, hugely popular. Use for: an alternate hands-on explanation when a concept hasn't clicked; matches the \"read \u0026 write real code\" mission well."},{"links":[{"title":"Dive into Deep Learning (d2l.ai) — PyTorch edition","url":"https://d2l.ai/"}],"note":"Interactive textbook: math + code + figures together. Use for: the theory behind a layer when you want it (kept optional, per the mission's \"math just-in-time\" constraint)."}],"section":"Knowledge"},{"items":[{"links":[{"title":"PyTorch Forums — discuss.pytorch.org","url":"https://discuss.pytorch.org/"}],"note":"Official, well-moderated, core devs answer. Use for: \"why does my tensor/shape/grad do X\" debugging and design sanity checks."},{"links":[{"title":"r/pytorch","url":"https://reddit.com/r/pytorch"},{"title":"r/learnmachinelearning","url":"https://reddit.com/r/learnmachinelearning"}],"note":"Use for: beginner questions, code review, project feedback, \"is this idiomatic?\" checks."}],"section":"Wisdom (Communities)"}],"slug":"pytorch","tags":["pytorch","deep-learning","tensors","autograd","neural-networks"],"title":"PyTorch","updated":"2026-06-19"},{"category":"ai_ml","description":"Claude Code as an autonomous E2E/UI tester — driving a browser and verifying behavior.","lessons":[{"href":"/courses/playground/lessons/0001-claude-drives-the-browser.html","title":"Make Claude Drive a Browser and Verify One Thing"},{"href":"/courses/playground/lessons/0002-test-your-own-app.html","title":"Point Claude at Your Own App on localhost"},{"href":"/courses/playground/lessons/0003-stable-selectors.html","title":"Stable Selectors: Point at Elements That Won't Break"},{"href":"/courses/playground/lessons/0004-save-a-rerunnable-test.html","title":"Save a Passing Check as a Re-runnable Test"},{"href":"/courses/playground/lessons/0005-make-it-run-automatically.html","title":"Make It Run Automatically (webServer + CI)"}],"reference":[{"href":"/courses/playground/reference/ci-automation.html","title":"Cheat Sheet — Automating Playwright (webServer + CI)"},{"href":"/courses/playground/reference/glossary.html","title":"Glossary — Claude Code E2E / UI Testing"},{"href":"/courses/playground/reference/playwright-test-cheatsheet.html","title":"Cheat Sheet — Playwright Test (the runner)"},{"href":"/courses/playground/reference/selector-cheatsheet.html","title":"Cheat Sheet — Playwright Selectors / Locators"}],"resources":[{"items":[{"links":[{"title":"Official: Playwright Plugin for Claude (by Microsoft)","url":"https://claude.com/plugins/playwright"}],"note":"The official, one-click-installable Playwright MCP plugin for Claude Code (258k+ installs, verified). Use for: the canonical install path and the authoritative list of browser tools Claude gets."},{"links":[{"title":"Docs: Playwright — Locators","url":"https://playwright.dev/docs/locators"}],"note":"The authoritative selector guide. Use for: the locator priority order (role → label → placeholder → text → testid) and the \"avoid CSS/XPath\" rule. Backs the Selector Cheat Sheet."},{"links":[{"title":"Docs: Playwright MCP — Getting Started","url":"https://playwright.dev/docs/getting-started-mcp"}],"note":"Microsoft's own docs for the @playwright/mcp server. Use for: exact install commands, config JSON, browser selection flags, and the full tool surface (navigate, click, fill, snapshot, network, screenshot)."},{"links":[{"title":"Guide: Building an AI QA Engineer with Claude Code and Playwright MCP — alexop.dev","url":"https://alexop.dev/posts/building_ai_qa_engineer_claude_code_playwright/"}],"note":"A practitioner walkthrough of using Claude + Playwright MCP as an autonomous tester. Use for: realistic prompts and the \"explore → generate runnable test\" workflow."},{"links":[{"title":"Guide: How to Use Playwright MCP Server with Claude Code — Builder.io","url":"https://www.builder.io/blog/playwright-mcp-server-claude-code"}],"note":"Use for: a second, independent setup walkthrough to cross-check steps."},{"links":[{"title":"Comparison: Playwright MCP vs Claude in Chrome (2026)","url":"https://lalatenduswain.medium.com/playwright-mcp-vs-claude-in-chrome-which-browser-testing-tool-should-you-use-in-2026-e502bee0067a"}],"note":"Use for: deciding when to use Playwright MCP (repeatable, CI-friendly) vs the Claude-in-Chrome extension (drives YOUR logged-in browser)."},{"links":[{"title":"Demo app: TodoMVC (Playwright's official demo)","url":"https://demo.playwright.dev/todomvc"}],"note":"A public, no-setup web app to practice against. Use for: early lessons before you point Claude at your own app."}],"section":"Knowledge"},{"items":[{"links":[{"title":"Playwright Discord","url":"https://aka.ms/playwright/discord"}],"note":"Official community. Use for: selector strategy, flaky-test troubleshooting, \"is this the right way\" questions."},{"links":[{"title":"r/ClaudeAI","url":"https://reddit.com/r/ClaudeAI"}],"note":"Use for: Claude Code workflow patterns, MCP setup gotchas, what others automate."},{"links":[{"title":"[Stack Overflow — [playwright] tag](","url":"https://stackoverflow.com/questions/tagged/playwright"}],"note":") Use for: specific, reproducible errors with a code snippet."}],"section":"Wisdom (Communities)"}],"slug":"playground","tags":["claude-code","playwright","e2e-testing","browser-automation","ui-testing"],"title":"Browser-Testing Playground","updated":"2026-06-19"},{"category":"backend_data","description":"Hand-build payment integrations that sell digital products — checkout, webhooks, subscriptions.","lessons":[{"href":"/courses/stripe/lessons/0001-stripe-object-model.html","title":"How money flows: the Stripe object model"},{"href":"/courses/stripe/lessons/0002-one-time-download-flow.html","title":"Build the one-time download flow"}],"reference":[{"href":"/courses/stripe/reference/glossary.html","title":"Stripe Glossary — Selling Digital Products"}],"resources":[{"items":[{"links":[{"title":"Stripe Docs: Online payments overview","url":"https://docs.stripe.com/payments/online-payments"}],"note":"The integration decision tree: Checkout Sessions (recommended) vs PaymentIntent + Elements vs Payment Links. Use for: choosing an integration path."},{"links":[{"title":"Stripe Docs: How products and prices work","url":"https://docs.stripe.com/products-prices/how-products-and-prices-work"}],"note":"The Product/Price model, one-time vs recurring prices, pricing models. Use for: modeling what you sell."},{"links":[{"title":"Stripe Docs: Webhooks","url":"https://docs.stripe.com/webhooks"}],"note":"Why webhooks are mandatory for fulfillment, signature verification, idempotency, key events. Use for: the fulfillment half of every integration."},{"links":[{"title":"Stripe Docs: Fulfill orders with the Checkout API","url":"https://docs.stripe.com/checkout/fulfillment"}],"note":"Canonical pattern for fulfilling one-time purchases after checkout.session.completed. Use for: the one-time download flow."},{"links":[{"title":"Stripe Docs: Subscriptions overview","url":"https://docs.stripe.com/billing/subscriptions/overview"}],"note":"Subscription lifecycle, statuses (trialing/active/pastdue/canceled…), invoices. Use for: the SaaS half of the mission."},{"links":[{"title":"Stripe Docs: Customer Portal","url":"https://docs.stripe.com/customer-management"}],"note":"Stripe-hosted UI for customers to manage their own subscriptions, payment methods, invoices. Use for: SaaS self-service."},{"links":[{"title":"Stripe Docs: API Reference","url":"https://docs.stripe.com/api"}],"note":"Exact object fields and endpoints. Use for: ground truth when writing code."},{"links":[{"title":"Stripe CLI","url":"https://docs.stripe.com/stripe-cli"}],"note":"Local webhook forwarding (stripe listen), triggering test events (stripe trigger). Use for: developing/testing webhooks without deploying."},{"links":[{"title":"Stripe Docs: Test mode \u0026 test cards","url":"https://docs.stripe.com/testing"}],"note":"Test card numbers (e.g. 4242 4242 4242 4242), how test vs live keys work. Use for: safe development."}],"section":"Knowledge"},{"items":[{"links":[{"title":"r/stripe","url":"https://www.reddit.com/r/stripe/"}],"note":"Practitioner Q\u0026A and integration troubleshooting. Use for: real-world gotchas."},{"links":[{"title":"Stripe Developers hub: Discord and community","url":"https://stripe.dev/"}],"note":"Official community channels. Use for: direct, current answers from Stripe devs and peers."},{"links":[{"title":"Stack Overflow: stripe-payments tag","url":"https://stackoverflow.com/questions/tagged/stripe-payments"}],"note":"Searchable archive of concrete integration problems. Use for: specific error messages and edge cases."}],"section":"Wisdom (Communities)"}],"slug":"stripe","tags":["stripe","payments","webhooks","checkout","subscriptions"],"title":"Stripe","updated":"2026-09-28"}],"total_lessons":104}