4 ms·
I've written 4 technical books including the Classic Computer Science Problems Series (https://classicproblems.com https://classicproblems.com). I agree with wh
by WoodenChair 4y ago
I've written 4 technical books including the Classic Computer Science Problems Series (https://classicproblems.com https://classicproblems.com). I agree with what Thorsten said at the end—none of this really matters—or it's marginal at most. Most people who say they want to write a book lack the motivation to do it. It's not the tools getting in the way.
Apress used Word templates back in 2013 when I did my first book with them. Manning let you use asciidoc or Word templates when I worked with them. I wrote my first book with them in markdown and translated to asciidoc using pandoc. There were so many formatting issues and I found the tools for asciidoc so immature that I ultimately went to using their Word templates on my next two books with them despite preferring purely text formats.
Now I'm working on my next book and I think I'm going to try self publishing. I'm liking leanpub's use of a markdown like format. But again none of this really matters. You can fix formatting later. You have to sit down and write!
PS Thorsten's "Writing an Interpreter in Go" is great:
https://amzn.to/3yLTJjE https://amzn.to/3yLTJjE
- mdaniel 4y agothe non-affiliate link: https://www.amazon.com/Writing-Interpreter-Go-Thorsten-Ball/dp/3982016118 https://www.amazon.com/Writing-Interpreter-Go-Thorsten-Ball/...
- littleweep 4y agoCurious, what are your habits for writing a book?
- WoodenChair 4y ago- I do the code first (generally) before the writing. - I try to do drafts of whole chapters at once, even if it’s an all nighter. - I reread the chapter over and over again at every review stage. - As many say to be a good writer you have to be a good reader. I read a lot. - I get it done. I hear about people spending years on books. I keep it succinct and to the point. Most readers appreciate that. I never miss a deadline. I write in weeks what I hear about others writing in months. To be fair, I’m privileged that my job as a professor at a teaching college allows for this (over the summer for example).
- littleweep 4y agoThank you for sharing.
- srvmshr 4y agoI just wanted to add that I really liked your 'Classic CS Problems in Python' book. I found it much better than following university course notes (e.g. CS 61 A/B etc).
- WoodenChair 4y agoThanks so much. Really appreciate it. Hearing anecdotes like that makes writing worthwhile.
- humps 4y agoFor my pixel art book with No Starch, they insisted on Word templates and it worked out well for a couple of reasons. The first being because their editing team was so used to using the template for feedback. It was easier for me to adapt to the publisher than the other way around, and the whole process was smoother and quicker. The second reason was to do with a change in format as the book was nearing completion. It's aimed at kids (8+) and adults, but we decided having an open and lay flat printed edition made the most sense because it makes following the tutorials easier. This resulted in the layout needing to be tweaked for a couple of hundred pages, which the publisher handled because we used their template system. So while it may be annoying for a writer to have to change their methods, it can save you a hell of a lot of work because things change unexpectedly (and in my case for the better).
- madsravn 4y agoA pixel art book - that sounds very interesting! What's the title?
- mprovost 4y agoTotally agree about not obsessing over tools. That's an easy rabbit hole to go down and distract yourself from producing the actual content of the book. I deliberately chose to use Google Docs because the formatting options are so limited. But I also found it motivating to have a WYSIWYG interface so it felt like I was looking at something resembling the finished product. In the end gdocs turned out to be a great choice because it's so easy to collaborate. All of the articles talking about markdown seem to assume that you're the only person that's going to work on it, or that everyone else is going to figure out this diagram and your git workflow. It's so easy to email someone a link and let them comment on it, or suggest edits. For producing the final PDF I found a plugin that embeds the doc directly from Google into InDesign so I can typeset it into something that looks pretty great. Then I just upload the PDF to Leanpub. The tool that had the biggest impact though was Beeminder, which has a hook into Docs and measures your progress by counting the number of words in the book every day. If you don't make progress you have to pay! It's a great way to make yourself accountable. I kept a 100+ day streak for the final push.
- tunesmith 4y agoAs a counterpoint, I'd wanted to write a book for years, and felt overwhelmed by the production process. asciidoc, docbook, word, it's kind of overwhelming. After I finally put together a good markdown->pandoc->latex->KDP flow, it was a huge relief, and I've printed two books since then (one by me, one by me and some co-authors). It's super-fun to receive an author proof in the mail and it motivates me to write more.
- __mharrison__ 4y agoAre your tools publicly available. I've created over a dozen books using my rst-based tools. But I'm planning on using on markdown and pandoc (plus custom filters). (Just write a filter to handle LaTeX index entries).
- crvdgc 4y agoI bought books from leanpub.com, and they could really improve their PDF generation. In Markdown, there's no concept of pages. So you can get one row in a table get pushed to the next page and the rest of the page is blank, even there are contents after. Generating PDF with pandoc will usually take care of this through LaTeX, but I don't think leanpub is doing that.
- syl_sau 4y agoObsession over tools, and the more trendy obsession over productivity ("My secret to be 10x more productive!!") ultimately seem tautological in the end: most people hooked up on these techniques will never stop talking about it, and sometimes even write books on the topic. Take the 2 most well-known authors on these topics: Tim Ferriss and Cal Newport. And look at their list of published works. I've only very rarely seen actually productive people talk about the way they do things -- probably because they know there isn't a one technique, and have tailored their own things to themselves entirely. Balzac used debt to keep motivation alive, Hemingway wrote while standing up and used the counter of his chimney -- who cares?
- OliverJones 4y agoYou and Torsten are right. Write the freakin' book. Write the next page or two before knocking off for the night. The tools don't matter as long as you and/or an editor can polish the work and then mung it as needed for publication. But that's for later, once the book is written. Tools are distractions. They give you an excuse not to write the next page. Write the book. That being said, Markdown + git are a really nice combination. May your mind be focused and your sitting-upon body parts be made of iron.
- rg111 4y agoUnrelated, but I read much of your Classic Computer Science Problems in Python. And it is really a great book. Especially suitable for people in junior roles right now or people in any kind of role with a knack for solving interesting problems.
- WoodenChair 4y agoThanks a lot. Appreciate the kind words.