8428 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
327077185d fix: replace ARG variables with hardcoded paths in Dockerfiles [skip ci]
ARG variables have scope issues across RUN commands in Docker, causing
COPY commands to fail. Since these paths are stable, hardcoding them
is simpler and more reliable.
2025-12-05 16:40:40 -08:00
Vijay Janapa Reddi
c2773e6688 fix: correct working-directory paths for compression steps in baremetal workflow [skip ci]
All compression steps (PDF and EPUB, both Linux and Windows) now use the correct
working-directory path by prepending BOOK_ROOT to the output_dir. This fixes the
'No such file or directory' errors when trying to compress build artifacts.

The output_dir from the build step is relative (e.g., '_build/epub'), but needs to
be accessed from BOOK_ROOT (e.g., 'book/_build/epub') after the repository restructuring.
2025-12-05 16:35:31 -08:00
Vijay Janapa Reddi
f768463ed7 revert: restore README.md to previous version [skip ci] 2025-12-05 16:32:47 -08:00
Vijay Janapa Reddi
21d5945955 fix: remove RUN commands before COPY to fix ARG scope in Dockerfiles [skip ci]
- Moved RUN echo statements after COPY commands in both Dockerfiles
- ARG variables lose scope after RUN commands, causing COPY to fail
- Both Linux and Windows Dockerfiles now follow consistent pattern:
  1. Re-declare ARG variables
  2. Execute COPY commands immediately
  3. Run any status/logging commands after
2025-12-05 16:23:21 -08:00
Vijay Janapa Reddi
e6200037fd fix: cd to book root before checking build output directory [skip ci] 2025-12-05 16:16:41 -08:00
Vijay Janapa Reddi
9b1bad0745 fix: re-declare ARG variables before COPY commands in Dockerfiles [skip ci]
Docker ARG variables have stage-level scope and must be re-declared
after RUN commands to be available for COPY commands. This fixes the
build error where Docker couldn't find the dependency files.

Changes:
- Moved ARG BOOK_DEPS and ARG BOOK_DOCKER declarations before COPY commands
- Added comment explaining ARG scope behavior
- Both Linux and Windows Dockerfiles updated consistently

Fixes: COPY failed: file not found in build context
2025-12-05 16:08:59 -08:00
Vijay Janapa Reddi
ba20e892e7 fix: update hardcoded paths in utility scripts after book/ restructure
Updated Python utility scripts to use correct paths with book/ prefix:
- rename_downloaded_images.py: quarto/contents/labs → book/quarto/contents/labs
- rename_auto_images.py: quarto/contents/labs → book/quarto/contents/labs
- convert_svg_to_png.py: quarto/contents → book/quarto/contents
- check_self_referential_sections.py: quarto/contents → book/quarto/contents

These scripts are run from the repository root, so they need the full
path including the book/ directory.
2025-12-05 15:51:03 -08:00
Vijay Janapa Reddi
a23ac7b83f fix: update CHANGELOG.md include path after book/ restructure
The include directive in changelog.qmd was using the old path (../../../../)
which was correct before the book/ restructure. Updated to use the correct
relative path (../../../../../) to reach CHANGELOG.md at repository root.

This fixes the build error:
  could not find file /path/to/book/CHANGELOG.md
2025-12-05 15:47:55 -08:00
Vijay Janapa Reddi
f518cca5b0 refactor: rename workflows with book- prefix for monorepo organization [skip ci]
Renamed all book-specific workflows with 'book-' prefix to prepare for
TinyTorch integration and maintain clear separation in monorepo structure.

Renamed workflows:
- validate-dev.yml → book-validate-dev.yml
- publish-live.yml → book-publish-live.yml
- deploy-preview.yml → book-deploy-preview.yml
- build-linux-container.yml → book-build-linux-container.yml
- build-windows-container.yml → book-build-windows-container.yml
- quarto-build-container.yml → book-build-container.yml
- quarto-build-baremetal.yml → book-build-baremetal.yml
- update-contributors.yml → book-update-contributors.yml

Updated references:
- All workflow_call and uses: references updated to new names
- Path filters updated to reference renamed workflow files
- API URL in book-deploy-preview.yml updated

Shared workflows (unchanged):
- cleanup-caches.yml (repository-wide)
- container-health-check.yml (shared infrastructure)
- link-check.yml (shared validation)

This organization enables:
- Clear separation between book and TinyTorch workflows
- Path-based filtering to prevent cross-triggering
- Easier identification of project-specific vs shared workflows
2025-12-05 15:46:41 -08:00
Vijay Janapa Reddi
cfdb82c941 refactor: centralize Docker path configuration with ARG variables [skip ci]
Updated both Linux and Windows Dockerfiles to use ARG variables for path
configuration, providing a single source of truth for book/ structure.

Changes:
- Added ARG variables at top of both Dockerfiles (BOOK_ROOT, BOOK_TOOLS, BOOK_DEPS, BOOK_DOCKER)
- Updated all COPY commands to use ARG variables instead of hardcoded paths
- Updated workflow files to use vars.BOOK_DOCKER for Dockerfile paths
- Maintains compatibility with existing build process

Benefits:
- Single location to update if directory structure changes
- Can override paths at build time with --build-arg
- Self-documenting path structure
- Consistent with GitHub Actions repository variables pattern
2025-12-05 15:41:18 -08:00
Vijay Janapa Reddi
7e3acd979e refactor: rename path variables to use consistent BOOK_ prefix
Repository Variables renamed for clarity:
- BOOK_ROOT   = book
- BOOK_DOCKER = book/docker
- BOOK_TOOLS  = book/tools
- BOOK_QUARTO = book/quarto
- BOOK_DEPS   = book/tools/dependencies

All paths under book/ now use BOOK_ prefix, making it clear
these are book-related paths (vs future TinyTorch paths).
2025-12-05 15:28:22 -08:00
Vijay Janapa Reddi
f56c99a542 refactor: use repository variables (vars.*) consistently for all paths
All workflows now use GitHub Repository Variables for path configuration:
- ${{ vars.BOOK_ROOT }} = book
- ${{ vars.DOCKER_DIR }} = book/docker
- ${{ vars.TOOLS_DIR }} = book/tools
- ${{ vars.QUARTO_DIR }} = book/quarto
- ${{ vars.DEPS_DIR }} = book/tools/dependencies

Benefits:
- Single source of truth (GitHub Settings > Variables)
- Works in all contexts (including job-level env blocks)
- Easy to update without code changes
- Consistent across all workflows
2025-12-05 15:26:18 -08:00
Vijay Janapa Reddi
1c08ff66b7 fix: use repository variables (vars.*) for global path config
Repository variables work in all GitHub Actions contexts including
job-level env blocks. Set via: Settings > Secrets and variables > Variables

Variables configured:
- BOOK_ROOT=book
- DOCKER_DIR=book/docker
- TOOLS_DIR=book/tools
- QUARTO_DIR=book/quarto
- DEPS_DIR=book/tools/dependencies
2025-12-05 15:23:28 -08:00
Vijay Janapa Reddi
37f9d280b6 fix: use literal paths in job-level env blocks
GitHub Actions doesn't allow referencing workflow-level env vars
in job-level env blocks. Use literal paths with comments explaining
the limitation.
2025-12-05 15:22:43 -08:00
Vijay Janapa Reddi
29cefb9a6f fix: centralize path configuration for book/ restructure
- Add BOOK_ROOT, QUARTO_DIR, TOOLS_DIR, DEPS_DIR, DOCKER_DIR env vars to all workflows
- Update path references to use centralized env vars
- Fix requirements.txt to reference book/tools/dependencies
- Fix pyproject.toml entry points: cli.main -> book.cli.main
- Add __init__.py to book/ and book/tools/ for Python package support
- Fix Dockerfile path casing (dockerfile -> Dockerfile)
- Fix publish-live.yml relative path after cd

