8428 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
df1c78615a fix(version): update website version to v0.4.2
The v0.4.2 tag was created but the version in index.qmd was not
updated from v0.4.1. This corrects the mismatch between the git tag
and the displayed version on the website.
v0.4.2
2025-11-03 21:19:57 -05:00
Nimo
c3d5e7ca2f Refine explanation of deep learning and AI Triangle
Clarified the description of deep learning's evolution and its impact on machine learning systems engineering.
2025-11-04 15:15:58 +13:00
github-actions[bot]
ffe88812dd chore: update version to v0.4.1 2025-11-04 00:28:34 +00:00
Vijay Janapa Reddi
3da2e722d6 Merge remote-tracking branch 'origin/dev' into dev 2025-11-03 11:41:24 -05:00
github-actions[bot]
250bb65efa Update contributors list [skip ci] 2025-11-03 16:37:53 +00:00
Vijay Janapa Reddi
bbe2c7723f Merge pull request #1026 from harvard-edge/1014-ebook-in-epub-format-fails-to-load-displays-errors
fix(epub): ensure XHTML compliance in frontmatter files
2025-11-03 11:33:04 -05:00
Vijay Janapa Reddi
2d9a092f8d Merge branch 'dev' into 1014-ebook-in-epub-format-fails-to-load-displays-errors
Resolved conflict by keeping improved EPUB-compliant version with html:js
2025-11-03 11:32:34 -05:00
Vijay Janapa Reddi
7459a912e0 fix(epub): ensure XHTML compliance in frontmatter files
- Replace when-format="html" with when-format="html:js" to exclude EPUB
- Remove JavaScript and complex HTML from EPUB builds
- Add conditional content blocks for EPUB/PDF with helpful fallback messages
- Fix foreword.qmd to use native Quarto div syntax instead of raw HTML
- Update acknowledgements with continuously evolving contributor message
- Standardize logo sizes (150px-200px) for consistent appearance
- Update SocratiQ paper link with full title for better citation

This addresses XML parsing errors in EPUB builds caused by JavaScript,
iframes, and style tags that are not reliably supported in EPUB readers.

Key changes:
- acknowledgements.qmd: Conditional display for contributors table/JS
- socratiq.qmd: Conditional display for interactive features
- changelog.qmd: Use html:js instead of html
- index.qmd: Conditional iframe for GitHub button
- foreword.qmd: Replace <div>/<style> with Quarto native syntax

Addresses #1014

Co-authored-by: bluebaer7 <bluebaer7@users.noreply.github.com>
2025-11-03 11:30:04 -05:00
github-actions[bot]
e55a1483a2 Update contributors list [skip ci] 2025-11-03 16:03:23 +00:00
Vijay Janapa Reddi
2c730dda36 feat(tools): add comprehensive spell checking for TikZ diagrams and prose
Add two complementary spell checking tools for content validation:

- check_tikz_spelling.py: Extracts and validates all visible text from
  TikZ diagrams including node labels, inline annotations, custom pics,
  foreach loops, legends, and comments. Uses pattern-based matching for
  common typos with optional aspell integration.

- check_prose_spelling.py: Intelligently parses QMD structure to check
  only actual prose content while excluding YAML frontmatter, code blocks,
  TikZ diagrams, inline code, math expressions, and URLs. Uses aspell with
  comprehensive ignore list of 500+ technical terms and acronyms.

Both tools provide detailed output with file paths, line numbers, and
context for identified spelling errors. The TikZ checker found and enabled
fixing of typos like 'gatewey', 'poihnts', and 'Intellignet' across the
codebase.
2025-11-03 11:01:04 -05:00
Vijay Janapa Reddi
36634cf1d3 Merge pull request #1025 from harvard-edge/1024-typo-in-figure-21
Fixes a typo in Figure 2.1 node label
2025-11-03 10:57:52 -05:00
Vijay Janapa Reddi
4b76522077 Fixes a typo in a node label.
Corrects the spelling of "Intelligent" in the
"Intelligent Device" node label within the TikZ diagram.

