The Grumpy Programmer's Guide To Building Testable PHP Applications

After the middling success of my first programming book I had been thinking about writing another book. When the end of October rolled around and National Novel Writing Month was about to happen I decided to take the plunge and write something.

It didn't turn out to be The Great Canadian Novel but I did collect my thoughts on what goes into building PHP applications in such a way that they are easily testable. I called it "The Grumpy Programmer's Guide To Building Testable PHP Applications".

When I wrote my first book I did everything in Pages but that was before the rise of e-readers. This time I wanted to offer my book in PDF, epub and mobi formats. So I started up using AsciiDoc since I felt it gave me the most options for converting the text into other formats with a little bit of programming work. I created a Makefile (old school, baby!) that took the text and turned it into a PDF.

I had thought about doing the book directly in Docbook as it provided the best way for conversion purposes, but I found all the XML to be getting in the way of, you know, actually writing the thing. Plain text with a little bit of mark-up seemed to be the best fit for my brain.

As my self-imposed deadline got closer I felt like I was in for a lot of late nights fiddling around with layouts to get things to an acceptable level. Lucky for me an alternative came along.

I follow Reg Braithwaite (better known as @raganwald) and saw that he had a new ebook out called "What I've Learned From Failure" which he published with some help from Leanpub. The system looked awesome: write your book in Markdown (which I already use for this blog) and then it would create ebooks in PDF/epub/mobi for you, handling all the distribution and payment collection for you. Holy fuck, this is what I wanted.

So I took the plunge and signed up for an account. I started tweaking my text to use the Markdown-specific formats the system requires and little by little the book is being massaged into it's new shape.

I've gotten some great feedback from my technical reviewers and will be incorporating those changes into the book as soon as I've converted it over to the Leanpub structure. I'm giving a talk on the topic the book covers at Codemash 2012 and will launch the book while I'm there, offering those who attend my talk a discount as a way of thanking them for travelling to the shores of Lake Erie in the middle of winter.

So please visit the home of my book online and until the book is published feel free to add your name to the mailing list. As soon as it's available you will be notified. I'm still tweaking the pricing so feel free to suggest to me how much you'd be willing to pay for such a beast. It will probably come in between 40 and 50 pages in length.