2006 in Review: Personal Top 10

December 31, 2006 | Leave a Comment

In general I don’t directly blog much about my personal life. However, I think it is nice to look back at the year and remember the big things that happened. With that in my mind here is my top 10 list of most significant personal events and whatnot from 2006.

10 - Had a new roof put on our house
We hired Black Ox Roofing to put a standing seam metal roof on our house. They did a fantastic job and I will be much more comfortable this winter knowing we should be free from leaks.

9 - Upgraded our living room
I’m starting small here, but I do spend a lot of time each day in my living room. Early in the year my mother repainted our living room as a favor during her February school break. This lead us to rearranging the furniture in a way that greatly enhances flow and conversation. Later we bought a new Samsung 42″ DLP projection TV and a couch, chair, and ottoman set. We also rewired the connectivity between my Mac and the TV so no more wires run across the floor. As a whole all these changes have created a much more habitable and comfortable living room experience. Most of this work was done in preparation for our new baby and the extended time we would be spending hanging around in the living room.

8 - Attended and presented at SunGard HE Northeast Conference in Lake George, NY
I presented on three topics at SunGardHE’s brand new northeast regional conference. The topics were: Collecting Luminis Statistics, Extending SSO - CAS in Luminis, and Implement and Deploy Banner Channels. It is always fun to present and I had great attendance at my various sessions. In addition, the sections I attended were informative and generally well presented. This conference should be great for SunGard HE clients.

7 - Attended CAMP Shibboleth in Burlington, VT
Educause puts on a pretty good show and I certainly learned a great deal from this one. Shibboleth and identity management as a whole are important topics for me. I hope to be able to leverage much of what I learned from this conference to get centralized authorization and federated single sign-on in place at Plymouth State University.

6 - Was introduced to JQuery
After attending the Ajax Experience, Matt introduced me to JQuery. This is the ideal JavaScript toolkit for how I like code to be structured. This new technology in my toolkit is already greatly effecting what I am capable of creating and maintaining. As I become more proficient, I expect my love of JQuery to grow even further.

5 - Blog became trafficked and profitable
I now have over 400 posts and my daily numbers according to Bsuite dance around the 20k mark. I am getting a fair number of comments. In general, this blog has become a highly satisfying piece of my life. In addition I am making a reasonable amount of money doing it, allowing me to fund other entertainment like comics, movies, and video games.

4 - Attended and presented at SunGard HE Summit in Orlando, FL
See my previous post for all the details.

3 - Cruised the Caribbean with my wife and my family
In the spring my parents, my brother and his wife, my aunt and uncle, and my wife and I travelled together to the Caribbean on a cruise. We visited Puerto Rico, Saint Thomas, Dominica, Barbados, and Aruba. I could not have asked for a more entertaining group of people to travel with. The things we saw and experiences we had will forever remain significant in my life.

2 - Found out we were having a baby
Early this year we learned my wife was pregnant and we were having our first baby. This is an amazingly significant milestone in our lives. My wife’s pregnancy went very well, and you can read her week by week experiences on her blog, Being Sara.

1 - Xander was born
At 6:39 pm on Wednesday September 20th my first born son arrived, Alexander “Xander” Grady Tirrell. He weighed 8 lbs 2 oz and was 20.5″ long. After a long labor he was finally born cesarian. He is happy and healthy. As part of his coming into the world, I have not been at work much. I took 6 weeks when he was born followed by a longer leave from November 17th through January 2nd. I have been fortunate to spend a great deal of time with the little guy now when it is so important.

So that’s it. There is my year in top 10 summary style. It’s been exceptional.

baby, being sara, caribbean, identity management, javascript, jquery, shibboleth, summit

Tags: , , , , , , ,

Related:

jQuery: Form Plugin, Sweet… Almost

November 8, 2006 | 1 Comment

jqueryI am a recent convert to the powers of jQuery ever since Matt fell in love with it at "The Ajax Experience". The syntax and simplicity exceeds the combination of Prototype and Script.aculo.us that I was using.

By far one of the greatest features of jQuery is the ability for the community to create amazingly useful plugins. As I become dependent on many, I will highlight them here (mostly so I don't forget). The plugin I want to talk about right now is the form plugin from malsup.

Basically this plugin allows you to have a form be submitted through an XHR call. It uses the form's defined action URL to determine where to post the values and by default will update a specified div with returned data. It has additional flexibility to get returned data in XML or JSON if you would prefer. Go check out the example on his site, this is extremely simple to implement. This is exactly what I was looking for and I was quite happy, until I found a bug...

There is a problem with the internal formToArray() function when dealing with multi-select lists. If you are pre-selecting values in the list on load with some sort of server side language (PHP in my case), the pre-selected values will be submitted along with the newly selected user values. Obviously this is not what you would want to happen. The problem code occurs around 300 lines in:

JavaScript:
  1. if (t == 'select-multiple') {
  2.     jQuery('option:selected', this).each( function() {
  3.     a.push({name: n, value: this.value});
  4.     });
  5.     return;
  6. }

The jQuery search is finding more than it should. I have two ways in mind to resolve this issue. Most simply, you can add an if statement before the push, like this:

JavaScript:
  1. if (t == 'select-multiple') {
  2.     jQuery('option:selected', this).each( function() {
  3.     if(this.selected == true)
  4.         a.push({name: n, value: this.value});
  5.     });
  6.     return;
  7. }

This makes sense and is simple, yet it feels dirty since you receive more data from the search than necessary. I'm not certain about the efficiency, so here is another option:

JavaScript:
  1. if (t == 'select-multiple') {
  2.     for(var i=0;i<this.options.length;i++) {
  3.         if(this.options[i].selected==true)
  4.             a.push({name: n, value: this.options[i].value});
  5.     }
  6.     return;
  7. }

In this second one, we loop over all the elements in the multi-select to determine which are checked.

Like I said, I'm unsure which would yield the better performance, so hopefully someone will do the benchmarking and it can be rolled into the next version of this sweet plugin.

ajax, ajax experience, ajax form, form plugin, javascript, jquery, jquery form plugin, jquery plugin, jquery plugins, malsup, plugins, xhr

Tags: , , , , , , , , , , ,

Related: