That's true. I have the good fortune to work at a college (Olin College) that recognizes that my work developing textbooks is aligned with the mission of the institution, and can have as much external impact as research. But you are right -- most places give professors zero credit for writing textbooks.
I understand that "just write a book" might come off as glib, especially for profs who teach 3+ classes per semester. So I don't mean that everyone has to, or should, but
1. Writing 150 pages that are targeted for your class and your students is easier than writing "the bible" for your field.
2. The quality of the first draft might not be great, but if you are getting feedback and constantly improving, it's not long before you are better off than using one of the expensive tomes.
3. If you start with other free material, you can get off to a fast start (several people have now written books that started with my material, and then evolved beyond recognition).
This is very similar to my method. The first time I teach a class, I draft some notes. After the class, I fix the problems, or at least flag them for next time. The second time through, I add, remove, edit, refine, etc., based on feedback from students and my own observation (and, often, what I have learned since last time :)
Many of my examples start with code, so the first draft of the chapter is mostly explaining the worked example.
It's not very different from the work most profs do when they are developing a class, but at the end you have a book that has co-evolved to fit your students and the learning goals.
Ignore the haters -- Think Bayes is going to be awesome!
Just kidding (mostly), but your point is correct: there is no book that is right for all audiences. But if you can program, and the mathematical approach to this material doesn't do it for you, this book might.
I need to write a preface to answer this question, but the most important prereq is Python programming. The premise of the series is that if you can program (in any language) you can use that skill as leverage to learn about other topics.
Yes, that's exactly what the objective of this book is! I am not using computation out of necessity, but rather because I think it provides leverage for understanding the concepts, and learning to (as you say) compose traditional models and build new ones.
As the book comes along, I am finding that many ideas that are hard to explain and understand mathematically can be very easy to express computationally, especially using discrete approximations to continuous distributions.
Sorry! It's really not meant to be a trick. The book is under a CC license. I provide the PDF version at Green Tea Press, the LaTeX source for anyone who wants to make a modified version, and a not very good HTML version (some of the math is broken). O'Reilly provides the printed and Kindle versions.
Right now all versions have the same content, but I will continue to revise, so you can think of the version on Green Tea Press as the draft of the second edition.
I know it can be confusing, but I hope the benefits of the free license make up for it.
Very interesting. I certainly agree with the idea from the first article, on the importance of data, and from the second article, on the usefulness of simulation.
Thanks! I am hoping to get back to the Complexity book soon. I want to finish the section on agent-based modeling (and I need to remove some of the stats material that I poached for Think Stats).
Clojure looks interesting, but I don't know much about it, so I probably won't do anything with it soon. But part of the reason I use free licenses is so that other people can adapt my books.
Nicholas Monje is working on Think OCaml (http://thinkocaml.com); that might be the best version to translate into Clojure.
Thanks for the kind words about the book! If you are interested in this topic, there is a video of me giving a talk about it at greenteapress.com/semaphores. The thread simulator I demonstrate in the talk is available from allendowney.com/swampy. As always, comments are welcome.