For the presenter · recording setup

Record it from here.

The deck is the whole instrument. Slides, live playgrounds and the terminal output are all on screen — you only need a second window for your notes.

Start here

Essentials, talk only

32 min · 32 slides · nothing to run

The whole argument and all eight demos, with the output already on screen and the prose written tight. Nothing to set up, and nothing that can fail on camera.

Open the deck → Run the demos live instead · 49 min

Or pick another edition

Two questions: how long, and do you run the code live? Every combination is a complete lesson — the slides and the output are identical. Talk only means the output is already on screen and you explain it; work-along means you switch to a terminal and run it.

EditionTalk onlyWork-alongWhat it carries
Essentials
32 slides
~32 min
talk only
~49 min
work-along
The whole arc, tightened. Both pipelines, what an embedding is, the build, and the silent failure — all eight demos. Slides only, no interactive widgets.
Short
40 slides
~37 min
talk only
~56 min
work-along
Everything in the essentials, plus the gotchas, the API key, the practical rules, and two of the interactive playgrounds.
Full
55 slides
~75 min
talk only
~108 min
work-along
Everything: reference tables, the loader gotchas, the re-run trap, troubleshooting, the drills, and all five playgrounds.

Setup

  1. Open the deck and press S for the speaker window. Allow the popup the first time, and drag it to your second monitor. Do this before going fullscreen — opening a window from a fullscreen tab can drop you back out of it.
  2. Click back into the deck and press F for fullscreen.
  3. Record the deck window only, not the speaker window.
  4. Going on camera for the introduction? The opening slide keeps its right-hand third and its whole lower band clear, so a camera window sits there without covering anything, and it is the only slide written to be spoken to a camera — about 130 seconds. Close the window as you advance to slide 2; everything after it is voice over slides.
  5. One monitor? Skip the speaker window and press T instead — the same narration, in a drawer under the slide. Close it before you start recording and read from the lesson page on a phone or tablet.
  6. Work-along editions only: run ./run.sh check first — it makes a real API call and catches a dead key before you are on camera. Rehearse once and the embedding cache means the take cannot fail on network.
What the speaker window gives you Your narration in full paragraphs, at reading size — the same words the deck's Narration drawer (T) shows, so pressing S closes that drawer for you rather than leaving it in frame. Beside the clock is a pacing readout: how long you should still be on the slide you are on. It counts down as you talk and turns red when you are running behind, so a 32-minute talk actually lands near 32 minutes without you watching a stopwatch.

Both dividers drag. One sets how much room the notes get; the other sets how the two slide previews share their half. Grab the small handle on either edge. Each layout remembers both of its own positions, and double-clicking a handle resets just that one.

Keys

→ ←next / previous slide
Sspeaker window
Ffullscreen
Oslide overview — good for jumping
Bblank the screen
Tnarration drawer (for learners, not for recording)

Need a handout? Add ?print-pdf to the deck's address and print to PDF — one page per slide, narration included.

Every cue, in order

Where to switch to the terminal, and where to pick up the mouse. Generated from the deck, so it stays in step. These are the work-along editions — a talk edition has nothing to run, and drops the setup slide, so its slide numbers run one lower from the start.

Essentials · 32 slides

SlideTitleWhat happens
2Two windows, eight demos./run.sh check
6Models do not read wordspython 01_tokens.py
12This is not an LLMpython 02_embedding_shape.py
14Does that actually hold?python 03_similar_meaning.py
19Load the filespython 04_load.py
21Chunk thempython 05_chunk.py
24Embed and store — one call does bothpython 06_embed_store.py
26Ask it somethingpython 07_query.py "Who founded SpaceX?"
30Same store. Same question. Nothing crashes.python 08_model_mismatch.py

Short · 40 slides

SlideTitleWhat happens
2Two windows, eight demos./run.sh check
7Models do not read wordspython 01_tokens.py
14This is not an LLMpython 02_embedding_shape.py
16Does that actually hold?python 03_similar_meaning.py
23Load the filespython 04_load.py
25Chunk thempython 05_chunk.py
28Try it: watch the chunks re-cutinteractive — drive it with the mouse
29Embed and store — one call does bothpython 06_embed_store.py
32Ask it somethingpython 07_query.py "Who founded SpaceX?"
36Same store. Same question. Nothing crashes.python 08_model_mismatch.py
37Try it: flip the model, break the systeminteractive — drive it with the mouse

Full · 55 slides

SlideTitleWhat happens
3Two windows, eight demos./run.sh check
8Models do not read wordspython 01_tokens.py
11Try it: when do you actually need RAG?interactive — drive it with the mouse
16This is not an LLMpython 02_embedding_shape.py
18Does that actually hold?python 03_similar_meaning.py
19Try it: the neighbourhood mapinteractive — drive it with the mouse
31Five articlespython3 tools/fetch_docs.py
33Load the filespython 04_load.py
36Chunk thempython 05_chunk.py
39Try it: watch the chunks re-cutinteractive — drive it with the mouse
40Embed and store — one call does bothpython 06_embed_store.py
43Ask it somethingpython 07_query.py "Who founded SpaceX?"
45Try it: ask, and watch the prompt buildinteractive — drive it with the mouse
46Run it twice, pay twicepython 06_embed_store.py --append
49Same store. Same question. Nothing crashes.python 08_model_mismatch.py
50Try it: flip the model, break the systeminteractive — drive it with the mouse