Hairy Sun

Matt's Blog on Some Geeky Topics

How I Spent Three Years Writing a Book

As blogger James Altucher would say, I finally have a stack of business cards. Physical business cards that I can hold in my hand! OK, they aren’t really cards, they are books. Books the I have written over the past 3+ years. I’ll try to always have a set of books nearby to use as a business card.

Why did I write a book? My original plan was to convert some popular tutorials that I had given at PyCon into book form, when I was given the chance to present one at OSCON a bit later. Rather than just rehash the slides, I figured I’d write down the book that I would have wanted when I was learning Python. I didn’t just want the syntax, but the Pythonic constructs, the do’s & don’ts, the beginner mistakes, and the community best practices that are gleaned over time. The result was “Treading on Python Volume 1” and that book took a lot longer to write than I planned (had to learn about ebooks, their creation, and formatting them so they actually look nice for code on all of the readers). And I had to add in all of the 3.x’isms that beginners might want. The ebook version was released in late 2011.

Ebooks, ebooks, ebooks

In the process of releasing that book, I had bikeshedded my own tool, rst2epub2, for creating ebooks from a lightweight markup language - reStructuredText. I have even taught two courses to Elementary aged students about the process of ebook creation and self publishing. Teaching them HTML and CSS (the main ingredients for ebooks) as well as publishing a physical book with a collection of their stories.

Following that, I began working on the second volume, this time covering intermediate topics. Information in book form that I wish existed years ago. These are some of the cool features of Python that you can get by without, but you really do not want to. You should learn them and take advantage of them. This time covering:

  • Closures & Decorators
  • Iterators & Generators
  • Functional Programming and List Comprehensions

Each of these topics I ended up releasing as a separate ebook, but also combined them all into Volume 2, which was released earlier this year.

The Desire for a Dead Tree

If you browse my blog, you’ll see that I had intended on getting physical books out awhile ago. I had a proof from Createspace made in May of 2012 and even paid out $200 to add support to Sphinx for better LaTeX generation. In the end the bike shed that was Sphinx, wasn’t painted my shade of pink. So physical books had to wait a bit longer. I spent a couple weeks actually diving into LaTeX and learning it. Then I created my own tool for creating physical books (with proper front matter and back matter) from reStructuredText (rst2nitrile).

My PDFs are not perfect, but I think they are much better than many self pubbed attempts. I’ve learned enough about books, typography, layout, design, etc over the past three years, that I doubt any book I do will be perfect (I don’t have the time to make them perfect, with a full time job and a family). But they are good. They look good, they follow best practices, they have indexes, and everything is done via the command line. My tools have basically abstracted book creation so that I (almost) have single master source that converts to pdf, epub, and kindle. If any of that interests you, all of my tools are open source, and I will soon be posting more details about them.

To celebrate the pile of books that I can now hold in my hand, I’m putting them on deep discount on Amazon for the next couple of days. (Feel free to tweet that out, facebook it, pinterest it, instagram it, vine it, or whatever the social sharing mean dejour is). If you enjoy the books or find them useful, the best thank you I can receive is probably a kind review on Amazon. If you find issues or areas where you feel they are lacking, drop me an email. My toolset is agile. I can push updates easily.

Special Offer 1

If you run a User Group, please email me with a description of the group and I will get you some copies of my books to give away. (Doesn’t have to be a Python group).

Special Offer 2

Amazon has Auto-Rip for CDs, but nothing similar for books. I’m willing to provide that as an experiment. If you purchase a copy and tweet a picture of you holding the physical book, I will reach out to you to get you a epub/mobi/pdf copy as well.

Note, if you have an allergic reaction to Amazon, but would still like a copy of the book, I have “review” copies available. Also, I will be making epubs and PDFs available for purchase soon.

In summary, writing a book is a lot of work. Doing almost everything by yourself, including creating the tools to create the books is more work. Doing that while holding down a job, and family life takes time. This isn’t a sprint, it’s an ultramarathon, and I’m bushwacking the course. Thanks so much to my wonderful editors, JJ, Amjith, and Luke.

Comments