After close to a year in the works, my book Pro PHP XML and Web Services was finally released on March 27th and recently got its first review (no, its not from anyone I know). The book is quite long, but comprehensive, coming in at around 936 pages. It not only covers working with XML using all the different extensions/parsers in PHP, but also explains many of the XML technologies and specifications in simple language rather than the often cryptic specifications. In any event, to celebrate its release (or maybe the fact that I am finally done and have time for myself again), I am giving away an autographed copy of this book to one lucky person.
Rather than ask you to find some answer to an obscure question, the contest is pretty easy. Simply send an email to firstname.lastname@example.org before midnight EST on April 30th 2006 telling me why you want a copy and why I should give it to you rather than someone else. Be sure to include a valid return email address so I can contact the winner. I will try to announce a winner by May 7th, determined by the answer I find the most interesting, but depending upon the number of submissions it may take me a bit longer to read them all and make the final decision. Note: Email addresses will NOT be used for anything other than notifying the winner.
Hint: Keep it short, to the point and I am easily amused.
Recently I was asked about using a CDATA section to transport encrypted data and quickly answered that is was fine to do this but I failed to qualify this answer. In most cases, encrypted data is simply binary data. CDATA sections are used to escape text containing characters that may be recognized as XML markup, so naturally many people believe that binary data could directly be used as content within a CDATA section. This is where the problem begins...
CDATA can contain almost any characters except the sequence "]]>", which indicates the end of the CDATA section. So what happens if binary data containing this character sequence is placed within a CDATA section? The answer is quite simple. You no longer have well formed XML. Although the chances of this happening might be slim, an application using this approach that may have worked for a long time may all of a sudden be unable to process a document and its off to debug land trying to find out the issue. So how can this potential headache be avoided?
Having attended this conference for the past 2 years, I finally decided to do some presentations. Other than a minor glitch with my battery running out halfway through my first presentation (note to self - always remember to plug in the laptop), my workshop, Advanced XML and Web Services in PHP, went very well. I wish I could say the same for the presentation on the following day: XML Encryption and Authentication. After I couldnt get my laptop hooked into the AV equipment, I finally switched to a different laptop. First, the slides got corrupted when copying them to my flash drive and the exisitng ones were missing the last few slides. To top it off, I am familiar with using Impress (my latop ran linux) and the one I ended up using had MS Powerpoint (the right mought button sure doesnt do the same thing for these programs) and I continually kept having a stupid pop up appearing on the screen. The slides without the commentary don't do the presentations justice, but should at least give everyone an idea of the subject matter. [. . .]
Today I finally got my own blog up and running - something I've been meaning to do for quite some time now. No longer will my posts need to deliver by others, like Christian Stocker (thanks by the way). The focus will be on XML and PHP, but as the name implies virtual anything goes.
Things still look a little bleak here, so stayed tuned for more to come.