PHP, Zend Framework and Other Crazy Stuff
Archive for June, 2009
Wrox Press Respond to “The Art Of Deception Or Publishing PHP6 Books”
Jun 25th
I am such a torment. Cancelled negotiations with a publisher over disagreements on a book format? Check. Said no to taking down a free book startup and enter a publishing contract? Check. Lambasted multiple publishers for releasing PHP 6 books which do not teach anything PHP 6 specific? Check. Next month I expose which publishing companies are secretly building weapons of mass destruction in their basements. Reverse that, I can’t afford a libel suit…
In “The Art Of Deception Or Publishing PHP6 Books” I aired my unflattering opinions about publishers who have been selling “PHP 6″ books. PHP 6, last I checked, was a bit like Leprechauns (Hey, I’m Irish! The use is legal!). You love them, you have lots of ideas about what to expect from them – but has anyone every really seen one (other than my great uncle)? PHP 6 exists in CVS – it’s never had a release other than the usual CVS snapshots. It’s certainly not complete and stable, and its future feature list remains a bit flexible. You could see PHP 5.4 in 2011 before PHP 6 is finished…guessing here. As its developers would say – it’ll be ready when it’s ready. One day. Maybe.
In response to the blog post, Wrox Press picked up on the problem on Twitter via Davey Shafik (@dshafik). Everyone knows Davey. If you don’t, you must have been living under a rock, or a ruby, for a really long time. I have to say, Wrox responded in a wholly unpredicted way I have to admire. It’s not everyday you find yourself hiding in a cave in Antrim (it’s nice…a little damp though) after seeing something you wrote persuade a publisher to pull back a book destined for the printers, and work on fixing it so it deserves its title.
Here’s the full text of the comment posted to “The Art Of Deception…” earlier today by Jim Minatel (Associate Publisher – Wrox). Jim is mostly the person sitting behind @wrox over on Twitter where he’s been quite proactive in getting to the bottom of my PHP 6 Book complaints.
Pádraic:
Thanks for taking the time to discuss this with me on Twitter last night. I’m the Associate Publisher for Wrox, I’m the person usually behind @wrox on twitter.
After meeting with the editor who ran the PHP list for us, you’re right. The titles of these PHP6 books, some of the references to PHP6 in the books, what isn’t covered in the books, all prove we made a mistake, something went wrong. But how, why?
Elizabeth (and thanks for her measured response) is correct in part of her assessment that books take a long time to write and publish. I’m sure that when the editor and authors started these books in Spring 2008, they’re thinking was that 6.0 would indeed be a stable release by early 2009 (if not sooner) and they were aiming for that. But clearly along the way we dropped the ball on checking references to things like the non-existent “6.0.0 stable.”
In the Beginning PHP6, MySQL, Apache book, I can actually understand the rationale not to cover Unicode there. Given that Unicode is primarily valuable to someone internationalizing a site or localizing it for multiple languages – topics that I wouldn’t consider “Beginning” level – I can see why it wasn’t covered. (Before becoming associate publisher, I was actually our ASP.NET editor for most of the last 5 years and we don’t for example cover internationalization/localization in our Beginning ASP.NET 3.5.) So we want to have a book that Beginning level customers understand will work with PHP6 if that’s the version they’re using, but we didn’t communicate right what that meant in this context where there weren’t major new v6 features at the level we thought a beginner would need.
The professional book stumps me more. It’s hard for me to understand how that book doesn’t have a chapter on Unicode. It looks like an oversight by everyone involved in the book.
So where do we go from here and get better than this to eventually prove we’re worthy of better than when @bicatu says “That reminds me why I’ve never bought a Wrox book?”
First, I’ve asked the team involved with Beginning PHP6 scheduled to ship to the printer this week to pull that book back, to read your post and the subsequent twitter discussion and to make sure we aren’t making the same mistake a third time. I want the author and editors to provide a level of confidence that the PHP6 features that should be covered are, that the discussion of the current state of PHP6 is accurate, and the that the title, subtitle, and marketing copy on the book and online accurately reflects what is and isn’t covered.
Second, publishing the right books depends on having the right team, including a large number of well placed community experts on the topics who serve as authors, freelance/contract technical editors. There’s always room for a team to improve, through learning and through recruiting. I hope this discussion helps our current team in PHP (and MySQL and LAMP in general) and I hope it helps us attract people like you who have ideas on what we can do better. I’d like to invite you and everyone who’s commented on this post so far (and I’ll post the invite on twitter too) to get involved. We’ve got a PHP Design Patterns book scheduled to publish in August (not specific to any version) I’d like to start by offering you all a preview of that. If you see any red flags, tell us. If you like it, if you see issues and help us make it better, at a minimum we’ll send you a free copy. If you get involved more extensively, you can discuss with the editor contract work. DM me in twitter with your email addresses if you want to get involved. Or email me at the address below.
Thanks for caring enough to get our attention. I promise, we’re listening.
Jim Minatel
Associate Publisher – Wrox
jminatel at w I l e y d o t c o m
On a side note, Jim spelled my name correctly. Class. I called Jim, “John”, on Twitter. Fail.
Rather impressed with Wrox right now.
If I have a remaining concern it would be that with PHP 6 unreleased and in flux, it still seems dangerous to title books using that version number. The most current updated PHP version from next Tuesday will be PHP 5.3 which is itself a pretty giant leap over PHP 5.2. PHP 6 is conceivably years away – its release date isn’t set in stone (I don’t know if anyone has even estimated it recently).
The Art Of Deception Or Publishing PHP6 Books
Jun 24th
I was strolling around a bookstore today, Easons on O’Connell Street here in Dublin, when I found myself staring at a bookshelf in near shock. Kid, I thought, you’ve been out of the loop for only two months and somehow those crazy people have managed to release PHP 6 right under your nose! I took several deep breaths not quite sure how to react. I moved closer and pulled out the shiny red book published by Wrox titled “Professional PHP 6″ and prepared to kick myself silly for the next week learning PHP6 (not from the book, which while shiny is of little use to someone using PHP so often it’s hardwired into your brain).
The more I stared at the three youthful faces grinning at me from the cover, the more I convinced myself this was a publishing error. No way was PHP6 going to be released without me noticing. Google Reader would have been on fire with that news. So what the hell was I looking at?
I was apparently looking at a big fat lie.
PHP6 has been the long standing grail for PHP developers who whisper in corners about its major feature: Unicode! Unicode makes the planet revolve, well its literary parts anyhow… Out on the edges were numerous other features, but most of those have been rolled into PHP 5.3 – which should be released next Tuesday. PHP 5.3…next Tuesday. And here we have books titled PHP6…what a joke. PHP6 won’t see so much as an alpha release for months…could even be years for all I know. It will be ready when it’s ready.
My biggest question of course was how can publishers escape punishment for such obvious silliness? Maybe someone can explain it in the comments because I’m at a loss. I figured there was some justification in that PHP6 would undoubtedly support some backwards compatibility with PHP 5, and therefore you could learn a great deal of PHP 6, simply by learning PHP 5. After all, both are PHP. Or perhaps it’s all the disclaimers technical books can include to escape responsibility if the information in the book is wrong. This might be sufficient to get around the laws of any number of countries, like Ireland, but I don’t consider it honesty. In my opinion it’s blatantly obvious that the PHP6 references used in book titles are little more than an attempt to differentiate these books from their competitors and earlier editions. Enough to fool a lot of consumers that buying the PHP6 book must be better than buying the perfectly up to date PHP5 book sitting in the bargain bin or available secondhand from Amazon. We are in a recession afterall and who banked on PHP 5.3 dropping a bombshell on plans for PHP6 books to spark a buying spree from developers?
Now, even I admit my outrage can be exaggerated. So I did go and pick up a few sample books using PHP6 in their title out of curiousity. Flicking through the pages I quickly noted how many of them avoided the PHP6 topic like the plague by omitting obvious things you’d expect to see. Unfortunately I also found a few notable slips which had me in stitches. Installation instructions and version listings are the most telling
The Wrox Programmer To Programmer series includes the far fetched title “Beginning PHP6, Apache, MySQL Web Development” (Timothy Boronczyk, Elizabeth Naramore, Jason Gerner, Yann Le Scouarnec, Jeremy Stolz, Michael K. Glass). The installation instructions for Linux state:
6. Extract the tarball, and change to the directory it creates:
tar -vxzf php-6.0.0.tar.gz
cd php-6.0.0
Number 3 earlier on the same list states:
3. Scroll down to the Complete Source Code section, and click on the appropriate link to download
the latest tar.gz package.
Perhaps someone didn’t notice that the download here (as of today) according to php.net is PHP 5.2.10? Not PHP 6.0.0.
Earlier the same book states:
The most recent stable versions that were in effect at the time of this book’s writing were:
PHP: Version 6.0.0
Apache: Version 2.2.9
MySQL: Version 5.0.67Future editions of this book will address changes and improvements in these programs as they become
available.
Again, the non-existent PHP 6.0.0 makes an appearance clearly noted as being a “stable version”. Of course, this is complete bollocks. The rest of the book seems pretty clearcut. It doesn’t mention PHP 6 anywhere else except in two Chapter titles according to its index. PHP 5.3 is mentioned once in a brief description of namespaces. Everything else is PHP…drumroll…5. This book teaches you PHP5 and only PHP5. Look on the bright side – the Wrox website and Amazon page suggests the title should have included MySQL 6… All they needed was the equally mystical appearance of Apache 6 to get the conspiracy theorists worked up into a fever pouring through the Book Of Revelations. Anyone want the movie rights to that idea?
After flipping through other PHP6 titled books (it’s not like Wrox and Wiley Publishing are alone), I arrive at the same conclusion – they are PHP 5.2 books. It’s laughable to even think they cover PHP 5.3 let alone PHP 6! All they have are a few obvious references to PHP 6.0.0 which at best are a mistake (maybe the titles are a mistake too?), and at worst a deliberate misleading lie. A few statements I noted might escape stupidity if the author could prove they ran a PHP 6 snapshot from CVS. To be honest I feel sorry for all the authors involved – it’s their name hanging on the front cover too and this might speak an awful lot as to the power a publisher can exert over an author’s work depending on their contract.
Shame on all publishers guilty of this silliness. To anyone in the market for a PHP book, stick to the bargain bins and second hand stores until a genuine PHP 5.3 book is released (that actually covers PHP 5.3′s new features mind!). The real PHP6 books are probably years away but PHP 5.3 looks to be a great release with plenty of new features..next Tuesday!
In the meantime I’ll be feeling pity for the poor sods who will buy these fake PHP 6 books second hand when PHP 6.0.0 sees a stable release.
Volunteer Translators For Zend Framework: Surviving The Deep End Wanted
Jun 22nd
On the back of accepting three Technical Reviewers and Proofreaders (to keep me looking brilliant if a bit brainless over deadlines
), I am also putting out a request for volunteer translators. If are up to the task of translating a free online book in the process of writing (this will be a long term commitment), please drop me a line by email (padraic dot brady at yahoo dot com) or twitter (padraicb).
Applicants should be reasonably familiar with the base language of the book – English. While the book is formatted as Docbook XML, no experience with Docbook is necessary and I have absolutely no problem with using a visual editor (I always use one myself).
Prior experience with technical translations is an advantage but not a requirement. So is being able to follow my convoluted writing style
. The translator team will be notified of their successful addition to the Survive The Deep End Team on Wednesday.
On a more cautious note, since my return I have been pointed to several places where “Zend Framework: Surviving The Deep End” has been either published in whole in English or another language. Redistribution in English is entirely legal and permissable (knock yourself out) once you attribute the work back to me, and do not use it for a commercial purpose and, most importantly, don’t alter it, however redistribution in another language is illegal and counter to the Creative Commons license I selected for the book which clearly states “You may not alter, transform, or build upon this work.” While I am aware people can get carried away in trying to help out their non-English speaking countrymen, I would suggest existing external translators consider bringing their translations into the fold where it can be hosted here (and where it ultimately validates your own distribution under the license). From next week I will be extremely proactive in tracking down license violations and seeking their immediate removal. Either that or I send someone who knows how to use a hurley
.
Volunteer Technical Reviewers, Proofreaders and Contributors Wanted
Jun 19th
As readers may have surmised, when I write chapters/articles I tend to leave behind in my glorious epic works of perfection (well, that’s what Mr. Ego likes to call them
) numerous grammatical, spelling and technical errors. It’s a flaw that persists because I proofread and QA my own writing and this is in strict opposition to the “many eyes” approach to QA. Self-reviewing only goes so far – once you are used to the text you wrote it becomes extremely difficult to see problems because you have the article/chapter and your own background concepts mingling. Errors get missed, technical foolishness escapes attention.
To rectify this problem I would like to ask for volunteer reviewers and proofreaders who can examine the final drafts of Chapters for the ZF Book “Surviving The Deep End” before they go live. This would be facilitated by offering unrestricted access to the private repository I version the book at (that way you can correct my failings and make me look godlike). When I say volunteer, I mean peanut paid monkeys – I don’t have the funds for decent fees but I will offer a prominant mention in the book’s credits and a once off donation of $50 to cover the cost of the electricity/generator cranking monkey used by your PC while reviewing. This should be a fairly light weight role – it’s not like I finish chapters every other day. Being a member of the PHP Blogosphere is obviously a serious advantage since I know the work and professional attitude of most people on my feed list.
In case you are unaware of where my money spinning tactic exists with the book, it lies in a dual donation/advertising revenue stream which is expected to be as predictable as the weather in Ireland. If the income exceeds my own costs I’ll put together some additional funds for reviewers/proofreaders. I expect to want no more than two technical reviewers/proofreaders which should be sufficient to keep me honest and free of major misteps.
In the third category, I am also inviting people who are interested in contributing specific topics chapters for the book. In my mind, these are highly specific chapters which address some nugget of utility that isn’t obviously provided by the Zend Framework itself but is useful to have in your toolbox. For example, my longstanding example had been using Zend_Feed to build a generic feed reader which is capable of interpreting feed formats without constant hand wrangling. Or perhaps there is a specific area of the framework I’m unlikely to use in a protracted project based book which you really want to write about. Or maybe it’s a practice related topic, like my Performance Optimisation appendix (no ZF strictly but necessary information for anyone building a generic application using the ZF). Yeah, like that’s NOT vague
. If you have ideas let me know by email (padraic dot brady at yahoo dot com) or twitter (padraicb) message and we can discuss a chapter fee.
Now, back to those two chapters I intend having online by tomorrow…
It’s a bird, it’s a plane…no!…it’s some guy who vanished months ago!
Jun 19th
Long story short. I lost my job, had some medical issues, struck gold on a new contract, contract ended (with a nice bonus), need to find another contract in July, turned 30 (and got a tiny bit depressed that I can no longer validly refer to myself as “young”), lost more hair (I estimate the total baldness effect to be a few years away), spent an hour convincing my dad that if his leg could hang at that angle I was calling the bloody ambulance no matter how many phobias he has about hospitals (he broke it in two places, got a massive plate put in, now complains about not being able to walk for a few months), played lots of Eve Online, discovered Empire: Total War ran for a maximum of 40mins before crashing (Asus MBs suck even if great to overclock), wrote three chapters in a semi-serious attempt to write a funny fantasy novel for fun, avoided being drunk for three months straight much to the horror of the locals (It’s a stereotype, but many Irish really do drink way too much), reinstalled Vista after the SP2 update fucked up, witnessed the return of a real Summer to Ireland for the first time in 3 years, realised that 3 years of little sun left me inexperienced with its effects and spent a week with both arms itching like crazy and covered in tiony blisters (stupid, stupid
), had my cat train me not to leave any windows open since he excels at unwanted infiltration, learned the redundancy toll at my previous employer was up to 15% of staff (happy I got out earlier), became reacquainted with the frequent headaches my sensitive eyes induce when exposed to the sun (I almost forgot it was up there for the past few years), …
Enough of that.
Being in a more stable point in this god awful recession, I’m edging back onto the PHP scene. My last post quickly became a total washout with my best intentions failing so miserably it was pathetic. What can I say? Recessions suck. Hospitals suck. Dads who break their legs every year especially suck (the leg breaking, not the person
).
To recapture some of my excitied and sorely disappointed readers, I’ll get those two ZF book chapters up shortly and get cracking on more. I’m actually on a few weeks of freedom so no excuses. If someone breaks a leg next week I may have a breakdown.
My profuse apologies for the misleading post in April – obviously since it’s now June it’s been a turbulant few months since it was posted.

