Progress Of A Sort
This post originally appeared on the Software Carpentry website.
As I mentioned a few months ago, I'm going to turn Software Carpentry into a book. Here's the present status:

| Chapter | Word Count |
| Introduction | 768 |
| Spreadsheets | 3924 |
| Subversion | 6405 |
| Python | 6345 |
| Interlude: What Is Text? | 1071 |
| Functions and Libraries | 9409 |
| Interlude: Boolean Logic | 921 |
| Case Study: Invasion Percolation | 8929 |
| Interlude: How Are Numbers Stored? | 1828 |
| Testing | 4549 |
| Error Handling | 1529 |
| The Shell | 12919 |
| Make | 5668 |
| Interlude: Provenance | 1810 |
| Sets and Dictionaries | 7627 |
| Case Study: Phylogenetic Trees | 1689 |
| Systems Programming | 60 |
| Interlude: Configuring Programs | 2146 |
| Numerical Programming | 6193 |
| Multimedia Programming | 4125 |
| Steganography | 1657 |
| Installation | 135 |
| HTML and XML | 6404 |
| Databases | 10676 |
| Regular Expressions | 8037 |
| Object-Oriented Programming | 4002 |
| Building Desktop GUIs | 137 |
| Interlude: Persistence | 5984 |
| Web Programming | 9639 |
| Security | 1285 |
| Performance | 8043 |
| Parallel Programming | 931 |
| Software Engineering | 6391 |
| Epilog | 873 |
| Acknowledgments | 202 |
| Glossary | 12074 |
| Bibliography | 3378 |
| Total | 167,763 |
167,673 words might seem like a lot, but based on past experience, I think I'm about halfway to a readable book—editing is always as much work as writing stuff in the first place.