Commit Graph

121 Commits

Author SHA1 Message Date
Shayan Rais 924c72ad90 insert slide 29 Uncle Bob counterpoint + rename slides 28/29 to name-attributed pair
New slide 29 "Vibe Coding — Robert C. 'Uncle Bob' Martin" pairs with the
existing Karpathy slide as a thesis/antithesis on vibe coding before the
deck's synthesis at slide 30 (Vibe Coding vs Agentic Engineering).

Layout: 2-column CSS grid (45/55 split). Left: Uncle Bob image with the
same rounded corners + box shadow style as Karpathy's image on slide 28.
Right: 3-sentence summary (setup → mechanism → punchline), attribution
line ("Robert C. 'Uncle Bob' Martin — author of Clean Code · Clean
Architecture · co-author of the Agile Manifesto"), and source link
matching slide 28's source-link styling but left-aligned for the
right-column context.

The 3-sentence summary preserves Uncle Bob's arc: vibe coding is
hazardous for novices, LLMs are mathematical functions predicting next
tokens via matmul on internet/GitHub training data, and they are power
tools where novices lose fingers. Italicized closing quote sets it apart
as Uncle Bob's voice rather than the deck's voice.

Heading renames for parallel structure on the back-to-back voices:
- Slide 28 "Vibe Coding" → "Vibe Coding — Andrej Karpathy"
- Slide 29 (new) "Vibe Coding — A Skeptic's View" → "Vibe Coding —
  Robert C. 'Uncle Bob' Martin"

The earlier "skeptic's view" framing was authorial editorial; the new
name-attributed framing lets each voice speak on its own terms before
the deck stakes its synthesis position at slide 30.

Renumbering: former slides 29–55 shifted to 30–56. Total slide count
55 → 56. data-level distribution preserved.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 15:24:01 +05:00
Shayan Rais 3b848b7823 add vibe-coding-uncle-bob.png — image of Robert C. Martin's vibe coding critique
Used on the new slide 29 ("Vibe Coding — Robert C. 'Uncle Bob' Martin")
as the counterpoint pairing to slide 28's Karpathy origin tweet.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 15:23:41 +05:00
Shayan Rais b3f884f5e4 Update index.html 2026-05-07 12:57:35 +05:00
Shayan Rais 6718a977c7 reformat slides 11, 14, 15, 16 — heading-with-separator pattern + emoji prefixes
Slide 11 ("Tokens, not words"): heading and figcaption removed entirely —
now a pure-picture slide (just the OpenAI tokenizer screenshot at
max-width 1100px). The screenshot is self-titled (visible tokenizer UI
labels), so a slide heading was redundant. Flex-centering wrapper dropped.

Slide 14 ("💬 Models are stateless"): flex-centering wrapper dropped,
<h1> now uses default styling (no inline overrides) so it picks up the
deck's border-bottom separator. Dialog diagram retained with margin-top
adjusted for breathing room. The two-line caption strip ("Every turn is
a fresh API call." / "Memory only exists if the harness replays the
transcript.") preserved — it's the slide's conceptual punchline.

Slide 15 ("🦜 Stochastic Parrots"): the standalone large parrot emoji
that previously floated above the heading was merged into the heading
itself (matches the deck's emoji-prefix convention used by slides 14 and
17). <h1> uses default styling for the separator. Subtitle paragraph
preserved as the subheading below the separator.

Slide 16 ("🌡️ Even temperature = 0 isn't deterministic."): thermometer
emoji prepended to the heading, matching the emoji-prefix pattern. <h1>
uses default styling for the separator. Subtitle paragraph preserved as
the subheading.

All four slides now follow (or, in slide 11's case, deliberately depart
from) the canonical slide-17 heading-with-separator pattern. Slide count
unchanged at 55. No data-level changes. No SVG/asset modifications.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 12:54:29 +05:00
Shayan Rais 00116d393e reformat slides 12 and 13 to match slide 10 pattern; trim slide 12 heading
Slides 12 ("How an LLM tokenizes input") and 13 ("What the LLM actually
sees: integer token IDs") restructured to use the heading-with-separator
pattern modeled after slide 17 (and just-applied to slide 10):
- <h1> uses default styling (no inline overrides) → border-bottom separator
- Outer flex-centering wrapper dropped
- SVG-internal title promoted to slide heading; SVG-internal subtitle
  promoted to single-line bold caption
- Figure max-width: 860px → 1100px (slide 12); 960px → 1100px (slide 13)

Slide 12 heading shortened to "How an LLM tokenizes input" (was
"How an LLM tokenizes input and generates text autoregressively") — the
longer form was wrapping to two lines on a projector. Autoregressive
generation is already covered on slide 10; slide 12's caption makes
clear this slide's focus is tokenization specifically.

Slide 13 heading trimmed: "What the LLM actually sees: integer token IDs"
(dropped "(advanced view)" parenthetical — read as redundant scaffolding
in heading position).

Slide 13 caption: chose the comma-as-ID-11 line over the abstract
sequence-of-integers definition. The math notation from the SVG subtitle
was deliberately not promoted — it's been removed from the SVG entirely
(see paired commit b667fc5).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 12:48:20 +05:00
Shayan Rais b667fc5234 restructure llm-animation-tokenids.svg for projector legibility
Same pattern as 13f7ca9 (llm-basic.svg). Title and subtitle removed from
the SVG; both promoted to the slide-level heading and caption on slide 13.
The math-notation subtitle (f: ℤᵏ → ℝⱽ ; next_id = argmax(f(ids))) was
removed entirely — not promoted anywhere, since it doesn't help PMs and
there's no good place for it after the bottom section was simplified to
a single line.

Iteration counter relocated from y=83 (top) to y=550 (bottom, just above
the feedback caption), font size 13 → 20.

Entire diagram shifted upward by 80px to reclaim the space freed by the
removed title and subtitle. Feedback path arc shifted accordingly:
M 1090 510 Q 680 568 270 510 → M 1090 430 Q 680 488 270 430. Feedback
caption pushed slightly: y=565 → y=575. Footnote about illustrative
response IDs shifted: y=588 → y=613.

ViewBox extended 600 → 630 at the bottom. Background rect height bumped
to 630 to match.

The decorative f: ℤᵏ → ℝⱽ label *inside* the LLM black box was preserved
as visual texture (too small to read at projector distance, just signals
"math is happening here") — distinct from the removed top subtitle.

All 7 <animate> blocks on iteration elements preserved verbatim.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 12:48:04 +05:00
Shayan Rais 33cd221a91 restructure llm-advanced.svg for projector legibility
Same pattern as 13f7ca9 (llm-basic.svg). Title and subtitle removed from
the SVG (now promoted to the slide-level heading and caption on slide 12).
Iteration counter relocated from y=83 (top) to y=480 (bottom, just above
the feedback caption), font size 13 → 20.

Entire diagram shifted upward by 80px to reclaim the space freed by the
removed title and subtitle (panels, LLM box, all token rows, arrows,
animated circles, output panel, feedback path control point).

ViewBox extended 540 → 570 at the bottom to accommodate the relocated
iteration counter. Background rect height bumped to 570 to match.
Feedback path arc shifted: M 990 410 Q 620 480 250 410 →
M 990 330 Q 620 400 250 330. Feedback caption stays at y=510 — the
upshift creates enough clearance.

All 7 <animate> blocks on iteration elements preserved verbatim.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 12:47:48 +05:00
Shayan Rais 40c302040d reformat slide 10 to match slide 17 pattern (heading + separator + content)
Slide 10 ("How an LLM generates text") restructured to use the deck's
canonical heading-with-separator pattern modeled after slide 17:
- <h1> uses default styling (no inline overrides) → gets the default
  border-bottom that acts as the separator
- Outer flex-centering wrapper dropped, matching slide 17's flat layout

Heading text changed from "One token at a time" → "How an LLM generates
text (autoregressive)" — promoted out of the SVG asset (which has been
trimmed to diagram-only in the paired commit).

Caption simplified to a single bold line: "Each predicted token is
appended to the input, then fed back into the LLM." (was previously the
SVG's subtitle). The secondary streaming/cost line is removed for focus.

Figure max-width increased 860px → 1100px (~28% larger) for projector
legibility — combined with the SVG's diagram-shifted-up restructuring,
the on-screen diagram is now roughly 2x the previous size.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 12:35:03 +05:00
Shayan Rais 13f7ca9e48 restructure llm-basic.svg for projector legibility
Title and subtitle removed from the SVG (now promoted to the slide-level
heading and caption). Iteration counter relocated from the top of the SVG
(y=85) to the bottom (y=480), just above the feedback caption, with font
size increased from 13 to 20 for projector readability.

The whole diagram (panels, LLM box, arrows, animated circles, feedback
path) shifted upward by 80px to reclaim the space freed by the removed
title and subtitle — the diagram now fills more of its viewBox rather
than leaving empty space at the top.

ViewBox extended 500 → 530 at the bottom to accommodate the relocated
iteration counter and pushed-down feedback caption (y=488 → y=510).
Background rect height bumped to 530 to match (otherwise the new bottom
strip would render transparent).

All 7 <animate> blocks on iteration elements preserved verbatim — only
the parent <text> y and font-size attributes changed.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 12:34:51 +05:00
Shayan Rais 6b93c44806 insert slide 9 "A horse. A model." — bare-horse teaser for the harness reveal
New slide plants the model-as-horse metaphor before the LLM mechanics arc
(slides 10–13: tokens, autoregression, IDs, statelessness). Stripped-down
version of the existing harness slide: horse body only, no harness elements,
no callouts. Two text lines:

  "A horse. A model."
  "The model is the horse. Raw power, no direction." (red)

The full harness reveal with all 5 callouts (Control loop, Tool allowlist,
Context management, Evaluator, State persistence) and etymology footnote
remains intact at its later position.

Mechanical changes:
- viewBox tightened to "110 25 340 345" (was wider to accommodate callouts)
- <defs> block dropped (no arrow markers needed without callouts)
- former slides 9–54 renumbered to 10–55 (the original harness slide moved
  from position 18 to 19)
- Total slide count: 54 → 55. data-level distribution preserved.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 12:21:48 +05:00
Shayan Rais 27df7ce8d0 reorder 2026-05-07 12:15:12 +05:00
Shayan Rais a3f84f446f insert slide 14 "What the model actually sees" with token IDs visualization
New slide goes one level deeper than slide 13 — shows the integer token IDs
the model actually receives, not just the colored subword tiles. Uses
llm-animation-tokenids.svg with figure max-width 960px (vs 860px for the
narrower LLM SVGs) since the asset's viewBox is 1360×600.

Caption translates the math notation deliberately left in the SVG:
- "The model never reads text — it reads a sequence of integers, each one
  an index into a vocabulary of ~200,000 entries."
- "Notice the comma is always ID 11 — the same punctuation mark maps to
  the same integer, everywhere, every time."

Renumbering: former slides 14–53 shifted to 15–54. Total slide count
53 → 54. data-level distribution preserved.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 11:59:09 +05:00
Shayan Rais 9a2657c431 add llm-animation-tokenids.svg — advanced tokenization view with integer IDs
Animated SVG showing what the LLM actually receives: integer token IDs (one
layer deeper than llm-advanced.svg). Each of the 32 input tokens displays the
ID prominently with the token text in small italic underneath (e.g., 28133
"Does", 17554 " Chat", 162016 "GPT", 97481 " Claude", 29683 " Anth", 71571
"ropic"). Same 7-iteration autoregressive loop; generated tokens also shown
as IDs. Vocab size labeled V ≈ 200,000. Title formula: f: ℤᵏ → ℝⱽ;
next_id = argmax(f(ids)). ViewBox 1360×600 (wider than the other LLM SVGs).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 11:58:57 +05:00
Shayan Rais 73da14473e insert 3 LLM intro slides at positions 11–13 in claude-code-best-practice deck
New slides introduce LLM fundamentals before the Claude Code content for a PM
and beginner-technical audience:
- Slide 11 "One token at a time" — autoregressive generation (llm-basic.svg)
- Slide 12 "Tokens, not words" — tokenization basics (tokens.jpg)
- Slide 13 "Tokens in, tokens out" — combined view (llm-advanced.svg)

Renumbering: former slides 11–50 shifted to 14–53 by incrementing data-slide
attributes and updating SLIDE-N banner comments. data-level groupings
(agents/claude-md/skills/context/workflow) preserved. Total slide count
50 → 53. Asset path: ../assets/llm/.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 11:45:27 +05:00
Shayan Rais a05c791c41 add llm-advanced.svg — combined BPE tokenization + autoregressive diagram
Animated SVG showing the same BPE-tokenized prompt from tokens.jpg (32 colored
subword tiles, e.g., "Anthropic" → "Anth"+"ropic", "Perplexity" →
"Per"+"plex"+"ity") feeding into the LLM and generating "Yes, they all use
BPE." token-by-token across 7 iterations. Combines tokenization and
autoregressive generation into one view.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 11:45:16 +05:00
Shayan Rais faa82716b0 add tokens.jpg — OpenAI tokenizer screenshot for tokenization slide
Screenshot of platform.openai.com/tokenizer showing the sentence "Does ChatGPT,
Claude, Anthropic, Llama, Mistral, Gemini, and Perplexity all use Byte-Pair
Encoding (BPE)?" tokenizing to 32 tokens / 105 characters. Visible tabs:
GPT-5.x & O1/3, GPT-4 & GPT-3.5 (legacy), GPT-3 (legacy) — illustrates that
different model generations use different tokenizers.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 11:45:09 +05:00
Shayan Rais e53739367a add llm-basic.svg — animated autoregressive generation diagram
Three-panel SVG (input context, LLM black box, predicted next token) with
7-iteration loop generating "The capital of Japan is Tokyo." from the prompt
"What is the capital of Japan?". Includes purple feedback loop showing each
predicted token appended back into the input.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-07 11:45:00 +05:00
Shayan Rais 2cc8d4b889 add slide on temperature=0 nondeterminism and Source: footers to slides 7, 9, 10, 15, 23, 46
Co-Authored-By: Claude <noreply@anthropic.com>
2026-05-04 19:34:53 +05:00
Shayan Rais 796b99f2a2 mirror "harness" etymology footnote onto GDG deck slide 13
Adds the same Old French etymology line ("The origin is Old French
harneis — gear, equipment, armor.") that was added to the canonical
best-practice deck, so the horse-harness analogy slide reads
identically across both decks. The line sits below the existing red
subtitle as a muted footnote (0.95rem, #666), with `text-align:
center` added for this deck because the GDG caption block relies on
flex centering rather than inherited text alignment.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-30 23:31:32 +05:00
Shayan Rais 76599cbee4 updated presentation 2026-04-30 23:25:04 +05:00
Shayan Rais 9d54f16c84 insert "Models are stateless" slide at position 10 in best-practice deck
Adds a styled-HTML dialog diagram (User vs Model bubbles, dashed amber
divider labeled "new session — context wiped", and a two-line caption
strip) to make the stateless behavior of LLMs visible. Drawn rather than
imported as PNG, mirroring slide-12's inline-diagram conventions. Old
slides 10..48 shifted to 11..49 via sentinel-replacement; banner
comments updated in the same pass to keep the deck's zero-drift state.
No new CSS classes — all layout via inline styles consistent with
surrounding slides.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-30 22:25:39 +05:00
Shayan Rais 71d0b51657 remove "How the Harness Reaches the World" slide from GDG event deck
The slide titled "Tool Calling" / "How the Harness Reaches the World" was
added to the deck after the GDG Kolachi event on Apr 25, 2026, so it doesn't
belong in the historical record of what was actually presented. Reverting
the GDG deck to as-presented state.

The slide is preserved in the new claude-code-best-practice fork (which is
the canonical living reference owned by presentation-claude-code), so no
content is lost overall — this is a deliberate divergence between the two
decks.

Slide had no data-level, so the journey bar is structurally unaffected.
Renumbered slides 15..53 → 14..52 via sentinel-replacement. Final count: 52.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-30 18:54:39 +05:00
Shayan Rais eb74fba922 add claude-code-best-practice deck — canonical reusable fork from GDG event deck
Forked from presentation/2026-04-25-gdg-kolachi-cli-claude-code-gemini/index.html
on 2026-04-30 to serve as the ongoing main reference deck. Renamed and decoupled
from GDG/Gemini-specific branding:

- title tag, slide-1 H1, subtitle, and HTML banner all read "Claude Code Best Practice"
- favicon swapped from gemini-jumping.svg to claude-jumping.svg
- right-corner global Gemini mascot removed (left Claude mascot kept)
- GDG event badge replaced with neutral GitHub repo badge
- four trailing Gemini-comparison slides removed (49, 50, 51, 52)
- co-presenter intro slide removed
- inline <!-- SLIDE N: ... --> banners fully repaired (1:1 with data-slide values)

Final deck: 48 slides ending with "Thank you" closing slide.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-30 18:54:15 +05:00
Shayan Rais 63090c68ac update gdg-kolachi presentation: clickable disrupt logo, new tool-calling slide, slide reorder
- Swap intro-slide logos from disrupt-logo.png to disrupt.svg (lines 190 and 260)
- Wrap each disrupt logo in <a href="https://disrupt.com" target="_blank" rel="noopener noreferrer"> so the logo opens disrupt.com in a new tab
- Update model-limitation.jpg path from assets/model/ to assets/harness/ to match the asset move
- Insert new "Tool Calling" slide using assets/harness/tool-calling.png; cascading data-slide renumber for all 40 slides at index >= 13 (totals: 52 -> 53)
- Reorder slides 12-14 so the narrative reads Limitations -> Horse+Harness metaphor -> Tool Calling mechanism

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-27 20:37:38 +05:00
Shayan Rais 395e80f67d add tool-calling.png diagram for harness section
Visual aid showing how the model issues tool calls and the harness executes
them against the outside world. Used by the new Tool Calling slide.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-27 20:37:09 +05:00
Shayan Rais 2246512e4d add disrupt.svg vector logo for presentation intro slides
Vector replacement for the previous disrupt-logo.png raster, keeping crisp
rendering at any projection scale.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-27 20:36:55 +05:00
Shayan Rais 2a0bcfa214 move model-limitation.jpg from assets/model/ to assets/harness/
Reorganize the screenshot under harness/ alongside other harness-limitation
assets. File contents unchanged (rename detected as 100% similarity).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-27 20:36:39 +05:00
Shayan Rais f734255f60 rename presentation agent 2026-04-26 17:19:49 +05:00
Shayan Rais 9437efe323 updated 2026-04-26 17:13:50 +05:00
Shayan Rais 8e7f2aa850 updated presentation 2026-04-25 11:59:15 +05:00
Shayan Rais 38aceb25b9 gemini workflow 2026-04-25 11:52:37 +05:00
Shayan Rais e9af40ecb8 FINAL 2026-04-24 21:57:39 +05:00
Shayan Rais 77988f513f Update index.html 2026-04-24 21:55:45 +05:00
Shayan Rais a2612ffddc gemini 2026-04-24 21:47:47 +05:00
Shayan Rais 9f78707d51 workflow added 2026-04-24 21:40:27 +05:00
Shayan Rais deaaccdb61 context 2026-04-24 21:32:03 +05:00
Shayan Rais fcc3830226 skills 2026-04-24 21:18:45 +05:00
Shayan Rais 634ae5f553 context 2026-04-24 20:39:15 +05:00
Shayan Rais 3184fcb604 Update index.html 2026-04-24 20:34:41 +05:00
Shayan Rais b65f9d7c92 Update index.html 2026-04-24 20:31:17 +05:00
Shayan Rais 10937f71cd skills added 2026-04-24 20:26:01 +05:00
Shayan Rais dec7a2ec39 added claudemd 2026-04-24 19:57:59 +05:00
Shayan Rais 10e2042766 Update index.html 2026-04-24 19:43:30 +05:00
Shayan Rais 45e31dc8da added tips 2026-04-24 19:41:17 +05:00
Shayan Rais f61e4c1fd9 video added 2026-04-24 19:29:52 +05:00
Shayan Rais 140828d3d0 Update index.html 2026-04-24 19:26:41 +05:00
Shayan Rais 8142c06afd problem statement 2026-04-24 18:53:27 +05:00
Shayan Rais d1de8a7767 Update index.html 2026-04-24 18:50:28 +05:00
Shayan Rais d5ed84cc80 agent 2026-04-24 18:45:17 +05:00
Shayan Rais 22912d65df remove side loader panel 2026-04-24 18:28:10 +05:00