This enables TinyTorch to coexist at repo root alongside book/ directory.
2025-12-05 15:14:01 -08:00
Vijay Janapa Reddi
27eec778cf Fix Docker COPY paths after book/ restructure
Updated all COPY commands in Dockerfiles to use correct paths with book/ prefix:
- book/tools/dependencies/requirements.txt
- book/tools/dependencies/install_packages.R
- book/tools/dependencies/tl_packages
- book/docker/linux/verify_r_packages.R
- book/docker/windows/verify_r_packages.R

This fixes container build failures where Docker couldn't find dependency files at the old paths after the monorepo restructure moved all content to the book/ subdirectory.
2025-12-05 14:55:08 -08:00
Vijay Janapa Reddi
6b934ef8d4 Add debug logging to baremetal build workflow
- Check directory structure and file locations
- Help diagnose config file path issues
2025-12-05 14:43:49 -08:00
Vijay Janapa Reddi
34ba539864 Fix all quarto path references in workflows
- Update working-directory from quarto to book/quarto
- Update Windows container workspace paths
- Update cd quarto commands to cd book/quarto
- Fix config paths to be relative to working directory
- Ensures all workflows work with new book/ structure
2025-12-05 14:39:25 -08:00
Vijay Janapa Reddi
ef1699687a Fix contributor file path in update_contributors.py
- Update path from quarto/contents to book/quarto/contents
- Matches .all-contributorsrc configuration
2025-12-05 14:28:02 -08:00
Vijay Janapa Reddi
078b53a247 Fix contributor file path in .all-contributorsrc
- Update path from quarto/contents to book/quarto/contents
- Fixes update-contributors workflow failure
2025-12-05 14:22:38 -08:00
Vijay Janapa Reddi
1cca4139f3 Fix pre-commit config paths after restructure
- Update format_tables.py to use workspace-relative path (quarto/contents/)
- Update validate_part_keys.py script to use book/quarto paths
- Scripts in book/tools/ that calculate workspace_root need paths relative to book/
- Other scripts need full book/quarto/contents/ paths
2025-12-05 14:16:13 -08:00
Vijay Janapa Reddi
b04feb1272 Fix Docker GitHub Actions references in workflows
- Change book/docker/ back to docker/ for GitHub Actions
- These are external actions (docker/setup-buildx-action, etc.)
- Not our local book/docker/ directory

