Book Review: jQuery 1.3 and PHP
I have to admit that when I picked this book up I was hoping to learn a thing or two about php. However, after a careful read of the book's description any disappoint I felt was my own fault, as the author is very clear about the book's intentions. It's clear the author intended this book for readers who have already mastered php and are seeking additional knowledge about JavaScript/jQuery.
So, if you are a php developer who has never bothered to look over the fence at client-side coding practices, this book is ideally for you. If you are a JavaScript developer looking to learn a thing or two about PHP you might be frustrated as the author assumes you are already “good” at php development. Because of this assumption made by the author, very little insight into the php code is given. But, to the author’s credit, he warns us about this fact upfront.
Regardless of your knowledge of php or JavaScript/jQuery, this book does an excellent job at presenting many of the patterns and concepts centered around using AJAX and UI patterns to eliminate complete page reloads. I enjoyed the coded examples in spirit more than I enjoyed reading the code. While the JavaScript code gets the job done, I found the use of the custom DOM ready event to be unnecessary, as well as the organization of functions in the global window scope to be a bit dangerous. On the positive side, I did get the impression that the author understood jQuery completely and utilized the library efficiently and effectively.
In my opinion, this is a great book for a very specific type of reader. And that reader would be a php developer who is disconnected to what’s been going on with JavaScript and client-side coding paradigms common in today's web development world.
I Have A New Job - What, Why, When, Where
What: I am switching jobs. I was given an opportunity to join the team at Ning.com as a client-side Web Developer. I took the opportunity and that is why you are reading this.
Why: I've had an amazing two years working with Fluid. I can't say enough good things about the management and employees. The work is among the most challenging I have encountered in the past 10 years working as a web professional. Which is to say I've learned more in the last two years than any other . Fluid works on big projects with big clients. The work is fast and furious at times but also highly rewarding. My reason for leaving is not overly complex. Agency work is a beast of its own. Those of you who have done it know what I am talking about. I've loved it for most of my two years but as of late have felt a calling to work on a single solution. One where I can refine my skills even deeper and at the same-time evolve the solutions I cook up. This is somewhat (not totally) in opposition to agency work. So to be true to my employer and myself I have decide to move on. Moving on means I have left an excellent opportunity for someone else. At the moment my position is open, and I would recommend the position to anyone looking to do agency work. The great team and the manner in which you are treated as an employee is just icing on the cake.
When: My last day with Fluid will be Aug 7th. My first day with Ning will be Aug 10th.
Where: Ning is located in Palo Alto, CA., but I will be working remote from my home in Boise, Idaho. I will be in the Bay area more than I have been in the past. So, those who I know in the area might be getting calls from me. As well, I've been asked to attend or speak at several events in the area in the past that I was not able to commit too. This job will now allow me to possibly take on engagements I've had to turn down in the past.
Book Review: Learning jQuery 1.3
You never know what you might get when an author decides to update a book. I've seen this done well and I've also more commonly seen this done poorly. However, the update to the Learning jQuery book is exceptional. If you already own the first edition, rest assured the second edition is worth the price of admission.
Continue Reading ...
Quoting Bill Scott
Photoshop is static—the site is not. The site is dynamic in content, layout and interaction. It’s too easy to forget all of the details that come about when users get involved. But engineers end up having to fill in the gap where the designer has not accounted for all of these dynamic concerns. 
- Bill Scott
jQuery UI 1.6: The User Interface Library
First and foremost, I would like to mention that this book review and the opinions contained within it reflect my own personal thoughts. While I might contribute and participate on the jQuery & jQuery UI open source project, my intent here is to speak as an individual representing my opinions as an individual.
The author Dan Wellman, of the jQuery UI 1.6: The User Interface Library for jQuery book from Packt Publishing should be applauded for bringing the first jQuery UI book to completion. You will learn a lot from this well written book about the general usage and implementation of the UI widgets, interactions, and effects. However, the book suffers from an unavoidable downfall: its content is already deprecated. And with technical books timeliness matters.
Continue Reading ...
Which is Better, and Why?

