« July 2005 | Main | September 2005 »

August 29, 2005

Google Talk & the IM Pecking Order

I was talking with a buddy over Google Talk last night and was amazed at how crystal clear the call was... better than Skype and really better than my cell phone! So I was surprised to see this blog entry entitled "Google Talk Blows". LOL! Google Talk is very simple yes, but the voice feature has effectively reached perfection.

To be fair to the MSN Messenger team I decided to talk to the same buddy using their shiny new IM client. Here is exactly what MSN Messenger printed to the screen:






Corey B. is inviting you to start a Voice Conversation. Do you want to accept (Alt+C) or decline (Alt+D) the invitation?

You have accepted the invitation to start a Voice Conversation.

Harris says:
this takes forever to connect

We are currently unable to set up this conversation. Please try again.

The Voice Conversation with Corey B. has ended.

Harris says:
bizarre

You have invited Corey B. to start a Voice Conversation. Please
wait for a response, or cancel (Alt+Q) the pending invitation.

Corey B. has accepted your invitation to start a Voice Conversation.

Corey B. says:
works well
Harris says:
LOL

The Voice Conversation with Corey B. has ended.

We never talked over MSN; maybe the service was just having a bad night, but it didn't even work. Apparently this "feature" is even listed as "...Awesome Audio Quality Improvements"??? Riiiight. One thing that struck me though is that with this level of brokeness, MSN Messenger could actually function as a rejection service... when someone who you don't want to actually call asks for your IM, give them your MSN handle and rest assured that their call won't get through! Brilliant!

MSN Messenger exhorted me to "Please try again." I did... this time with GoogleTalk, and what do you know... a nice clear voice connection... ahhhh... free calls that work and work well. GoogleTalk Blows MSN Messenger Away!

The true king of IM though is Yahoo... they even allow you to leave voice messages... plus the audibles are hilarious and for some reason it is the only package that supports offline messages.

Of course by the numbers AOL is first (mainly from the teeny bopper crowd) followed by Yahoo and MSN, with GTalk just out of the gate. If GTalk becomes the one service to bind them all then it may get some traction as well. From a technical perspective however, the IM pecking order is more like this: 1) Yahoo 2) GTalk (simple but fantastic voice) Tied for Last) AIM and MSN Msgr.

Rants, Flames and other sundry commentary welcome.

Posted by harris at 11:13 PM | Comments (0) | TrackBack

August 17, 2005

New Drink

Diet + Cherry + Vanilla + Dr. Pepper. I've been downing these in the afternoon when I need a break. It's kind of like a really nice train wreck. Details here. Gotta love it.

Posted by harris at 10:25 PM | Comments (0) | TrackBack

August 10, 2005

Electric XML Lives On

I have been playing with Ruby some lately and today looked at how XML is supported in the language. Interestingly the XML package in Ruby is named REXML, which apparently stands for Ruby Electric XML. Imitation is certainly a form of flattery and although I never wrote much code for EXML while at The Mind Electric, I was happy to see it living on in Ruby. For those of you who may not know, Electric XML was (is?) an XML parser written in Java that was both fast and very easy to use. Although it was not an standard open-source project the source code was shipped with the product way back when. It ceased being a stand-alone library after TME was acquired by webMethods and I am not sure if the source still ships with Glue (if it does there should be a build file that will build EXML.jar for your programming pleasure).

One interesting bit of irony on this topic; from what I have read Ruby seems to shun XML (Rails uses YAML for config I believe) as much as possible so REXML may not get the workout that it did in Java; nonetheless, if you do have to use XML (which you invariably do at some point) it is nice to know that a clean API is ready for consumption.

Posted by harris at 11:20 PM | Comments (1) | TrackBack

4.7 mps

I was glad to hear that the space shuttle Discovery had landed safely yesterday. I as in the vicinity when both the Columbia (living in Dallas) and the Challenger (Tampa/6th grade) tragedies occurred so it is always a good feeling when another mission ends safely. One interesting note about the shuttle... apparently the shuttle re-enters the atmosphere at 17000 miles per hour. While that sounds fast, it sounds a little faster when converted to miles per second which would be around 4.7. Compared to the speed of light (~186000 mps) that is dog slow, but compared to a fast human running (~.004 mps if you run a 4 minute mile) it is fairly snappy. Perspective is everything.

Posted by harris at 10:33 PM | Comments (1) | TrackBack

August 04, 2005

How many Blogs would a Blogger Blog...

How many blogs would a blogger blog about if a blogger could blog about blogs? He would blog about what blogs a blogger would blog, if a blogger could blog about blogs.

If you understand that then you will understand this blog entry, "Bloggers blog about blogging".

The beauty of blogging is you can blog about whatever you want... even if that means blogging about how bloggers blog about blogging!

Gotta love it.

Posted by harris at 05:29 PM | Comments (2) | TrackBack

August 02, 2005

Attrition at the Alma Mater

I am kind of wondering why my name wasn't mentioned as one of the "Nine Quiet Departures". :-) It is interesting though that one of the few technical leaders webMethods had on the payroll is no longer with the company. To be competitive in the software industry requires several key attributes, not the least of which is technical leadership. This is one of the reasons why Google is so successful... THEY GET IT. Over the past couple years, even after their celebrated IPO, they have attracted significant technical leadership. In addition Google is proving that there is not always a linear relationship between size and dysfunction. How? An aggressive combination of technical acumen and some good old fashioned discipline.

This is not to say that webMethods is not a good company. I believe they are. But there is a difference between being good and great, and the market can always tell one from the other.

Posted by harris at 10:31 PM | Comments (0) | TrackBack

SAX Parsing

Today at work I had to write some code using the SAX (Simple API for XML) interfaces to hydrate some Java objects. I have worked with XML quite a bit over the past few years, but still had not done much with SAX. I still prefer using a pull parser or a Java-friendly DOM interface, but using SAX was at least mildly interesting (it doesn't take much to amuse me these days).

SAX is a "push" parser that acts like a fire hose spewing out interesting events as it traverses an XML tree. The ContentHandler interface is where all the the action takes place as it receives the events that provide access to the data. When using SAX to initialize objects you essentially need a ContentHandler that understands how the content model relates with the object model. Unless you hard-wire your XML elements to match the fields within your Java object, encode some metadata in the XML, and use reflection, this means that you'll have a ContentHandler for each different chunk of XML that needs to be processed.

One of the nice things about the experience was being able to pass control between different handlers during the parsing process. This allowed for handlers to be easily reused in different contexts assuming the XML within those contexts is the same.

An important aspect of using SAX is that the content handler typically needs to maintain some level of state during the parsing process to know when to peel off the interesting bits. This is one things that I found lacking in the cursory examples on the web, most of which simply spewed some data to System.out. I would consider posting a good SAX example that actually does something meaningful, but the truth is that SAX parsing in Java is so 1999 that I probably won't bother... I just happen to arrive late to this particular party.

Posted by harris at 10:25 PM | Comments (0) | TrackBack