Refines book abstracts, table of contents, and diagram configurations for improved clarity and structure.
This commit enhances the descriptions of both Volume I and Volume II, emphasizing their respective focuses. It also introduces a framework decision tree to guide the selection of parallel training strategies and inference frameworks, and diagrams for visualizing hardware constraints.
Set up separate contributor tracking for each sub-project:
- book/.all-contributorsrc - Book content contributors
- kits/.all-contributorsrc - Hardware kit contributors
- labs/.all-contributorsrc - Lab exercise contributors
- tinytorch/.all-contributorsrc - Framework contributors
Each project now has:
- Its own .all-contributorsrc config file
- Contributors section in README with All Contributors format
- Project-specific contribution types in the recognition guide
- Cheatsheet in CONTRIBUTING.md (where applicable)
Added @AmirAlasady as first TinyTorch contributor for bug report #1122.
Usage: Comment on any issue/PR with:
@all-contributors please add @username for bug, code, doc, or ideas
Lab links using @sec-... cross-references were not resolving in
markdown links, causing 404 errors. Replaced with relative file paths.
Also clarified the distinction between XIAO ESP32S3 Sense (Vision/Sound)
and XIAOML Kit (Vision/Sound/Motion via expansion board IMU) throughout
the kits documentation for consistency.
Lab links using @sec-... cross-references were not resolving in
markdown links, causing 404 errors. Replaced with relative file paths.
Also clarified the distinction between XIAO ESP32S3 Sense (Vision/Sound)
and XIAOML Kit (Vision/Sound/Motion via expansion board IMU) throughout
the kits documentation for consistency.
- Deploy textbook to /book/ subdirectory instead of root
- Remove Netlify config (netlify.toml, _redirects files)
- Remove Netlify badges from footer, index, and acknowledgements
- Add root index.html redirect to /book/ as fallback
- Simplify deployment (no more tinytorch/kits preservation needed)
- Update 404.qmd with correct paths
- Each subsite now deploys to its own directory:
/book/ (textbook), /kits/ (hardware), /tinytorch/ (framework)
- Deploy textbook to /book/ subdirectory instead of root
- Remove Netlify config (netlify.toml, _redirects files)
- Remove Netlify badges from footer, index, and acknowledgements
- Add root index.html redirect to /book/ as fallback
- Simplify deployment (no more tinytorch/kits preservation needed)
- Update 404.qmd with correct paths
- Each subsite now deploys to its own directory:
/book/ (textbook), /kits/ (hardware), /tinytorch/ (framework)
- Book: New Year greeting + navbar, TinyTorch, Kits, Newsletter
- Kits: New Year greeting + navbar, Kits intro, Textbook link
- Labs: New Year greeting + navbar, Labs coming 2026, Textbook link
- Rename collabs/ directory to labs/
- Rename workflow files: collabs-publish-*.yml → labs-publish-*.yml
- Update all paths in workflows, Quarto configs, and navbars
- Update cross-references in book, kits, and dev-landing
- Update site-url to mlsysbook.ai/labs/
Note: GitHub repo variable DEV_COLLABS_PATH needs to be renamed
to DEV_LABS_PATH in repository settings.
Remove 23 accidentally committed ._*xref.json files that are
macOS resource fork metadata. These files serve no purpose in
the repository and clutter the codebase.
- Add custom 404 pages for Kits, Collabs, and TinyTorch
- Update OG images to use high-res book cover (1200x630px)
- Add PWA support with site.webmanifest and apple-touch-icon
- Enable TOC for Collabs (was disabled)
- Move subscribe-modal.js to _brand as shared asset
- Add theme-color meta tags matching project accent colors
- Book: site-url, description, og:image with cover art
- Kits: site-url, description, og:image with favicon
- Collabs: site-url, description, og:image with favicon
Enables proper social media previews when sharing links on
LinkedIn, Twitter, Facebook, Discord, Slack, etc.
- Add Google Fonts loading (Inter, JetBrains Mono) to all projects
- Align typography and navbar styling across ecosystem
- Update _brand/base.scss as canonical reference for shared styles
- Update _brand/tokens.scss to match book crimson accent
- Add consistent mobile responsive styles to collabs
- Document architecture for maintaining style consistency
- Add punch line and mission statement establishing AI engineering
- Rename "About This Project" to "About the Ecosystem"
- Update Learning Stack diagram with systems-focused descriptions
- Move "Start Here" earlier for immediate action orientation
- Add Research to Teaching Loop section under What Makes This Different
- Expand Support section with mission tracking and impact explanation
- Update book/README.md with detailed learning content
- Update kits/README.md with consistent template structure
- Fix all kits links to use mlsysbook.ai/kits
- Change voice from "I" to "we" throughout
- Add collabs/ directory with Quarto project configuration
- Create landing page with "Coming 2026" placeholder content
- Add CI/CD workflow for dev deployment (collabs-publish-dev.yml)
- Update navbar in book and kits to link to /collabs/
- Add .gitignore to exclude tex build artifacts from book
- Update all subscribe modals to show just "MLSysBook" branding
- Change navbar project links to relative paths for dev site compatibility
- Update book, kits, and tinytorch configs consistently
- Change workflow icon to 📦 (package)
- Update dev workflow to deploy via SSH to dev repo
- Use DEV_KITS_PATH variable for consistency
- Add README.md with quick start and directory structure
- Create kits-build-pdfs.yml using Docker container with TeX Live
- Update kits-publish-dev.yml to build PDF and deploy with site
- Update kits-publish-live.yml to build PDF and deploy with site
- Add Downloads menu to navbar with Hardware Kits PDF link
- Add _redirects for /kits/pdf shortcut
- Create custom LaTeX cover page using labdivision-style circuit decorations
- Use teal brand color with traces, nodes, and subtle geometric background
- Display HARDWARE/KITS title on two lines with authors and companion text
- Remove titlepage extension config in favor of custom LaTeX implementation
- Add titlepage-bg.tex for potential future background customization
- Remove background image (was too similar to main textbook)
- Use teal (#0d9488) solid color cover with white text
- Update author attribution: 'Marcelo Rovai, with Vijay Janapa Reddi'
- Add 'A Companion to Introduction to Machine Learning Systems' tagline
- Creates distinct visual identity while maintaining series connection
- Remove Roman numeral frontmatter/mainmatter switching
- Set Arabic page numbering in before-body-includes.tex
- Simplify chapter command to just reset footnote counter
- All pages now use regular numbers (1, 2, 3...) not (i, ii, iii...)
- Copy cover-image-transparent.png from book
- Add coverpage-bg-image and bg-image positioning config
- Add coverpage-author array for proper cover formatting
- Creates visual consistency with main textbook
- Fix filter-metadata format for inject_parts.lua (nested under filter-metadata.part-summaries)
- Change author to array format for proper newline separation
- Update titlepage elements with separate author lines
- Copy subscribe-modal.js from book
- Update navbar Subscribe link to use local #subscribe
- Add script include to HTML format config
- Modal now opens in-place instead of redirecting to mlsysbook.ai
- Move _quarto.yml to config/_quarto-html.yml
- Move profile PDF config to config/_quarto-pdf.yml
- Create symlink _quarto.yml -> config/_quarto-html.yml
- Update Makefile to switch configs via symlink (matches book approach)
- This fixes the per-file PDF rendering issue caused by profile merging
- Use 'quarto render --profile pdf' instead of '--to titlepage-pdf'
- Rename format from titlepage-pdf to pdf (extension adds titlepage filters)
- Profile approach works correctly with book project type
- Remove redundant standard PDF format from profile
- Update Makefile to use 'quarto render --to titlepage-pdf --profile pdf'
- Streamline build process to single PDF format with cover page
Copy mlsysbook-ext/titlepage extension from book and configure
titlepage-pdf format with custom cover page for Hardware Kits PDF.
Build with: quarto render --to titlepage-pdf --profile pdf
Updated prices across all pages based on current retailer pricing:
- XIAOML Kit: ~$40 (was $15-50)
- Grove Vision AI V2: ~$25 (was $20-30)
- Arduino Nicla Vision: ~$95 (was $100-120)
- Raspberry Pi: $60-145 (reflects 2025 price increases)
Also fixed carousel caption bar padding for even spacing.
Getting Started:
- Restructured as step-by-step guide (Select → Setup → Choose Lab → Start)
- Added textbook connection section for academic context
- Clearer prerequisite expectations
Platforms:
- Renamed title from "Hardware Kits" to "Hardware Platforms" (avoid site title collision)
- Removed system requirements (moved to IDE Setup where they belong)
- Focused purely on hardware specifications and comparisons
IDE Setup:
- Added System Requirements section (moved from Platforms)
- Streamlined introduction
- Now contains all setup-related prerequisites in one place
Style:
- Improved carousel caption bar legibility (bolder text, larger font)