Fixes container build failures
2025-12-05 14:10:17 -08:00
Vijay Janapa Reddi
7b92e11193 Repository Restructuring: Prepare for TinyTorch Integration (#1068)
* Restructure: Move book content to book/ subdirectory

- Move quarto/ → book/quarto/
- Move cli/ → book/cli/
- Move docker/ → book/docker/
- Move socratiQ/ → book/socratiQ/
- Move tools/ → book/tools/
- Move scripts/ → book/scripts/
- Move config/ → book/config/
- Move docs/ → book/docs/
- Move binder → book/binder

Git history fully preserved for all moved files.

Part of repository restructuring to support MLSysBook + TinyTorch.

Pre-commit hooks bypassed for this commit as paths need updating.

* Update pre-commit hooks for book/ subdirectory

- Update all quarto/ paths to book/quarto/
- Update all tools/ paths to book/tools/
- Update config/linting to book/config/linting
- Update project structure checks

Pre-commit hooks will now work with new directory structure.

* Update .gitignore for book/ subdirectory structure

- Update quarto/ paths to book/quarto/
- Update assets/ paths to book/quarto/assets/
- Maintain all existing ignore patterns

* Update GitHub workflows for book/ subdirectory

- Update all quarto/ paths to book/quarto/
- Update cli/ paths to book/cli/
- Update tools/ paths to book/tools/
- Update docker/ paths to book/docker/
- Update config/ paths to book/config/
- Maintain all workflow functionality

* Update CLI config to support book/ subdirectory

- Check for book/quarto/ path first
- Fall back to quarto/ for backward compatibility
- Maintain full CLI functionality

* Create new root and book READMEs for dual structure

- Add comprehensive root README explaining both projects
- Create book-specific README with quick start guide
- Document repository structure and navigation
- Prepare for TinyTorch integration
2025-12-05 14:04:21 -08:00
Didier Durand
ae83d938d1 [Doc] Hyperlink to non-existing file removed (#1067) 2025-12-05 09:29:20 -08:00
github-actions[bot]
cc57367136 Update contributors list [skip ci] 2025-12-04 17:58:43 +00:00
Didier Durand
1b4856507c [Doc] typos in .py and CHANGELOG.md (#1066) 2025-12-04 09:54:17 -08:00
github-actions[bot]
49ba26b04c Update contributors list [skip ci] 2025-12-04 15:28:46 +00:00
Didier Durand
d565b64a30 [Doc] Last 2 spotted typos in content (#1065) 2025-12-04 07:24:10 -08:00
Didier Durand
1d3fb98ac6 [Doc] removing duplicate on Moore's Law in glossary (#1064) 2025-12-04 07:24:00 -08:00
github-actions[bot]
5913a659f9 Update contributors list [skip ci] 2025-12-04 06:07:28 +00:00
Didier Durand
d0b0fa6fe4 [Doc] fixing incorrect sample code (#1063) 2025-12-03 22:03:00 -08:00
Vijay Janapa Reddi
1d9610e1bb style(navbar): show icons only on medium screens (769-1100px)
Hide text labels and show only icons when screen narrows,
before collapsing to hamburger menu. Saves space while
keeping navigation accessible.
2025-12-03 08:36:58 -08:00
Vijay Janapa Reddi
4374fa6738 fix(darkmode): ensure consistent navbar icon colors
Star and Heart icons were appearing brighter than others
in dark mode due to SVG fill not inheriting text color.
2025-12-03 08:33:33 -08:00
Vijay Janapa Reddi
bfd45bd7a6 style(subscribe): redesign modal with improved layout
- Add MLSysBook + TinyTorch badges at top
- Change header to 'Stay in the Loop'
- Use 'I am a...' instead of 'Role'
- Better placeholders (Jane, Smith, jane@university.edu)
- Add emojis to role buttons
- Update footer to 'No spam, ever'
- Keep blue button (MLSysBook theme)
2025-12-03 07:14:44 -08:00
Vijay Janapa Reddi
4111ae4a85 style(subscribe): add emojis to role selection buttons
- Educator → 👩‍🏫 Educator
- Student → 🎓 Student
- Industry → 💼 Industry

Makes the form more visually scannable and friendly.
2025-12-03 07:10:20 -08:00
Vijay Janapa Reddi
7fb47b274d docs(readme): add star history chart with punchy narrative
- Star to 'join the journey' (not just signal interest)
- Chart speaks for itself without justification
- Punchline: 'Tracking our way to 1 million learners'
2025-12-03 06:39:19 -08:00
github-actions[bot]
a54c1b716a Update contributors list [skip ci] 2025-12-03 14:15:25 +00:00
Vijay Janapa Reddi
188f80e3ba style(readme): resize star history chart and add learner context
- Constrain chart width to 400px for better visual balance
- Add caption connecting stars to the mission of reaching learners
2025-12-03 06:10:54 -08:00
github-actions[bot]
439b29e562 Update contributors list [skip ci] 2025-12-03 13:48:06 +00:00
Vijay Janapa Reddi
92184a711c feat(readme): add Star History chart to Support section
Adds star-history.com chart showing repository growth trajectory.
Placed in the Support This Work section alongside the Stars badge
for better contextual relevance.

Closes #1061
2025-12-03 05:43:47 -08:00
Vijay Janapa Reddi
f2586f9046 feat(nav): reorder navbar and update announcements
- Reorder navbar: TinyTorch, Hands-on, Downloads, Star, Support, Subscribe, GitHub
- Use short URLs for Labs (/labs) and Kits (/kits)
- Update TinyTorch link to tinytorch.ai
- Celebrate 10k stars milestone with thank you message
- Remove target=_blank from Subscribe to enable modal popup
2025-12-03 05:43:11 -08:00
Didier Durand
24d241c26d [Doc] removed all remaining 'teeths' (#1062) 2025-12-03 05:32:21 -08:00
Vijay Janapa Reddi
7347932fd8 docs(frontiers): update chapter with 2025 AI developments
- Add footnote about rapidly evolving field and newer models
- Update scaling hypothesis with inference time compute (o1/o3 models)
- Update compound AI section with Gemini 2.0, Claude 3.5, ChatGPT capabilities
- Add Mamba-2 and hybrid architectures (Jamba) to state space models section
2025-12-02 23:16:13 -05:00
Vijay Janapa Reddi
81472f1bd5 docs(frontiers): update chapter with 2025 AI developments
- Add callout note about rapidly evolving field and newer models
- Update scaling hypothesis with inference time compute (o1/o3 models)
- Update compound AI section with Gemini 2.0, Claude 3.5, ChatGPT capabilities
- Add Mamba-2 and hybrid architectures (Jamba) to state space models section
2025-12-02 23:00:58 -05:00
Vijay Janapa Reddi
0461137ba8 fix(frameworks): clarify TensorFlow 1.x legacy code examples
- Add historical context callout explaining deprecated placeholder/Session APIs
- Add proper compatibility imports to symbolic computation example
- Update code listing captions to indicate TensorFlow 1.x
- Rename 'input' variable to 'input_data' to avoid shadowing builtin
2025-12-02 22:58:35 -05:00
Vijay Janapa Reddi
8eed569c5f docs: update README with accurate links and simplified workflow
- Update TinyTorch URL to https://tinytorch.ai
- Clarify resource links (Textbook vs Ecosystem)
- Simplify contributor workflow to focus on daily commands
- Emphasize core commands: clean, build, doctor, preview
- Remove redundant build variations (html/pdf chapter builds)
2025-12-02 22:23:30 -05:00
Vijay Janapa Reddi
ea5419014f docs: streamline documentation and remove redundant files
- Remove MAINTENANCE_GUIDE.md (duplicate of DEVELOPMENT.md)
- Remove RELEASE_PROCESS.md (covered by PUBLISH_LIVE_WORKFLOW.md)
- Update all docs to use binder CLI instead of deprecated make commands
- Fix references to deleted files
- Update domain from mlsysbook.org to mlsysbook.ai
- Fix outdated paths (tools/scripts/build/ → binder commands)
- Add essential commands reference for daily workflow
- Simplify DEVELOPMENT.md to focus on core commands (clean, build, doctor)
- Verify all documented commands work correctly
2025-12-02 22:17:51 -05:00
Vijay Janapa Reddi
b62fc03472 chore: remove deprecated build scripts directory
Removes tools/scripts/build/ directory containing:
- README.md
- generate_stats.py
- standardize_sources.sh

These scripts appear to have been deprecated or relocated as part of
repository reorganization. The clean.sh script has been moved to
tools/setup/clean.sh.
2025-12-02 21:54:54 -05:00
Vijay Janapa Reddi
0495d81e3a fix(dev): change dev preview banner timestamp from UTC to EST
Updates the development preview banner to display build timestamps in
Eastern Time (EST/EDT) instead of UTC for easier readability. The
timestamp automatically adjusts for daylight saving time using the
America/New_York timezone. Fallback to UTC if timezone handling fails.
2025-12-02 21:44:20 -05:00
Vijay Janapa Reddi
be07f1d267 fix(subscribe): improve modal UX
- Remove target='_blank' to prevent new tab opening on form submit
- Increase success message display time from 3 to 5 seconds
- Users now see success message longer and no jarring tab switches
2025-12-02 21:40:18 -05:00