Commit Graph

59 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
48b519c42e Merge feature/tinytorch-core into feature/book-volumes
# Conflicts:
#	README.md
#	tinytorch/src/01_tensor/01_tensor.py
#	tinytorch/src/15_quantization/ABOUT.md
2026-03-02 09:38:08 -05:00
Vijay Janapa Reddi
ecb3af7fd2 fix(ci): pull before push in all-contributors workflow; add @salmanmkc to tinytorch and kits
- Add git pull --rebase before push so concurrent comment-triggered runs
  don't reject each other (only one of three runs had succeeded for PR 1179).
- Manually add @salmanmkc as code contributor to tinytorch and kits
  (labs was already added by the single successful run).
2026-02-22 14:05:31 -05:00
Vijay Janapa Reddi
62b98edee1 Updates book content and configuration
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.
2026-02-21 08:19:01 -05:00
Vijay Janapa Reddi
9d840fc1a0 Merge branch 'dev' into feature/book-volumes 2026-02-10 13:12:34 -05:00
github-actions[bot]
cdd15b5ca1 Update contributors list [skip ci] 2026-01-25 13:41:02 +00:00
Vijay Janapa Reddi
103545ee23 Merge remote-tracking branch 'origin/dev' into feature/volume-restructure
# Conflicts:
#	.codespell-ignore-words.txt
#	README.md
2026-01-24 18:41:46 -05:00
Didier Durand
72adaae229 [Doc]: fixing some typos (#1133) 2026-01-23 14:00:43 -05:00
Vijay Janapa Reddi
b6d8a8eb64 feat(contributors): add fun emojis, legend, and sorting
- Custom emoji set: 🪲 Bug Hunter, 🧑‍💻 Code Contributor, ✍️ Documentation Hero, etc.
- Add legend to all README contributor sections
- Sort contributors by contribution count (most active first)
- Remove old emoji key links, use inline legend instead
- Sync emoji mappings across both generator scripts
2026-01-22 10:23:30 -05:00
Vijay Janapa Reddi
26e9b65db1 Merge latest dev updates into feat/volume-restructure 2026-01-21 19:30:00 -05:00
Vijay Janapa Reddi
a59a169a7f Add sectioned contributor system with per-project tracking
- Rename workflow to update-contributors.yml (more generic name)
- Add generate_main_readme.py to create sectioned contributor table
- Update main README with sections: Book, TinyTorch, Kits, Labs
- Add contribution type badges (emojis) to contributor entries
- Add Marcelo Rovai to kits contributors
- Update workflow to handle all project contributor files
2026-01-21 19:21:47 -05:00
Vijay Janapa Reddi
1f951c2120 Improve kits section table formatting
Update tables in hardware kits documentation with proper formatting.
2026-01-21 17:12:14 -05:00
Vijay Janapa Reddi
0430c85639 Populate contributors from git history
- Scanned git history for each project folder
- Added historical contributors to .all-contributorsrc files
- Generated README contributor tables with emoji badges
- Added generate_readme_tables.py script for future updates

Contributors added:
- Book: profvjreddi, Mjrovai, GabrielAmazonas, hzeljko
- Kits: profvjreddi
- Labs: profvjreddi
- TinyTorch: AmirAlasady, profvjreddi, kai4avaya, minhdang26403,
             didier-durand, karthikdani, jettythek
2026-01-20 13:48:55 -05:00
Vijay Janapa Reddi
149d945a51 Add per-project All Contributors setup
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
2026-01-20 13:35:00 -05:00
Vijay Janapa Reddi
f31355c889 feat(volumes): implement volume separation for textbook
Add infrastructure for publishing Volume I and Volume II as standalone sites:

Volume Configs:
- Add _quarto-html-vol1.yml, _quarto-pdf-vol1.yml, _quarto-epub-vol1.yml
- Add _quarto-html-vol2.yml, _quarto-pdf-vol2.yml, _quarto-epub-vol2.yml
- Update navbar cross-links in all configs (book, kits, labs)

Volume Content:
- Add vol1/index.qmd, vol1/frontmatter/, vol1/backmatter/
- Add vol2/index.qmd, vol2/frontmatter/, vol2/backmatter/

Landing Page:
- Create landing/index.html with AI Engineering branding
- Add navigation to all resources (Vol I, Vol II, Full, TinyTorch, Kits)

Workflows:
- Add build_target input to book-build-container.yml (combined/vol1/vol2/all)
- Add deploy_target input to book-publish-live.yml
- Add matrix entries for volume-specific builds (Linux)
- Update deployment to handle /book/, /vol1/, /vol2/, and root

CLI:
- Update binder CLI to support --vol1 and --vol2 flags

Documentation:
- Update README.md with volume links and new URL structure
- Update book/README.md with correct paths

URL Structure:
- mlsysbook.ai/ -> Landing page
- mlsysbook.ai/book/ -> Full textbook
- mlsysbook.ai/vol1/ -> Volume I standalone
- mlsysbook.ai/vol2/ -> Volume II standalone
2026-01-10 09:28:25 -05:00
Vijay Janapa Reddi
d1ce3a21a1 fix(kits): repair broken lab links and clarify XIAOML Kit terminology
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.
2026-01-07 08:33:57 -05:00
Vijay Janapa Reddi
c0a91c0467 fix(kits): repair broken lab links and clarify XIAOML Kit terminology
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.
2026-01-07 08:33:40 -05:00
Vijay Janapa Reddi
da8e419df6 Merge dev: bring in infrastructure changes
- Cloudflare migration (Netlify removed)
- Book deployed to /book/
- Publish All workflow
- gh-pages cleanup
- Changelog deprecated
- MIT Press reviewer feedback
- Labs rename (collabs -> labs)
2026-01-06 15:24:07 -05:00
Vijay Janapa Reddi
81041d637d refactor(infra): deploy book to /book/, remove Netlify, use Cloudflare
- 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)
2026-01-06 11:02:25 -05:00
Vijay Janapa Reddi
e5b3902e3f refactor(infra): deploy book to /book/, remove Netlify, use Cloudflare
- 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)
2026-01-06 11:02:13 -05:00
Vijay Janapa Reddi
abcd7e668f feat: add Happy New Year announcement banners across all sites
- 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
2026-01-05 18:55:22 -05:00
Vijay Janapa Reddi
34b350dbec refactor: rename collabs to labs
- 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.
2026-01-05 18:45:50 -05:00
Vijay Janapa Reddi
2f9bde47ea cleanup: remove macOS metadata files from kits
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.
2026-01-04 07:21:37 -05:00
Vijay Janapa Reddi
63a7984c87 feat(kits): add dev preview announcement banner 2025-12-30 22:29:23 -05:00
Vijay Janapa Reddi
9b4888f0ea feat: ecosystem consistency improvements
- 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
2025-12-30 22:23:09 -05:00
Vijay Janapa Reddi
fddbca7e2f Add Open Graph and Twitter Card metadata to all Quarto sites
- 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.
2025-12-30 22:00:11 -05:00
Vijay Janapa Reddi
fc971d47d3 Unify navbar, fonts, and styles across book, kits, and collabs
- 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
2025-12-30 21:41:48 -05:00
Vijay Janapa Reddi
22ae3d92a9 docs: reframe README as AI engineering discipline flagship
- 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
2025-12-29 23:53:05 -05:00
Vijay Janapa Reddi
21f444d45e fix: add favicon config to Kits and Co-Labs html configs 2025-12-29 22:27:06 -05:00
Vijay Janapa Reddi
cba96cbd29 style: ensure subscribe button matches other navbar icons across all projects 2025-12-28 20:37:01 -05:00
Vijay Janapa Reddi
2cd085b22e style: add consistent dark/light mode toggle icons to kits and collabs 2025-12-28 20:22:22 -05:00
Vijay Janapa Reddi
91ebd7b7ed feat: add Co-Labs placeholder infrastructure
- 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
2025-12-28 15:21:51 -05:00
Vijay Janapa Reddi
d4edaea714 style: unify subscribe modal branding and use relative navbar links
- 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
2025-12-28 15:04:02 -05:00
Vijay Janapa Reddi
8b93b586d7 refactor(kits): update CI/CD workflows and add README
- 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
2025-12-28 14:01:08 -05:00
Vijay Janapa Reddi
849c69a8a9 feat(ci): add PDF build and publish workflow for Hardware Kits
- 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
2025-12-28 13:38:47 -05:00
Vijay Janapa Reddi
0492ebaaac feat(kits): add custom TikZ cover page with circuit board design
- 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
2025-12-28 13:25:55 -05:00
Vijay Janapa Reddi
959c6cbedf style: redesign Kits PDF cover per MIT Press guidance
- 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
2025-12-28 12:10:39 -05:00
Vijay Janapa Reddi
6a1e477510 fix: use Arabic page numbers throughout Kits PDF
- 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...)
2025-12-28 12:06:02 -05:00
Vijay Janapa Reddi
c9d0daf8d7 feat: add cover background image to Kits PDF
- 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
2025-12-28 11:28:32 -05:00
Vijay Janapa Reddi
46aa5281da fix: add titlepage-pdf format check to inject_parts filter
The filter was only checking for 'pdf' format but we render with
'--to titlepage-pdf', so the filter wasn't activating
2025-12-28 11:25:41 -05:00
Vijay Janapa Reddi
920b1a418b fix: correct PDF config for part filter and author formatting
- 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
2025-12-28 11:24:15 -05:00
Vijay Janapa Reddi
8327c98696 feat: add subscribe popup modal to Kits site
- 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
2025-12-28 11:21:54 -05:00
Vijay Janapa Reddi
f87c88f699 refactor: switch from profiles to symlink config approach for PDF builds
- 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
2025-12-28 11:17:30 -05:00
Vijay Janapa Reddi
4509f1142a fix: correct PDF build command for unified book output
- 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
2025-12-28 11:10:23 -05:00
Vijay Janapa Reddi
3b10cb2b18 style: update Kits PDF cover to match book's title structure
Cover now reads 'Hands-On Labs for Machine Learning Systems' mirroring
the book's 'Introduction to Machine Learning Systems' format
2025-12-28 11:05:12 -05:00
Vijay Janapa Reddi
5bdec81783 refactor: simplify PDF profile to use only titlepage-pdf format
- 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
2025-12-28 11:02:37 -05:00
Vijay Janapa Reddi
5ed5095118 feat: add titlepage-pdf support for Kits PDF build
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
2025-12-28 10:59:41 -05:00
Vijay Janapa Reddi
628344883a feat: add dark mode support to Kits site
Create dark-mode.scss with teal accent color adaptation and configure
Quarto to enable light/dark theme toggle matching the Book behavior.
2025-12-28 10:53:46 -05:00
Vijay Janapa Reddi
312f7c8dbd docs: add purchase links to platform overview pages
Add "Where to Buy" section to each hardware platform overview page
with direct links to official vendors and current pricing.
2025-12-28 10:06:40 -05:00
Vijay Janapa Reddi
91241ce9ad docs: add textbook connection to Kits opening paragraph 2025-12-28 10:00:10 -05:00
Vijay Janapa Reddi
47cfa50b55 style: remove top margin from carousel caption bar 2025-12-28 09:59:51 -05:00