Commit Graph

42 Commits

Author SHA1 Message Date
kai
07b6be7dbe updated-to-latest-dev 2025-11-30 15:21:30 -05:00
Vijay Janapa Reddi
21ef077827 Regenerate demo GIFs and update tape scripts with latest content 2025-11-29 19:16:48 -05:00
Vijay Janapa Reddi
b637176399 Regenerate demo GIFs with updated tape scripts
Updated all carousel demo GIFs using new tape scripts:
- 00-welcome.gif: Updated with latest tape
- 02-build-test-ship.gif: Regenerated with clean setup phase
- 03-milestone-unlocked.gif: Regenerated with improved flow
- 04-share-journey.gif: Regenerated with better presentation

All demos now show cleaner, more professional output.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:28:26 -05:00
Vijay Janapa Reddi
c776519284 Update demo tapes and fix reset command
Demo improvements:
- Add hidden setup phase to demo tapes for clean state
- New benchmark and logo demo tapes
- Improved build-test-ship, milestone, and share-journey demos
- All demos now use Hide/Show for cleaner presentation

CLI fix:
- Add default=None to module reset command argument
- Prevents argparse error when no module specified

Cleanup:
- Remove outdated tinytorch/core/activations.py binary

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:28:19 -05:00
Vijay Janapa Reddi
944f5061b6 Update Demo 00 closing message: PyTorch reference
Changed closing from "Let's build ML from scratch!" to
"Let's recreate PyTorch together!" for clarity and
better framing of TinyTorch's goal.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:49:43 -05:00
Vijay Janapa Reddi
89a9cc5e51 Regenerate all demos from scratch with opening & closing comments
Changes:
- Demo 00: Updated closing comment "Let's build ML from scratch! 🔥"
- All demos: Properly deleted and rebuilt from scratch (no appending)
- All demos: Opening comments explain what will be shown
- All demos: Closing comments celebrate the achievement
- All demos: Show cd and activate commands (transparency)
- Demo 03: Only hides module 01-06 fast-forward
- All demos: Custom TinyTorch theme colors

File sizes verify fresh builds:
- Demo 00: 177K (was 219K)
- Demo 02: 1.6M (was 3.2M)
- Demo 03: 1.2M (was 1.7M)
- Demo 04: 1.0M (was 1.2M)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:35:47 -05:00
Vijay Janapa Reddi
f02f861cf9 Regenerate demo 04 GIF with opening comment
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:27:21 -05:00
Vijay Janapa Reddi
5cf0150805 Add BatchNorm and data augmentation to CIFAR-10 milestone
- Enhanced CIFAR-10 CNN with BatchNorm2d for stable training
- Added RandomHorizontalFlip and RandomCrop augmentation transforms
- Improved training accuracy from 65%+ to 70%+ with modern architecture
- Updated demo tapes with opening comments for clarity
- Regenerated welcome GIF, removed outdated demo GIFs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:27:15 -05:00
Vijay Janapa Reddi
459a031f74 Regenerate demos 00, 02, 04 with opening comments and visible setup
All demos now:
- Start with opening comment explaining what will be shown
- Show cd and source activate.sh commands to users
- Use custom TinyTorch theme colors
- Only hide fast-forward module completions (Demo 03)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 12:11:20 -05:00
Vijay Janapa Reddi
df0ece034e Fix demo visibility: Show setup commands, only hide fast-forwards
Key changes:
- SHOW cd and source activate.sh in all demos (users see full setup)
- ONLY use Hide for Demo 03's module 01-06 completions (fast-forward)
- Remove unnecessary clear command
- Add module reset to demo script for clean slate

This ensures users see the real workflow while keeping demos concise.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:50:53 -05:00
Vijay Janapa Reddi
b461340e34 Fix first frame issue: Show activation output instead of empty prompt
Moved Show command to appear after source activate.sh completes,
so the first visible frame shows the activation finishing instead
of an empty prompt. This makes the recording flow more natural.

