My Books

Yes, I did write some words and put them with ink on dead trees for you to read in those few moments when the wireless is down again.

Fully authored books

Beginning JavaScript with DOM Scripting and Ajax: From Novice to Professional

This is what it says on the tin: a JavaScript book that starts at zero and ends with Ajax. All the way I made sure I praise and explain unobtrusive scripting and working in a way that enables people that come after you to take over work from you without despairing. You can get the code at beginningjavascript.com

Web Development Solutions: Ajax, APIs, Libraries, and Hosted Services Made Easy

This book was technically co-authored but Norm pulled out halfway through, so most was written by me. The book is a great one, but never got as successful as the Beginning JavaScript one as the title is misleading. We planned and executed the book as a step by step blueprint to create a web site using WordPress as the base and several online services as data sources (flickr, last.fm, youtube, del.icio.us).
If you know someone who wants to have a great web site without coding, this is a good choice.

Chapter contributions

The Art and Science of JavaScript

This was a quick chapter for this Sitepoint release and it turned out to be a wonderful book. My chapter is dealing with creating unobtrusive JavaScript badges for distribution.

Web Accessibility: Web Standards and Regulatory Compliance

I wrote the “accessible JavaScript” chapter of this reference that should be on the table of everyone who claims to want to deal with web accessibility.

4 Responses to “My Books”

  1. Doug Says:

    I’m really enjoying your book “Beginning JavaScript with DOM Scripting and Ajax: From Novice to Professional”

    I was wondering something on your lastSibling, firstSibling and closestSibling functions, wouldn’t it be better to test for the tempObj in the return line and then check for the nodeType. It throws an error if there’s no parentNode (Like the on the HTML node).

    And also, why do you choose to return false instead of “undefined” which I think conforms more with how javascript returns results for test such as these? Not a big deal, but I am a little curious.

    example: return (tempObj && tempObj.nodeType 1) ? tempObj: “undefined”;
    instead of: return tempObj.nodeType 1 ? tempObj: false;

    Hope you plan on writing some more, I appreciate your work.

    Thanks

  2. Chris Says:

    Cheers Doug. All good points, the reason I used them instead of your proposal is that is an oversight. You spotting it shows me I have done something good though :)

  3. Jesse Says:

    Props for Beginning JavaScript: it has hardly left my desk for months. Very thorough and accurate! It is the JS reference that I keep coming back to. Beats the pants off the competition. Keep up the good work!

  4. Tom Says:

    to select a number in 1,2,3,4,5,6 randomly,
    why using
    Math.round(Math.random()*5)+1
    instead of
    Math.floor(Math.random()*6)+1

    the second should be a more reasonable one

Leave a Reply

Wait till I come! is the blog of , a developer evangelist living and working in London, England. Download vcard.

Feed me, Seymour: Entries (RSS) and Comments (RSS).