I've been with dW for eight of its ten years and it's the best job I've ever had at IBM. Working with great customers, peers, management and all the other groups throughout IBM has made (almost) every day something I look forward to. So here's a birthday present to everyone in mydW: a remote blog client. Why try a remote client?? Because once you set it up you can blog from your desktop in a robust client that's more like the interface you use for document editing.

Connections has a really nice Atom API that you use when connecting a blog client. The two Atom blog clients we've tried and can recommend are Ecto for the Mac and Windows Live Writer for the PC.

Since I'm not a hippie I use Live Writer. Here are some instructions with pictures that will help you get started on Live Writer; they should be applicable to Ecto too, our good friend Luis Benitez uses Ecto to blog on dW.

Before starting go into your blog settings and check "Enable Blogger and MetaWeblog APIs for your blog?" under your blog Settings->Preferences. Next download Live Writer from here. Once installed fire Live Writer up and select Blogs -> Add blog account from the main menu. Choose "Other blog service" on the first screen of the new blog wizard:

On the next screen enter the URL of your blog (https://www.ibm.com/developerworks/mydeveloperworks/blogs/jem for example) and the ID and password you use to sign into mydW:

I’m a sucker for tricks. In sports I’m not one of those in-it-to-win-it types. Forget “defense wins championships,” I want to be entertained. I’d much rather see a great show of skill than a plodding win. Give me Ronaldinho’s soccer magic or Federer’s volleys any day over the boring same-old same-old.

As developers we have our own bag of tricks that we try and combine into something special. Lately I’ve been using three Firefox plugins quite a bit.

Firebug is my first line of defense when something goes wrong with a web page. Here’s a screen I stare at all the time. I left the (innocent, honest) error in to show how Firebug alerts you to errors.

Next is Yslow. I don’t use it as much as Firebug (it’s a plugin *for* Firebug) but it’s great for getting a snapshot of how a page is built and loaded. Hmm, we’re always looking at reducing our page load time…

Finally I use Live HTTP Headers a lot to see raw HTTP requests and responses. I thought I knew HTTP pretty well until I began using this tool. Recently we used it to eliminate the browser as the source of error on some problematic if-modified-since headers.

So those are three common tools that anyone can use to do their normal job with a bit of flair. Of course as professional developers we have no choice but to win too :) .

Just when I was feeling pretty smart about all the work we've done on dW community over the last six months I read that Dolph Lundgren has an IQ of 160, a masters in Chem E, and turned down a Fulbright to MIT to take up acting.

mydW blogs have a rich set of authoring options. You can have multiple personal blogs, group blogs and blogs tied to a mydW community. With that richness comes one small but confusing behavior - if you are an author of a personal blog and a blog tied to a community there are situations where blog links will redirect to your community blog and not your personal blog. To prevent this make sure you pick a blog, probably your personal blog, as your primary blog.

The presentation went well, the room was pretty much full. It was fun but we're glad to be done. Here we are getting ready while watching the Vikings/Cowboys game. I won’t mention the score in deference to my Texas friends.

Thanks to everyone who attended. Special thanks to dW human factors superstar and Orlando resident John Muller for making a surprise appearance and helping out. Also thanks to Ami Dewar for making our presentation look so professional.

Recently we had a strange problem that defied all normal problem determination and debugging. We just didn’t understand how the code could be doing what it was doing (loading a page of mixed languages). That’s when we remembered the really cool Websphere tracing *built in* to the product. What WAS tracing allows you to do is follow the code path of selected classes as they execute in real time. Any class that is enabled for tracing with the java.util.logging.* classes is fair game.

Once configured and enabled trace information is output to a trace.log file. Here’s a screen snapshot of where to go to in your WAS admin console to enable tracing:

Here’s a shot of some of the classes we were tracing:

So what happened? We discovered that the problem wasn’t in the code at all but in the way we had configured our property files. Simple, easy fix that we would still be scratching our heads over if we hadn’t used WAS tracing.

So mydW is out and I"m going to take tomorrow off to catch up in the garden. This is the crazy time in Rochester, MN, between the glaciers receding and the start of summer we have about a three hour window to get our gardens together. Kris and I refer to it as outdoor day. This year is even worse because we had a real winter.

Every year I look at the destruction that winter has done to the garden and wonder why I bother, I can't possibly get everything done. Every year I stop whining, put my head down and it turns out alright. Believe it or not mydW was like that too. Yes we have our share of challenges and struggles like everyone else and wonder how it's all going to come together but today I think you can see it all worked out. Gretchen and Ami have a great article about what's in mydW and I'm sure there will be more to read in the future.

Since mydW was a team effort I'm looking forward to all my dW friends reciprocating and joining me in the overcast 50 degree damp chill tomorrow to work on the garden. I won't hold my breath but just like mydW it'll turn out alright:

I constantly harp on my kids about skill and technique in everything
they do. There is no detail too small, no skill too basic or trivial.
You can imagine how they enjoy hearing it.

Unfortunately my kids play soccer. Now I love to watch good soccer as
much as anyone (reference: Spain embarrassing Germany) but youth soccer
is mostly random booting, pinball played on a big, grassy field. If
I'm going to be forced to watch them play they're going to do it with
skill and technique.

To that end we host Brazilian coaches every summer. Brazilians are
widely known as the masters of soccer. They all came out of the
Brazilian youth academies and are on scholarship here. The coaches
spend the summer here in Rochester coaching local youth teams and
hanging out at our house. It's crazy but we love it, they've become
family:

So if you're going to learn soccer get yourself some Brazilians. If you want to be a better developer come to dW and read our articles, participate in our communities, blogs, forums, wikis etc etc.

Jay

PS: That is a real Kaka jersey signed by Kaka. Junior's brother played professionally with Kaka's little brother.

Servlet filters
have been around for awhile but each time I use them I'm impressed with
what they accomplish. In dW they're especially useful when we integrate
an application into our environment.

In mydW filters are firing all over the place. They prime your profile
information from our IBM registration system, make sure you go where
you want to go when you login, log you out etc etc. We could have gone
into LC
and made these changes but then we'd have to repeat them with every new
release; we'd essentially own some of the base product code, a
situation you want to avoid if at all possible. By using filters our
changes are elegantly placed on top of the base product and can be
easily migrated to a new release.

I took a step back from all the new development we're doing on the mydW platform to think about how far we've come. Five and a half years ago we started our dW blogs. It was an experiment we weren't sure would work so we quickly wrote our own blog application in a few weeks. It covered maybe 75% of major blog function and didn't have anything near the fit and finish of a Wordpress blog but it was ours and it worked.

We've long since moved off of that home-grown app to the robust and integrated mydW platform. That's three blog applications (we used Roller for a number of years), four servers, four databases, innumerable infrastructure upgrades, bug fixes, new features etc. etc. I'm proud that through it all we retained all of our entries, comments, and links (our original links still work, it drives me crazy when other sites don't maintain links).

Check out dW Editor-in-Chief Michael O'Connell's first dW blog post five and a half years ago about the mission of our community with a message that still resonates today.

Poor Michael didn't even get a comment on that first post, maybe he'll get one now :)