Changes:
- cd command stays hidden
- source activate.sh runs inside Hide block
- Show appears after activation completes
- First frame now shows activation output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:43:04 -05:00
Vijay Janapa Reddi
58fe9363f0 Simplify CLI welcome screen and remove redundant community commands
Dramatically simplified the welcome screen to show only essential info:
- Quick Start (3 commands)
- Track Progress (2 commands)
- Community (1 command)

Removed redundant commands:
- leaderboard -> merged into community
- olympics -> merged into community

These backend-dependent features are consolidated into a single
community command that will handle all social features when the
backend is ready.

Changes:
- Simplified welcome screen (10 lines vs 40+ lines)
- Moved leaderboard.py and olympics.py to _archived/
- Updated all tests (45 passing)
- Cleaner --help output
- Updated archived README

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:41:51 -05:00
Vijay Janapa Reddi
456041a1cb Regenerate all demos with TinyTorch custom theme
All 4 demos now use the custom TinyTorch color palette:
- Demo 00 (Welcome): 440K - Shows TinyTorch branding
- Demo 02 (Build, Test, Ship): 3.3M - Module workflow
- Demo 03 (Milestone Unlocked): 1.7M - Milestone achievement
- Demo 04 (Share Journey): 1.1M - Community engagement

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:35:21 -05:00
Vijay Janapa Reddi
551fc514a7 Add custom TinyTorch theme to all demos
Replaced Catppuccin Mocha with custom TinyTorch theme matching
our brand colors:
- Dark background (#1E1E2E) for modern look
- Pastel colors (pink, green, yellow, blue, magenta, cyan)
- Consistent with TinyTorch's fire/torch aesthetic

All demos now have unified, branded color scheme!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:29:03 -05:00
Vijay Janapa Reddi
d9bb2496b7 Add styling to Demo 00: margin, border radius, loop offset
Added the same professional styling to Demo 00 (Welcome) that
the other demos have:
- Margin 20px
- MarginFill #1E1E2E
- BorderRadius 10px
- LoopOffset 10%

Now all demos have consistent polished styling!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:27:54 -05:00
Vijay Janapa Reddi
2e412bc8b6 Fix all demo tapes: WindowBar at top, proper module completions
- Moved Set WindowBar Colorful to top of all tapes (required by VHS)
- Demo 03: Changed to properly complete modules 01-06 (not just export)
  - Uses Hide/Show pattern to complete modules 01-06 in background
  - Then shows module status to prove modules are completed
  - This ensures milestone 03 prerequisites are met

All tapes now follow VHS best practices!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 11:22:24 -05:00
Vijay Janapa Reddi
5db3aa1457 Regenerate demos with all improvements: better examples, styling, and polish
All demos now feature:
- Margin (20px) + MarginFill (#1E1E2E) for depth
- BorderRadius (10px) for modern polished look
- LoopOffset (10%) for better GIF preview

Demo 02 (Build, Test, Ship) - 3.4M:
- Better Tensor example shows sigmoid curve: [-2.0, -1.0, 0.0, 1.0, 2.0]
- Changed message: "You didn't just import it. You BUILT it!"

Demo 03 (Milestone Unlocked) - 1.7M:
- Shows module status for context
- Fixed: tito milestones (not milestone)
- Hidden setup exports modules 01-06 before showing 07

Demo 04 (Share Journey) - 1.5M:
- Correct prompts: GitHub username, Country, Institution
- Removed incorrect "intermediate" prompt

All commands tested and verified working!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 10:54:32 -05:00
Vijay Janapa Reddi
2995b34d96 Improve all demo tapes: better examples, correct commands, polished styling
Demo 02 (Build, Test, Ship):
- Changed to "You didn't just import it. You BUILT it!"
- Better Tensor example: sig(Tensor([-2.0, -1.0, 0.0, 1.0, 2.0]))

Demo 03 (Milestone Unlocked):
- Added module status to show context
- Fixed command: tito milestones (not milestone)
- Hidden setup: export modules 01-06 before showing module 07

Demo 04 (Share Journey):
- Fixed community prompts: GitHub username, Country, Institution
- Removed incorrect "intermediate" prompt

All demos:
- Added Margin (20px) + MarginFill (#1E1E2E) for depth
- Added BorderRadius (10px) for polished look
- Added LoopOffset (10%) for better GIF preview frame

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:47:20 -05:00
Vijay Janapa Reddi
86d640f66b Regenerate demos 02, 03, 04 with verified working commands
All demos have been regenerated with:
- Fixed cd to TinyTorch directory
- Working module complete command (after fixing import bug)
- Verified Python imports work correctly
- Consistent @profvjreddi 🔥 › prompt

All commands tested and verified before recording.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:17:06 -05:00
Vijay Janapa Reddi
ad0a0d503d Regenerate Demo 00 with working cd command
Fixed Demo 00 to properly cd into TinyTorch directory before
activating environment. The demo now works correctly and shows
the full tito welcome screen at 1280x1000 dimensions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 21:04:52 -05:00
Vijay Janapa Reddi
bb5e631214 Remove checkpoint command (superseded by milestones)
The checkpoint command tracked 21 technical capability checkpoints, but
this overlapped significantly with the milestones system which provides
a more engaging, narrative-driven progress tracking experience.

Changes:
- Removed checkpoint command and test files
- Updated milestone.py to remove checkpoint dependencies
- Removed checkpoint integration from export.py, src.py, leaderboard.py
- Updated CLI help text to reference milestones instead
- Updated test suite (49/49 tests passing)
- Archived checkpoint.py for reference

Rationale:
- Milestones is more engaging (historical ML achievements)
- Module status already shows granular progress
- Reduces duplication and confusion
- Single clear progress tracking system

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 01:24:25 +01:00
Vijay Janapa Reddi
f6c0e21b42 Fix all demo tapes: Add cd to TinyTorch directory
All VHS tapes now include a hidden `cd /Users/VJ/GitHub/TinyTorch`
command before activating the environment. This ensures the demos
work regardless of where VHS is run from.

Updated demos:
- 00-welcome: Fixed and regenerated (259K)
- 02-build-test-ship: Added cd command
- 03-milestone-unlocked: Added cd command
- 04-share-journey: Added cd command

All tapes now work reliably!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:43:01 +01:00
Vijay Janapa Reddi
7ee171dfd2 Update Demo 00: Use taller dimensions to show full tito output
Changed height from 720 to 1000 pixels so the entire tito welcome
screen is visible without scrolling. The full command reference is
now readable in the GIF.

Bonus: File size reduced from 170K to 51K due to better aspect ratio.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:37:21 +01:00
Vijay Janapa Reddi
a3c9f5dc52 Organize demo files: move GIFs to gifs/ subdirectory
Improved demo file organization:
- Created docs/_static/demos/gifs/ for all GIF outputs
- Updated all tape files to output to gifs/ folder
- Moved all existing GIFs to new location

Directory structure:
docs/_static/demos/
├── gifs/           (all GIF outputs)
├── tapes/          (all VHS tape scripts)
├── scripts/        (helper scripts)
├── README.md
└── WORKFLOW.md

This makes the demos directory much cleaner and easier to navigate.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:29:48 +01:00
Vijay Janapa Reddi
677f1fd263 Update Demo 00: Hide activation step for cleaner presentation
Changed welcome demo to use Hide/Show to skip the environment
activation step. Now the GIF starts directly with 'tito' appearing,
making it cleaner and more focused on the beautiful logo and
command reference.

Perfect first impression - just the branding!

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:23:11 +01:00
Vijay Janapa Reddi
bee62ee52a Add Demo 00: Welcome screen showcasing TinyTorch branding
Created a simple, impactful demo that shows:
- The beautiful ASCII TORCH logo
- The "Don't just import it. Build it." tagline
- Complete command reference organized by category
- Quick start guide

Perfect for:
- Social media posts
- README hero image
- First impression for new students

Demo 00 (Welcome): 1.5M

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:21:09 +01:00
Vijay Janapa Reddi
a43a834987 Regenerate all demo GIFs with consistent @profvjreddi prompt
Updated all demo tapes (02, 03, 04) to:
- Use consistent prompt: "@profvjreddi 🔥 › "
- Add "source activate.sh" at beginning to ensure tito is available
- This makes demos work when starting from a fresh terminal

Regenerated GIFs:
- Demo 02 (Build, Test, Ship): 3.2M (was 699K - now includes activation)
- Demo 03 (Milestone Unlocked): 273K (was 143K - now includes activation)
- Demo 04 (Share Journey): TBD

All demos now show the proper branded prompt throughout.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:16:34 +01:00
Vijay Janapa Reddi
204ac81b42 Make CLI welcome screen dynamically generated from registered commands
- Remove hardcoded command list in welcome screen
- Dynamically build help from self.commands registry
- Categorize commands: Essential, Student Workflow, Community, Developer, Shortcuts
- Ensures welcome screen always shows only registered commands
- No more stale command references

Benefits:
- Single source of truth (commands registry)
- Adding/removing commands automatically updates welcome
- Clear categorization for different user roles

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:14:49 +01:00
Vijay Janapa Reddi
f36abec2e7 Fix module completion tracking and add sequential validation
- Remove module from started_modules when marking complete
- Add validation to prevent completing modules out of order
- Show all modules in status (removed smart collapsing)
- Fix data integrity: modules must be completed sequentially

Prevents invalid states where module N is complete but N-1 is not.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:08:52 +01:00
Vijay Janapa Reddi
02553314d3 Fix demo tapes 03 and 04: use Sleep instead of Wait for reliability
Changed VHS Wait syntax to simple Sleep commands for more reliable demo recording.
The Wait+Line syntax was unreliable with the fire emoji prompt pattern.

Generated GIFs:
- Demo 02 (Build, Test, Ship): 699K
- Demo 03 (Milestone Unlocked): 143K
- Demo 04 (Share Journey): 124K

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 00:01:31 +01:00
Vijay Janapa Reddi
54c357f566 Update demo scripts and add README for demo workflow 2025-11-28 22:35:20 +01:00
Vijay Janapa Reddi
d3a38a75c0 Remove --skip-checks from milestone demo tape 2025-11-28 22:32:32 +01:00
Vijay Janapa Reddi
d72a637dd1 Add website static assets (CSS, JS, logos, demos) 2025-11-28 22:06:02 +01:00
Vijay Janapa Reddi
fe16495652 Fix 'TinyTorch already exists' error in GIF generation
Clean /tmp/TinyTorch before EACH GIF generation, not just once at the start.

VHS executes real commands and captures actual output, so if /tmp/TinyTorch exists from a previous GIF, the git clone will fail with 'already exists' error.

Now each GIF gets a clean environment:
  🧹 Cleaning /tmp/TinyTorch for this GIF...

This ensures GIF 01 shows successful clone on every generation.
2025-11-28 06:20:33 +01:00
Vijay Janapa Reddi
e77d29bb54 Regenerate all demo GIFs with environment activation
All 4 GIFs now properly activate the environment before running tito commands.

Changes:
- GIF 01: Updated with measured timing (9s setup, 3s clone)
- GIF 02: Added 'source activate.sh' before tito module commands
- GIF 03: Added 'source activate.sh' before tito milestones commands
- GIF 04: Added 'source activate.sh' before tito community commands

File sizes:
- 01-zero-to-ready.gif: 467KB → 514KB
- 02-build-test-ship.gif: 200KB → 1.3MB (added activation)
- 03-milestone-unlocked.gif: 87KB → 1.1MB (added activation)
- 04-share-journey.gif: 108KB → 942KB (added activation)

All GIFs now show working commands with proper activation sequence.
2025-11-28 06:18:21 +01:00
Vijay Janapa Reddi
1f5d05c0a6 Add 'source activate.sh' to all demo GIFs that use tito commands
Fixed GIFs 02, 03, and 04 to activate the environment before running tito commands.

Without activation, tito commands fail with 'command not found' error.

Each GIF now starts with:
  Type "source activate.sh"
  Sleep 300ms
  Enter
  Sleep 1s

This ensures tito is available in PATH before any tito commands execute.

GIF 01 already had activation as part of the setup workflow demo.
2025-11-28 06:11:14 +01:00
Vijay Janapa Reddi
aa28976edd Add execution timing measurements for accurate VHS delays
Test script now measures actual execution time for every command using Python's time.time(), outputting recommendations to /tmp/tinytorch_timing.txt.

Measured timings:
- git clone: 3s (varies by network, using safe 3s)
- setup-environment.sh: 9s (measured 8.6s)
- tito system health: 0.5s (show for 3s for readability)
- tito module status: 0.2s (show for 3s)
- tito logo: 0.1s (show for 6s)

Updated 01-zero-to-ready.tape with measured delays to ensure:
- GIF shows actual command completion
- No typing ahead before previous command finishes
- Realistic demo of student experience

This fixes the issue where VHS would type commands faster than they execute.
2025-11-28 06:06:47 +01:00
Vijay Janapa Reddi
09cde682b1 Remove cleanup command from demo GIF, handle in scripts instead
Students should see the clean first-time workflow, not our test infrastructure.

Changes:
- VHS tape: Shows 'cd /tmp' then 'git clone' (no rm -rf)
- generate.sh: Cleans /tmp/TinyTorch BEFORE running VHS
- test_demo_workflow.sh: Already cleaned before testing
- README: Documents the separation of concerns

This presents the ideal student experience while maintaining reproducibility:
- Students: See clean setup flow (cd → clone → setup)
- Scripts: Handle cleanup behind the scenes
- Tests: Validate fresh environment every time

GIF size: 494KB → 467KB (optimized further)
2025-11-28 05:54:12 +01:00
Vijay Janapa Reddi
391a54a39d Add comprehensive demo workflow documentation
Document the improved demo testing and generation workflow:
- Explains test_demo_workflow.sh purpose and usage
- Describes cleanup strategy to prevent 'directory exists' errors
- Provides troubleshooting guide for common issues
- Documents best practices for updating demo commands
- Maps file locations and workflow architecture

This ensures future demo updates maintain quality and accuracy.
2025-11-28 05:44:08 +01:00
Vijay Janapa Reddi
e8a55f4252 Update demo GIFs with improved workflow and command fixes
Regenerated all 4 demo GIFs with:
- Added cleanup step (rm -rf /tmp/TinyTorch) to prevent "directory exists" errors
- Fixed command names (tito status → tito module status)
- Validated workflow with test_demo_workflow.sh script

The test script ensures reproducible demo generation by:
1. Cleaning /tmp/TinyTorch before clone
2. Running actual setup and TITO commands
3. Logging all output for verification

GIF sizes after regeneration:
- 01-zero-to-ready.gif: 814KB → 494KB (optimized)
- 02-build-test-ship.gif: 200KB (stable)
- 03-milestone-unlocked.gif: 86KB → 87KB
- 04-share-journey.gif: 105KB → 108KB
2025-11-28 05:43:17 +01:00
Vijay Janapa Reddi
2d3440722d Add demo workflow testing and update VHS tapes
- Create comprehensive test script for demo workflow validation
- Clean /tmp/TinyTorch before cloning to avoid conflicts
- Test full workflow: clone, setup, tito commands
- Update VHS tapes with proper cleanup steps
- Fix command names (tito status -> tito module status)
- Regenerate all 4 demo GIFs with corrected commands
- Log all test output for validation
2025-11-28 05:41:12 +01:00
Vijay Janapa Reddi
32bdfcddf4 Add demo GIFs and generation scripts
- Generated 4 carousel GIFs using VHS (1.2MB total)
  - 01-zero-to-ready.gif (814KB)
  - 02-build-test-ship.gif (200KB)
  - 03-milestone-unlocked.gif (86KB)
  - 04-share-journey.gif (105KB)

- Added VHS tape files for reproducible generation
- Added scripts: generate.sh, optimize.sh, validate.sh
- Fixed paths from site/ → docs/ structure

GIFs show:
1. Quick setup (clone, setup, activate, status, logo)
2. Module workflow (start, work, complete, import)
3. Milestone recreation (Rumelhart 1986)
4. Community engagement (join, update)

To regenerate: bash docs/_static/demos/scripts/generate.sh
2025-11-28 05:25:12 +01:00