20 Commits (5aa31b59f00a96faa026f2ff33a69ddfd124506d)

Author SHA1 Message Date
Elijah Voigt 36607415e1 docs(edu): write all 18 sections of the Lisp-to-C compiler course
Fill in every stub section with full educational content covering
foundations, parsing with nom, semantic analysis, code generation,
and integration testing. Close all associated nbd tickets.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt aa4e9fdbfe tickets: triage TODO files → nbd tickets
Root TODO.md:
- 82df74: Add justfiles for all projects (lint/check/build/release)
- 09cda0: Add contact footer to all service front-ends

nbd/TODO.md:
- 39b2cf: Add --xml output format to nbd

edu/TODO.md:
- 59c122: Deploy edu mdbook to Cloudflare Pages (vibebooks.elijah.run)
- 8618e4: Write chapter on co-op worker-owned business structure
- 8f14c6: Write Machine Learning chapter (self-play game AI)
- 389d8d: Write chapter on creating and training a simple LLM
- 0fbe1a: Write chapter on shader programming

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 7e0ba78240 docs: improve CLAUDE.md structure and clarity
- Add working-directory rule to root and all project docs
- Generalize root from "HTTP web services" to "independent projects"
- Add @../CLAUDE.md inheritance to nbd, edu, quotesdb project docs
- Remove sections duplicated from root in project-level docs
- Wrap all sections in semantic XML tags for clearer agent parsing
- Rename Tech Stack → Common Patterns (framed as defaults, not requirements)
- Rename Running Services Locally → Running Projects Locally
3 months ago
Elijah Voigt c2c5fe923e markov chain exercise skeleton 3 months ago
Elijah Voigt 8232946b6e Merge development flakes 3 months ago
Elijah Voigt 955cf029ab docs(edu): add lisp-to-C compiler course with stubs and tickets [67e284]
18-section interactive course teaching compiler construction in Rust
using nom. Covers MiniLisp parsing, AST design, semantic analysis,
and C code generation. All sections stubbed; one nbd task ticket per
section plus a project ticket (67e284) tracking completion.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt b8a3b9ddfe edu claude.md 3 months ago
Elijah Voigt f552040f9f mdbook 3 months ago
Elijah Voigt d01b5db905 docs(edu): write git worktrees reference; update project status
Mark git worktrees and Markov Chains as complete in PROJECTS.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 826bf235f1 chore(edu): close markov course project [fb7f74]
All 10 sections of edu/markov.md are complete. Mark the project ticket
and remaining section tickets as done/archived.
3 months ago
Elijah Voigt 4d1950f4c8 docs(edu): write markov §2 states and transitions [738be2]
Replaces the stub in Section 2 with full prose covering:
- State space definition (finite vs countably infinite)
- Transitions as directed, probability-labelled edges
- ASCII state-transition diagram for the weather model
- Absorbing, transient, and recurrent state classification
3 months ago
Elijah Voigt f78c9ba637 docs(edu): write markov §7 bigram text generator exercise [74be50]
Full Exercise 3 — Bigram Text Generator section replacing the stub:
- Setup instructions (cargo new, cargo add rand)
- Starter code skeleton with BigramModel struct
- Step 1: tokenize corpus with split_whitespace + to_lowercase
- Step 2: build transition table via windows(2) with count tracking
- Step 3: integer weighted sampling helper (sample_weighted)
- Step 4: generate implementation with dead-end handling
- Step 5: run the generator with the Alice corpus and seeded RNG
- Step 6: guidance for trying a larger Project Gutenberg corpus
- Full reference solution in a collapsible details block

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt e31316f863 docs(edu): write markov §1 what is a markov chain [fbf323] 3 months ago
Elijah Voigt a75b310129 docs(edu): write markov §5 random walk exercise [64826a] 3 months ago
Elijah Voigt 85d5d3ec2b docs(edu): write markov §8 n-gram generalization exercise [1f995a]
Full Exercise 4 content: setup, starter code, five guided steps
(tokenize + sliding windows, weighted sampling, VecDeque-based
generate, n=1–4 comparison, memorisation vs novelty discussion),
character-level n-gram stretch goal, and reference solution.
3 months ago
Elijah Voigt 09371b9c4a docs(edu): write markov §9 stationary distributions [68ee16]
Replace stub with full prose covering the stationary equation,
long-run frequency interpretation, irreducibility and aperiodicity,
a worked 2×2 analytical solution for the weather chain, and a power
iteration pseudocode + Rust sketch.
3 months ago
Elijah Voigt 0f772edb7a docs(edu): write markov §10 applications and further reading [5994a6]
Survey PageRank, MCMC, HMMs, RL, bioinformatics, queueing theory, and
language models; add annotated reading list and Rust ecosystem pointers.
3 months ago
Elijah Voigt 401ad5f750 docs(edu): write markov §4 weather model exercise [257a2a]
Add full content for Exercise 1 — Weather Model:
- Setup instructions (cargo new, cargo add rand)
- Starter code skeleton with todo!() bodies
- Step-by-step hints: index conversion, weighted random draw,
  simulate loop, running with the 2-state matrix, comparing
  empirical frequencies to the stationary distribution (2/3, 1/3)
- Collapsed reference solution

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 79c21df6a0 docs(edu): write markov §3 transition probabilities and matrices [44ebe7]
Replaces the stub with full lesson content:
- Defines the transition matrix P[i][j] and stochastic matrix constraints
- Derives multi-step probabilities via π_k = π₀ · P^k
- Works through the 2-state weather chain by hand (1- and 2-step calculations)
- Bridges to §9 stationary distributions
3 months ago
Elijah Voigt 36bf848b63 docs(edu): write markov §6 text generation lesson [92a829]
- Words as states paragraph
- Bigrams and transition tables explanation
- Worked bigram example with two-sentence corpus and transition table
- Why generated text sounds locally plausible but globally incoherent
- Order-n chains and the coherence/novelty tradeoff

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago