1. 61
  1. 18

    640 pages ought to be enough for anybody.

    1. 4

      I’d like to write something book-like someday, and I’d idly mused about doing print on demand. This has convinced me that I actually don’t want to do that.

      This print work is fascinating and valuable and hard, and I don’t want to do it. I want to git push book readers_brain.

      1. 19

        Author here. You can definitely do a print edition of a book much easier than I did. I specifically chose to:

        • Hand illustrate everything.
        • Use a two-column design with lots of asides.
        • Include every single line of code in the book along with contextual location information so that readers can build up a complete program.

        If your technical book doesn’t do all that, it’s a lot easier. A lot of CS books are done in LaTeX where the process is mostly automated. It is still a decent amount of work to edit, find a copyeditor, index, design a cover, etc. If you don’t have any graphic design background, you’ll end up with a more beautiful book if you go with a conventional publisher.

        1. 7

          The asides in the margins remind me of Tufte’s books. Did you take any influence from them?

          I think I remember reading something about how he also made sure that every diagram and the text that referred to it appears on the same page? And it involves a ton of labor. Not sure if that is true but I think so.

          I’m very impressed by the craftsmanship! :)

          1. 5

            Oh, yes, I have been a Tufte fanboy for many years. :)

          2. 4

            Thanks for the reply! All of that work definitely comes across, I wish my CS textbooks looked as good as the pictures you featured.

            Side thing: I’m totally bookmarking your tile_pages script. That kind of non-text document-modification-verification tool seems super useful.

          3. 6

            I used a professional publisher, but did all of the typesetting of my books myself using LaTeX. The only difficult part was making the copyright page correspond to the publisher’s template. I wrote in a semantic markup language that happened to be valid LaTeX syntax, so for the ePub editions, I wrote a small program that parsed this into a DOM-like structure and emitted semantic HTML. I would probably just use something like PanDoc and Sile if I did this again. I did all of the diagrams with OmniGraffle (sadly, my favourite drawing program is an older version of OmniGraffle that doesn’t run on modern macOS - Omni Group went full hipster and turned their beautifully clean NeXT-inspired UIs that were a joy to use into things that looked great while posing with a MacBook in a coffee shop and are a pain to use).

            I spent a while tinkering with the typeset output because I’m a typography geek, but it wasn’t really required. I used URW Grotesk for the titles and the standard LaTeX fonts for pretty much everything else.

            Getting a good copyeditor is probably the hardest part if you’re self publishing. I worked with some fantastic ones and some mediocre ones, even with a professional publisher in the mix.

            640 pages over 15 months is a very nice sedate rate, it averages to less than 1.5 pages per day. That’s a nice sustainable pace.

            1. 6

              I’m writing a book about publishing for technical people and the interior formatting has almost been the doom of the project because I wanted an index in the print edition. As munificent says, there are much easier ways to do it depending on your particular priorities.

              My chapter about interior formatting has a recommendation specifically geared toward technical people: AsciiDoc. The format provides a good deal of power, and the tooling is pretty good — but a lot depends on what you want your end product to look like. Crafting Interpreters is a beautiful work and there’s no easy way to get that kind of format without the work (other than hiring that work out, either to a traditional publisher or independently).

              Leanpub also does a good job of giving you tooling to target ebook and print.

              1. 2

                I’m probably going to use leanpub, primarily because I have no idea what I’d want a book too look like. I just want it to be readable.

                Ironic that a book about publishing has troubles in the designing/publishing pipeline!

                1. 4

                  I just want it to be readable.

                  You can try pandoc. I use it to convert GitHub style markdown to pdf/epub. The default conversion by pandoc is good enough, but I spent some time customizing it. There are templates made by others that you can use too. That said, I haven’t done print versions, only ebooks.

                  I wrote a blog post about my set up (includes other resources at the end too): https://learnbyexample.github.io/customizing-pandoc/

                  1. 3

                    Part of the value of the book is that I’m blazing the trail somewhat.

                    There are actually a number of fine choices for people who don’t care about having an index, and there’s even a program that will add an index to your PDF file. So it’s not terrible in general. I’ve published 4 novels and that experience was quite pleasant!

              2. 4

                I never had any aspirations to write a book (writing all the pages for my diploma thesis was horrible enough) but this detailed report killed any last remaining inkling of drive.

                Phenomenal post, but nope, too much work :P