http://journal.stuffwithstuff.com/2021/07/29/640-pages-in-15...
http://journal.stuffwithstuff.com/2021/07/29/640-pages-in-15...
This is great to hear. When I read about your build system in Crafting "Crafting Interpreters" <https://journal.stuffwithstuff.com/2020/04/05/crafting-craft...>, I had hopes that your next bugbite would be fleshing out half of a quasi-literate programming tool. For a compiler writer, who also happens to be writing a book, the circumstances and fit seem just too natural to avoid it.
I'm looking forward to diving into your Markdown package, too, and expect that it will be easy to port to JS. Nowadays, whenever I need a library for a JS project, my first choice is to check for a clean Dart, Haxe, or Java implementation that does what I want, with the intent of porting it, rather than disadvantaging myself by relying on whatever the NodeJS community has cobbled together and put on NPM. <https://news.ycombinator.com/item?id=24495646>
EDIT: There is a typo "CCS" in the blog post. Highlighted: <https://hyp.is/d2cCEPCLEeu7jSft-ex2Ug/journal.stuffwithstuff...>
Congrats on getting over the finish line, by the way. It's a huge accomplishment.
If you buy a print copy and email me some kind of confirmation, I'd be happy to send you the PDF or EPUB file.
Thank you!
> did you consciously decide to turn off tagged PDF
I did not. I did export an interactive PDF from InDesign and took care to make sure that the table of contents and internal links work, but I have zero experience in PDF accessibility. I'll take a look into it and see what I can figure out.
You and 99% of people who have ever produced a PDF file, I would guess. Which is why I wish InDesign would do the right thing by default. No big deal for this book since it's available in other formats, and I don't regret purchasing the PDF, but so many other books and documents are made available only as PDF.
This book has been a life saver during the pandemic, not only the world situation but I personally was a bit disappointed with my career. I was inspired by one of your posts where you mention that you were writing every single day for four years. I decided to use the same approach and I started reading the book and coding a bit every single day. I was able to finish it completely and I wrote two implementations of Lox. I just ordered a paper copy, from the PDF sample it seems it looks gorgeous!
Thank you very much for such a great contribution to the world!
Yes! It is the dumbest, weirdest life hack, but it seems to work for perfectionists like us.
[1] https://journal.stuffwithstuff.com/2020/04/05/crafting-craft...
I started working on the second part (decided I'd do this one in Rust instead of C), but got distracted by other things and never got around to picking it up again. I look forward to getting back to it!
Thanks again, and congratulations on getting to this publishing stage!
https://ceronman.com/2021/07/22/my-experience-crafting-an-in...
As the saying goes, your books spark joy. Thank you.
OT: Do I need to purchase the pdf separately if I purchase the print book?
Can't wait to hear what you announce next.
Edit: I guess that’s here: https://github.com/munificent/craftinginterpreters/blob/mast...
https://github.com/munificent/craftinginterpreters/tree/mast...
The way you made your book(s), from making them available online for free to the excellent layout of the printed version, was a huge inspiration for me to write my own book. Thank you.
And you absolutely should be proud of your PDF->PNG->Highlight diffs script. As someone who has kept excel files and PDFs in version control I knew exactly the feeling you were talking about. I got to that part and exclaimed out loud, "Damn cool!"
Hot tip for handling office file formats or anything that uses a ZIP container: just unzip them and commit that to the repo. It won't fix the issue mentioned of the authoring tool making seemingly arbitrary and unnecessary changes, nor will it give you nifty visual diffs, but it's better than shuffling binary blobs through your version control tools.
Actually, it should (precisely _because_ of Git's approach to storing blobs) but that's besides the point. Saving space had nothing to do with the motivation for the earlier comment.
> in fact it will probably use more
No.
Congratulations on finally putting this project to rest.
I look forward to reading this!
I like to think of it as "carbon capture representation" these days.
After seeing this HN post yesterday, I bought your /Crafting Interpreters/ book to see if it could help me evolve my AST-walker into a threaded-interpreter (using GNU's computed goto-label extension.) I find your writing style to be just the right mix of humor and content to keep me engaged.
http://craftinginterpreters.com/optimization.html#where-to-n...
I have absolutely nothing planned after this. I plan to not have any plans for a while. :)
https://www.youtube.com/watch?v=iN1MsCXkPSA
It's, like, comically time consuming. But also pretty satisfying.
https://www.staples.com/TOPS-Engineering-Computation-Pad-Gum...
But to pile in with everybody else, congratulations!
Step 4: ...