Co-authored-by: jianqingdu <jianqing.du@live.cn>
2025-11-03 10:56:58 -05:00
Vijay Janapa Reddi
d120f7209a Merge pull request #1023 from didier-durand/fix-typos-c
Fixing typos in ops.qmd
2025-11-03 10:19:01 -05:00
Didier Durand
b44a3302c2 Fixing typos in ops.qmd 2025-11-03 07:57:10 +01:00
github-actions[bot]
71a2c97d6a chore: update version to v0.4.2 2025-11-03 00:18:21 +00:00
Vijay Janapa Reddi
aae7d2ae78 Updates announcement text for textbook
Updates the announcement text to make it more readable
and improves the call to action link.
2025-11-02 19:11:41 -05:00
Vijay Janapa Reddi
75ab5df5a0 Merge branch 'main' into dev 2025-11-02 18:59:19 -05:00
Vijay Janapa Reddi
131957ae66 Merge remote-tracking branch 'origin/main' 2025-11-02 18:58:47 -05:00
Vijay Janapa Reddi
7f2d2d6900 Merge branch 'dev' 2025-11-02 18:58:36 -05:00
Vijay Janapa Reddi
1f65338dcc Merge remote-tracking branch 'origin/dev' into dev 2025-11-02 18:58:28 -05:00
Vijay Janapa Reddi
0f497a1e27 Updates announcement and author URL
Updates the announcement banner to reflect the December release and 2025 goals.

Updates the author URL to the correct Harvard SEAS page.
2025-11-02 18:58:23 -05:00
github-actions[bot]
6f02418b5a Update contributors list [skip ci] 2025-11-02 22:36:19 +00:00
Vijay Janapa Reddi
cac28b9c1a Merge pull request #1022 from foundingnimo/foundingnimo-patch-4
Fix typos in DARPA Grand Challenge distance
2025-11-02 17:31:47 -05:00
Nimo
f181b65ebf Fix typos in DARPA Grand Challenge distance
Corrected trail length and fixed a typo
2025-11-03 11:15:42 +13:00
github-actions[bot]
af91a61e0e 🚀 Release v0.4.1: Content updates and improvements
Merged dev branch to main for publication.

Release Type: patch
Published by: profvjreddi
Dev Commit: origin/dev
Specific Commit: latest dev
Description: Content updates and improvements
2025-11-02 21:36:05 +00:00
Vijay Janapa Reddi
a9f440cd92 Merge branch 'dev' 2025-11-02 16:22:10 -05:00
github-actions[bot]
f6aca0c3f8 Update contributors list [skip ci] 2025-11-02 20:05:20 +00:00
Vijay Janapa Reddi
c4c44c9958 docs(introduction): clarify Amdahl's Law speedup calculation
Add explicit explanation of why 80% sequential time limits speedup to 1.25x.
Also add Jahnic Beck to contributors for identifying the original calculation error.

Addresses #1009

Co-authored-by: Jahnic Beck <jahnic.beck@kienbaum.de>
2025-11-02 14:43:53 -05:00
Vijay Janapa Reddi
865846eb80 Merge dev into main: baremetal workflow resilience fix
Merges fix for Windows baremetal workflow network timeout issues.
The workflow now handles GitHub API connection failures gracefully.
2025-11-02 13:04:31 -05:00
Vijay Janapa Reddi
3db1d522b2 fix(ci): add timeout and retry logic to baremetal workflow status updates
Adds resilience to GitHub API status update calls in the baremetal workflow
to prevent Windows build failures due to network timeouts.

Changes:
- Add 10 second timeout to curl commands (down from 21+ seconds)
- Add retry logic with 2 attempts and 2 second delays
- Make status updates non-fatal with continue-on-error flag
- Add clear error messaging when API calls fail

