JavaScript Processing Other
Latest commit 11d0963 Jun 12, 2014 @shiffman Update
Failed to load latest commit information.
illustrations more cleanup image 1.7, issue #267 Dec 6, 2012

The Nature of Code

This repo is an archive of the raw materials for the first edition (1.0) of The Nature of Code book. I am now working on a 2.0 version. The new repo is here:

Issues will remain open here for now, but will be closed as I make the corrections. New issues should be filed in the new repo.

The Nature of Code book readme from days of yore

Hello. If you found your way here you have found the raw source material for my Nature of Code book. The book is for sale in PDF and print forms at There, you'll also find a free version of the book available as HTML.

You may notice that all of the book's content is here -- illustrations, source code, raw text (ASCIIDOC files), and well as design elements (CSS). The book is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License. You are free to share and remix the book, as long as you provide attribution and do not attempt to re-sell.

All of the book's source code is licensed under the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

By using GitHub to host all the raw material for the book, it's my hope that I will be able to more easily manage corrections and revisions. Please use the GitHub issues for bug reports, typos, suggestions, etc. You are also welcome to fork the repo, make corrections on your own and submit a pull request.

Finally, please note that if you attempt to generate the book using ASCIIDOC, it won't come out properly. While I am using ASCIIDOC as the raw material, the book's design (for PDF and HTML) is being generated via something called the "Magic Book Project." Check out the repo here: We're hoping to launch the Magic Book Project soon as a web application. Currently to use it, you'll have to clone the repo and configure and run manually. There are instructions in the Magic Book's repo.

Stay tuned for more!