Mariano Guerra
FOCWASM25
We decided to do a “digital first” book to take advantage of interactivity and “explorable explanations”, and learned a couple of things along the way.
We also decided that all the code should be in the book and that it should run if you copy and paste the snippets as you read.
To achieve this we had to create most of the tooling around the book ourselves:
• The server that handles authentication and access to the book
• The script that extracts the snippets from the original source code and generates:
◦ The snippets you can copy to clipboard.
◦ The “Copy up to here” code segments.
◦ The checkpoints and chapter modules in the code repo, accessible through stackblitz.
◦ The emit library, a standalone library to emit WebAssembly 1.0 binary modules.
• The early access feedback system using embedded https://hypothes.is/
• PDF generation (puppeteer, pdftk, imagemagick, poppler).
• A tool to generate code snippet ranges for “highlight on text hover”.
We plan on writing about some of our takeaways in the coming weeks, but that will have to wait. 😅
Let us know if you have any questions!Ivan Reese
Patrick Dubroy
03/10/2025, 4:18 PMJ. Ryan Stinnett
03/11/2025, 1:10 PMEzhik
03/11/2025, 4:32 PM