42 Commits (bc4cc23c42c64f9806e24703719b88ef9225ceca)

Author SHA1 Message Date
Elijah Voigt bc4cc23c42 docs(edu): write all 18 sections of shader programming chapter [edu-4u7w]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt fb9fd518c3 chore(edu): fix Markov bean relationships (blocked-by → parent)
The Markov epic (edu-svom) incorrectly used blocked-by relationships to
reference its 10 section tasks. Replaced with proper parent-child
hierarchy: removed blocked-by entries from the epic and set parent on
each section task.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt b2e46a00c1 chore(edu): archive completed beans and add self-play chapter section tickets [edu-coqp]
Archives completed/scrapped beans from previous chapters (markov, vector
db, compiler). Adds section beans for the self-play ML chapter (edu-coqp).
3 months ago
Elijah Voigt 05ac10f5e3 docs(edu): outline simple LLM chapter and create section tickets [edu-u2w7]
Adds llm-from-scratch.md stub with 14 sections (GPT-1 style: character
tokenisation, self-attention, transformer block, candle model, training
loop, sampling). Creates beans edu-32xl through edu-9sb7 for each section.
3 months ago
Elijah Voigt 818444962c docs(edu): outline ML self-play chapter and create section tickets [edu-coqp]
Add edu/src/ml-self-play.md with 14 stubbed sections across 5 parts:
foundations (RL, MCTS, self-play), game engine (Tic-Tac-Toe), MCTS
implementation, neural network integration, and the full self-play loop.
Create one beans ticket per section (edu-wobk through edu-brtk).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 5a1fb26927 docs(edu): outline shader programming chapter and create section tickets [edu-4u7w]
Add shaders.md with 18 stub sections across 6 parts (GPU model,
wgpu setup, vertex/fragment shaders, textures, compute shaders,
going further). Create beans tickets edu-5g0l through edu-7m8d
for each section. Add # Graphics section to SUMMARY.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 83d5abde8a docs: replace nbd task-tracking docs with beans prime
Simplify all issue-tracking documentation to defer to `beans prime`
rather than maintaining a parallel description of beans commands.

- CLAUDE.md: collapse task-tracking section to just `beans prime` callout
- edu/.claude/skills/work: nbd next → beans list --ready
- nbd/.claude/skills/work: nbd next → beans list --ready
- nbd/.claude/skills/triage: nbd tickets/.nbd → beans beans/.beans
- nbd/src/claude_md_snippet.md: replace nbd snippet with beans prime stub

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 2dd808cdd3 chore: migrate task tracking from nbd to beans
Replace all .nbd/ ticket stores with .beans/ directories across the
mono-repo (root, edu, nbd, quotesdb). Field mappings: status todo→todo,
in_progress→in-progress, done→completed, closed→scrapped,
archived→completed, backlog→draft; priority numeric→label; type
project→epic. All dependency relationships preserved via --blocked-by.

Add scripts/migrate-nbd-to-beans.sh for reproducible future migrations.

Update CLAUDE.md task-tracking sections (root, edu, nbd, quotesdb) to
reference beans commands instead of nbd commands.

Counts: root 2, edu 48, nbd 38, quotesdb 121 beans created; 0 failures.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 01d30b45c2 update tickets after implementation of vector-db chapter 3 months ago
Elijah Voigt e91bdd31ec docs(edu): write §12 exercise 5 RAG pipeline for vector-db course [5ed295]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 60c9fb67a8 docs(edu): write §11 exercise 4 recommendation engine for vector-db course [e8be9a]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 473761b4af docs(edu): write §10 exercise 3 semantic document search for vector-db course [1ef9f4]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt d6d7327c90 docs(edu): write §9 generating embeddings in Rust for vector-db course [4c961f]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt ac1a6ec527 docs(edu): write §8 exercise 2 KNN search for vector-db course [5674ce]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 0462586d88 docs(edu): write §7 exercise 1 storing vectors for vector-db course [081a55]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 297f2d6d2f docs(edu): write §5 ANN algorithms for vector-db course [6ec5ff]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 515bc2b6e5 docs(edu): write §4 what is a vector database for vector-db course [d9f850]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 4ab1e85024 docs(edu): write §3 vector similarity for vector-db course [99e1d9]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt 3a1860b5b1 docs(edu): write §2 embeddings for vector-db course [584e0c]
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3 months ago
Elijah Voigt b6017c1e58 docs(edu): add introduction page as site landing
Adds src/introduction.md explaining the project (LLM-generated learning
resources, Claude Code + Opus 4.6/Sonnet 4.6, CC0 public domain, contact
email) and links it as the first entry in SUMMARY.md.
3 months ago
Elijah Voigt 8ae8421722 remove edu .envrc override 3 months ago
Elijah Voigt cb3c3a2281 feat(edu): add Cloudflare Pages infra and justfile [59c122]
- OpenTofu config in infra/ for Pages project, DNS CNAME, and custom
  domain at vibebooks.elijah.run
- justfile with build, serve, deploy, infra-init, infra-plan, infra-apply
  targets

Closes 59c122
3 months ago
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