Pragmatic Bookshelf: From LaTeX to Markdown for eBooks
SE Radio 695: Dave Thomas on Building eBooks Infrastructure
Resources
Resources & Recommendations
Books
- "The Pragmatic Programmer" by Dave Thomas and Andy Hunt - A foundational book for software developers, with a 20th-anniversary edition mentioned, that originated from notes for consulting clients.
- "The Manifesto for Agile Software Development" - Referenced as a significant work that Dave Thomas contributed to.
- "Programming Ruby" by Dave Thomas and Andy Hunt - A book on the Ruby programming language, where every code example is run and verified during the book build process.
- "Agile Web Development with Rails" by Dave Thomas and David Heinemeier Hansson - Another book by Dave Thomas related to web development.
- "Programming Elixir" by Dave Thomas - A book focused on the Elixir programming language.
- "Simplicity" by Dave Thomas - A more recent book by Dave Thomas, currently running the Pragmatic Bookshelf.
People Mentioned
- Andy Hunt (Co-founder of The Pragmatic Programmer) - Collaborated with Dave Thomas on "The Pragmatic Programmer" and other works, emphasizing plain text and a unique publishing workflow.
- Peter Wire - Mentioned as a guest on SE Radio episode 532, discussing the 30 years of PDF.
- Jeff Johnson - Mentioned as a guest on SE Radio episode 532, discussing the 30 years of PDF.
- Don Knuth (Creator of TeX) - His layout system, TeX, was used by Dave Thomas for producing nicer output for books after initially using troff.
- Brian Kernighan - Quoted for his view on WYSIWYG editors, suggesting they should be "WYSIAYG" (What You See Is All You Get).
Organizations & Institutions
- IEEE Computer Society - A sponsor of Software Engineering Radio.
- IEEE Software Magazine - A sponsor of Software Engineering Radio, available online at computer.org/software.
- Addison-Wesley - The publisher that accepted "The Pragmatic Programmer" and worked with Dave Thomas and Andy Hunt on their innovative publishing process.
- Bell Labs - The origin of the
trofftypesetting tool, part of the Unix Documenter's Workbench.
Tools & Software
- Microsoft Word - Discussed as a word processor not ideally suited for writing and laying out books due to its focus on WYSIWYG and performance issues with large documents.
- FrameMaker - A layout software used by publishers for importing and formatting book content.
- Adobe InDesign - A modern layout software used by publishers.
- troff (t r o f f) - An early text formatting tool from the Unix Documenter's Workbench used by Dave Thomas, which used period-prefixed instructions for formatting.
- TeX - Don Knuth's layout system, which replaced troff for producing higher quality book output for "The Pragmatic Programmer".
- LaTeX - A document preparation system built on TeX, used by Dave Thomas to define book layouts.
- XSLT (Extensible Stylesheet Language Transformations) - A technology used for transforming XML documents, specifically for converting PML to XHTML for ebooks and XSL:FO for PDFs.
- XSL:FO (Extensible Stylesheet Language Formatting Objects) - An XML format used to describe text laid out in two dimensions, which is then used to generate PDFs.
- jruby - A version of Ruby that runs inside the Java Virtual Machine, used in the Pragmatic Bookshelf's toolchain.
- Subversion - A version control tool used by Pragmatic Bookshelf for managing author repositories.
- Git - Mentioned as a version control system used by some authors, sometimes with automated cherry-pick tools.
- ChatGPT - An AI tool discussed in the context of content generation and as a "pragmatic assistant" for authors.
- Rust Rover (JetBrains IDE) - Mentioned as an IDE for writing code and Markdown, which performs grammar and spell checking.
- Copilot - An AI code completion tool mentioned for its potential to guide authors' writing process.
Websites & Online Resources
- SE Radio Net - The website for Software Engineering Radio.
- Computer.org/software - The online presence for IEEE Software Magazine.
- Creators.pragprog.com - The backend system for authors at Pragmatic Bookshelf to access build logs and download book versions.
- Pragprog.com - The website for Pragmatic Bookshelf, where information on writing for them and contact details can be found.
- Pragdave.me - Dave Thomas's personal website containing articles.
- Articles.pragdave.me (Substack) - Dave Thomas's Substack for articles.
- SEradio.slack.com - The Slack channel for Software Engineering Radio.
- LinkedIn - A platform where SE Radio can be reached.
- Facebook - A platform where SE Radio can be reached.
- Twitter - A platform where SE Radio can be reached.
Other Resources
- EPUB - The current standard format for ebooks, based on unzipped HTML, assets, and manifest files.
- MOBI - An older ebook format previously used by Amazon, which had limitations compared to EPUB, especially for technical content.
- PDF - A fixed-format document that can be read electronically, but is not reflowable like typical ebooks.
- HTML Disclosure Lists - A native HTML feature for collapsible content, experimented with in ebooks.
- Pragmatic Assistant - A ChatGPT project trained on Pragmatic Bookshelf's guidelines to assist authors with writing style and voice.