Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time


Please feel free to contribute to the quality of this content by submitting PR's for improvements to code snippets, explanations, etc. If there's any doubt or if you think that a word/phrase is used confusingly, before submitting a PR, open an issue to ask about it.

However, if you choose to contribute content (not just typo corrections) to this repo, you agree that you're giving me a non-exclusive license to use that content for the book, as I (and any future publisher) deem appropriate. You probably guessed that already, but I just have to make sure the lawyers are happy by explicitly stating it.

Search First!

If you have any questions or concerns, please make sure to search the issues (both open and closed!) first, to keep the churn of issues to a minimum. I want to keep my focus on improving the content as much as possible.


This book has already been edited. Most typos have already been caught and fixed, but there might still be some mistakes here and there.

If you're going to submit a PR for typo fixes, please be measured in doing so, perhaps by collecting several small changes into a single PR (in separate commits).

Reading Experience (Chapter/Section links, etc)

This repo is not optimized for your reading experience. It's optimized for the publishing process.

The primary intended reading experience -- likely the most pleasant one for many of you! -- is the ebook, which is now on sale. The balance I'm striking here is releasing the content for free, but selling the reading experience. Other authors make different decisions on that balance, but that's what I've come to for now.

I hope you continue to enjoy and benefit from the content, and I also hope you value it enough to purchase the best reading experience in the ebook/print form.