25 Things About Me
1. I hate small insects such as creepy spiders and would prefer that they not crawl on me, especially when I am sleeping.
2. Everything I am good at is a product of an adult telling me I was good at it as a child.
3. I’ve co-authored 2 books and am working on a third now, which I said I would never do again!
4. I’ve never broken a bone or had a major surgery (except for that rock they took out of my ear when I was a kid).
5. I own three bikes (road, triathlon, mountain) that likely cost more altogether than our used Cross-country Volvo.This thought disturbs me at times.
6. I am going to give up on snowboarding this year and return to skiing.
7. I am a regular participant in an open source project called jQuery.
8. Much to every-one’s surprise I know very little about computers and a whole lot about web technologies that have nothing to do with the hardware or software (os) that is your computer. And networking, forget about it. I read the manuals too!
9. I am not really that smart, I just know how to use Google and Wikipedia.
10. Scary movies are not my cup of tea. Heck, I am still afraid of the dark. Don’t imagine I’ll ever get over that.
11. If you wake me out of a dead sleep by surprise and are within striking distance, you’ll likely get an unconscious punch in the face. The same is going to happen if you sneak up on me or jump out at me with the intent of scaring me.
12. I really can’t understand why anyone would pay to be scared by amusement rides. There are plenty of situations in nature that would scare the crap out of most people. And all of this is free.
13. I have a fear of all medical and dental offices. Really any room that requires me to lay down so that another human being can work on me.
14. If I could make a living at it I would stop the silliness I am doing today and study/teach theology and philosophy full-time. Then I would travel the world debating the rational evidence for a christian world view.
15. As of late I’ve oddly found myself enjoying and seeking public speaking engagements.
16. I don’t think I have ever had a best friend who was not a girl (my wife).
17. As I have gotten older, my feet have gotten wider. In most cases I can only purchase shoes if they come in a wide width.
18. I’m sort of addicted to outdoor clothing and gear. A close second to this addiction is my addiction to technology gadgets.
19. I currently own two neck ties, which I wear only when my wife makes me. They are both already tied. If they even came untied I would have to find someone who wears ties to tie them for me.
20. I recently started eating grapefruit, which I’ve been repulsed by in the past. I find them very delicious now, but feel very elderly every time I eat one.
21. I love being cold. I love cold mornings. I love seeing my breath penetrate the cold air around my face. I even love it when my nose hairs freeze a bit on each breath.
22. I drive a Yukon XL Denali that comfortably seats 7 people with room for cargo. I never thought I would own such a large vehicle and likely wouldn’t if I had a commute to work (I work out of my house). I’m surprised how much I like it. I often drive it around and have to remind myself that it’s a just a car. It’s just a car.
23. If I had the room to store it (and the money to buy it), I think I could really get into the motor-home scene.
24. I wish I had a motorcycle again, but still don’t feel I’m old enough to responsibly use it.
25. This is therapeutic, so I am going to continue on writing.
26. There was a short period of time I thought I might be an alcoholic. That was until an alcoholic told me how to determine if I was an addict. He told me to drink one shot of my favorite poison, then go to bed early. If I could fall asleep and sleep through the night he said, then you likely I was not suffering from alcoholism. After that, I knew I was not an alcoholic and continue to enjoy the tasty nectar known as beer.
27. I am not very good at parenting. Don’t get me wrong I love my kids. But I think some people slip into parenting like a comfortable slipper. For me, its more like I am walking around on broken glass. Truth be told, my kids are wonderful, I seem to be the broken part of the puzzle.
28. Its been years and I have never tired of the taste of a Reece’s peanut butter cups.
29. I was blogging before blogging was mainstream.
30. Tivo has changed my life. And now you can beam netflix movies from the web to the tivo box and watch movies instantly. No waiting, no video stores, no mail required.
31. I don’t watch other people play sports, and frankly I don’t understand why anyone else would. Why watch when you can do.
32. I actually think about the questions people ask me. A good friend of mine has labeled this “the cody buffer”. I guess it can be a significant amount of seconds depending upon the question.
33. I have a work bench in my garage, but likely don’t deserve it.
jQuery .get() - Caching DOM Elements In An Array
If you ever need to cache a set of elements, because you are about to remove them, the jQuery get() method is really handy. For example, in the code below I am saving all my <li> elements on the page in an array, removing them, and then adding them back into the page using this array. Make sense?
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
</head>
<body>
<ul>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
<li>test</li>
</ul>
<script>
var test = $('ul li').get();
$('ul').empty();
$.each(test, function(){
$('ul').append('<li>'+$(this).html() + ' new</li>');
});
</script>
</body>
</html>
jQuery Overview Slide Deck & Selector Lab Link
Here is the slide deck I will be presenting tonight at the Boise Web Technologies Group Meetup.
Additionally, here is a link to the selector lab which is going to be demonstrated during my presentation.