The build status updates are now resilient to transient network issues
while preserving the custom status checks that may be used by branch
protection rules or external monitoring.
2025-11-02 13:04:01 -05:00
Vijay Janapa Reddi
d62b6fbfe7 fix(vlm): remove duplicate word in image description
Remove duplicate 'panting' in VLM lab image description output.
The text incorrectly read 'panting or panting' when describing
the dog in the garden scene.
2025-11-02 13:03:12 -05:00
Vijay Janapa Reddi
b0a50866e6 docs(announcements): update 2025 campaign and streamline messaging
- Lead with 2025 goal to reach 10,000 GitHub stars
- Add TinyTorch December release with compelling tagline
- Streamline MIT Press announcement
- Simplify Support Our Mission section on index page
- Remove redundant messaging and awkward star definitions
- Maintain consistent educational mission framing
2025-11-02 12:56:30 -05:00
Vijay Janapa Reddi
94dcb6c95d fix(release): remove redundant H1 title from generated release notes
GitHub release UI already displays the title, so including it in the
markdown body creates visual redundancy. Updated generator to start
directly with description paragraph followed by Key Highlights section.

All existing releases (v0.1.0 through v0.4.1) have been updated to
follow this cleaner format.
2025-11-02 11:28:40 -05:00
Vijay Janapa Reddi
a0f9e9caec fix(changelog): simplify gh-pages detection to any commit
PROBLEM:
- Generator was searching for specific commit messages ('Built site for gh-pages')
- Workflow changed message format to '🚀 Deploy release from commit...'
- This caused it to miss recent October publishes and look back to August

SOLUTION:
- ANY commit to gh-pages branch = publication
- Removed message filtering entirely
- Now uses: git log -n 1 origin/gh-pages (simple and reliable)

RESULT:
- Correctly finds Oct 20, 2025 as last publish (was finding Aug 6)
- Tracks 150 commits since last publish (not 1,491)
- Works regardless of commit message format changes
2025-11-02 11:19:40 -05:00
Vijay Janapa Reddi
c3717f94ba merge: sync main with dev for workflow consistency
Ensures main and dev branches are in sync with identical workflow
files before next publish operation.
2025-11-02 11:16:56 -05:00
Vijay Janapa Reddi
172e148721 merge: sync dev with main including workflow changes
Bringing dev up to date with main branch to ensure workflow files
are synchronized before next publish. This includes the pre-commit
validation fix and all recent main merges.
2025-11-02 11:16:08 -05:00
Vijay Janapa Reddi
28fbd01560 fix(precommit): replace Python 3.10+ union syntax with Optional
Replace 'str | None' with 'Optional[str]' in validate_citations.py
for compatibility with Python 3.9 and earlier versions used in
pre-commit environments.
2025-11-02 11:15:33 -05:00
Vijay Janapa Reddi
2e7bcc97d3 Merge branch 'dev' 2025-11-02 11:11:36 -05:00
Vijay Janapa Reddi
e56563aba4 feat(release): intelligent release notes generator with no fallback text
Completely rewrites release notes generation to parse and use actual changelog data:

BEFORE:
- Returned hardcoded generic text regardless of changelog content
- Had misleading fallback that ignored real changes
- No categorization or analysis

AFTER:
- Parses changelog sections (frontmatter, chapters, labs, appendix)
- Categorizes changes (content, infrastructure, bug fixes)
- Extracts specific items with chapter names and details
- Generates statistics from actual data (61 updates, 29 chapters, etc)
- Fails explicitly if changelog missing (no misleading fallbacks)
- Validates output quality (must be > 100 chars)

Release notes now accurately reflect what actually changed rather than
returning generic marketing text. Critical for proper release documentation.
2025-11-02 11:08:58 -05:00
Vijay Janapa Reddi
a50906fadd Refactors and improves book content
Extensively refactors and improves content across the book, including chapters, labs, and frontmatter.

Key improvements include:
- Enhanced clarity, flow, and accuracy of content
- Standardized formatting and learning objectives
- Improved navigation with section IDs and cross-references
- Incorporated expert feedback and student insights
- Refined image handling and script naming conventions
- Added new content, figures, and concept maps

These changes aim to provide a more comprehensive and impactful learning experience.
2025-11-02 11:04:12 -05:00
Vijay Janapa Reddi
be0694dc2e refactor(maintenance): consolidate release notes scripts into unified tool
Addresses script organization and maintainability:
- Merged generate_release_notes.py and release_notes.py into changelog-releasenotes.py
- Removed deprecated change_log.py (superseded by changelog-releasenotes.py)
- Added diagram-*.pdf to .gitignore (Quarto auto-generated cache files)

This consolidation simplifies the release workflow and eliminates duplicate code.
2025-11-02 11:03:07 -05:00
Vijay Janapa Reddi
7b57c202cf feat(publish): automate version number updates in publish workflow
Add automatic version management to publish-live workflow:

- Update version in index.qmd during publish workflow
- Version calculated based on release type (patch/minor/major)
- Committed to dev branch before merge to main
- Version displayed in title metadata and links to releases page

Changes:
- Add update-version job to publish-live.yml workflow
- Create version-link.js to make version link to GitHub releases
- Add comments in index.qmd documenting automation
- Update PUBLISH_LIVE_WORKFLOW.md with version automation docs
- Include version-link.js in HTML builds

This ensures version number stays in sync with GitHub releases
automatically without manual editing.
2025-11-02 10:44:35 -05:00
Vijay Janapa Reddi
7738c8cc03 Fixes answer redistribution in MCQs
Corrects answer redistribution logic in multiple-choice questions to properly update all references to the answer options being swapped, avoiding double-swapping issues.

Addresses an issue where answer text wasn't correctly updated when MCQ answer options were redistributed. It ensures references to option letters (A, B, C, D) are updated in both "The correct answer is X" and "Option X" contexts within the answer text.
2025-11-02 10:19:06 -05:00
Vijay Janapa Reddi
85ca7b25b6 Refines quiz questions for accuracy/clarity
Corrects factual errors and improves explanations in several
quizzes to enhance learning outcomes and reduce ambiguity.

This update ensures that the quizzes accurately assess
understanding of the course material and provide helpful feedback
to learners.
2025-11-02 10:17:44 -05:00
Vijay Janapa Reddi
518afe5f70 Merge pull request #1021 from harvard-edge/1018-silent-performance-degradation-self-check-question-before-concept-is-introduced
Expands introduction quiz and clarifies skew
2025-11-02 09:21:35 -05:00
Vijay Janapa Reddi
ab477f319b docs(introduction): improve training-serving skew explanation and expand quiz coverage
Updated the training-serving skew explanation in the main text to be clearer
(changed 'an infrastructure issue' to 'which is an infrastructure issue').

Also expanded the quiz section for 'How ML Systems Differ from Traditional
Software' with three additional questions covering:
- Failure mode differences between traditional software and ML systems (MCQ)
- Training-serving skew as an infrastructure vs algorithmic issue (TF)
- Monitoring requirements specific to ML systems (SHORT)

Addresses #1018

Co-authored-by: Nimo <nimo.naamani@gmail.com>
2025-11-02 09:18:17 -05:00
Vijay Janapa Reddi
b4599b04ac fix(quizzes): move silent performance degradation question to correct section
Moved the 'silent performance degradation' self-check question from the
'Defining ML Systems' section to the new 'How ML Systems Differ from
Traditional Software' section where the concept is actually explained.

Also added three additional questions to the new section to provide
comprehensive coverage of:
- Failure mode differences (MCQ)
- Training-serving skew as infrastructure issue (TF)
- Monitoring requirements for ML systems (SHORT)

Updated metadata to reflect 11 sections (was 10).

Addresses #1018

Co-authored-by: Nimo <nimo.naamani@gmail.com>
2025-11-02 09:14:20 -05:00
Vijay Janapa Reddi
bcfbdc9cef Merge pull request #1019 from didier-durand/fix-typos-b
Fixing typos in 2 files
2025-11-02 08:44:18 -05:00
Didier Durand
b56317a842 Fixing typos in 2 files 2025-11-02 07:38:11 +01:00
Vijay Janapa Reddi
c31ed96416 Adapts quote formatting for different outputs
Ensures consistent rendering of the inspirational quote across various output formats (HTML and non-HTML).

This change improves the quote's presentation, making it visually appealing in HTML while maintaining readability in other formats.
2025-11-01 22:25:49 -04:00