Thursday, March 16, 2006

Fame, and bananas

As I just posted over on the Hursley blog, Raising the Eight Bar... the local newspaper has picked up the Blue Fusion event, and as a result you can see a picture of yours truly holding an inflatable banana. Such is the price of fame.

News bytes

Not a lot of time this morning, so here are a few random and largely unrelated things from around the blogosphere.

IBM's Edd Brill's blog is rated as one of the best blogs for hidden corporate and product gems. He has also posted new screenshots of Sametime 7.5. I'm also alpha testing the product, and I'll try to blog more on this soon.

Fix Pack 2 for WebSphere Message Broker File Extender is out.

Comedy genius Dave Gorman has discovered Flickr.

Amazon's new S3 storage service has got bloggers thinking.

My friend and colleague Chris Nott has co-authored a developerWorks piece on choosing an ESB to fit your business model.

Technorati tags:

Wednesday, March 15, 2006

New weblogs of note

These will be making it into my sidebar, at some point:

Design Patterns for Modern Life (from the infamous Richard Brown)
Per Henrik Lausten
Gerhard Poul
Philip Hartman

Tuesday, March 14, 2006

Genetics of dragons, wisdom of monkeys

I've spent the past two days as an activity host at the Blue Fusion event in Hursley. The title of the post will become clearer if you read on...

For those that don't know, every year (for the past 11 years) IBM participates in the UK's National Science Week, by inviting teams of students from schools from the surrounding area to come into the lab to take part in science-based activities. Each school can bring a team of 6. Throughout the day they are accompanied by an IBMer (a school host), and rotate through a number of different activities (run by activity hosts). They score points according to how well they manage to complete the activity, including points for teamwork, and at the end of the day the top 3 schools win prizes. There are also a number of guest speakers, one at the beginning and one at the end of each day. We try to keep the day varied and interesting.

This is my second year as a helper. Last year I ran an activity called Kids Run e-business - basically a simulation of business process management. It was such an addictive experience that I signed up again this year. Yesterday I hosted Dragonetics, which explored the ideas of genetics and inheritance by using a family tree of dragons. The students seemed to really enjoy it, and once I'd got over the initial "oops how does this work and how do I run it?" Monday morning nerves, I had a great time, too. Today the activity I was hosting was testing communication skills using Morse code, semaphore, and reading Braille.

Probably the most interesting part of the day for me is seeing how different groups from different schools - and different mixes of genders in the groups - behave and work together as a team. Last year the range of behaviours was anything from highly motivated and driven to win, to relatively disinterested. This year's teams have largely been extremely motivated, although not always particularly well organised. One group had a strong leader; another one seemed to be excluding a couple of the brighter individuals through their enthusiasm for getting stuck in. The levels of teamwork and communication can vary tremendously. It's a fascinating study in psychology! The added dimension is that during the day, the scores for each activity and each school are displayed in the main hall in Hursley House, so the teams can see how they are doing compared with the others - towards the end of the day, the top few teams can become ultra-competitive, and some of those at the bottom of the table sometimes lose some of their energy.

So, why do I choose to get involved?

1. It is time out from ordinary activities. For me, this has meant time to recharge, in some ways - although it is hard work, and a long day, it's so totally different from what I normally do, it is very refreshing.
2. It is an opportunity to provide giveback to the community.
3. It involves entirely different skills from my day job. Although I do a lot of mentoring / coaching / skills transfer with our customers, working with children demands an different set of capabilities.
4. It really is enormous fun. I can't wait for tomorrow to come around.

For me, before I came into IT, I was always going to be a teacher - so this is a way for me to explore that kind of experience without having to change careers.

Sunday, March 12, 2006

Thirty

Well, it happened...

Friday, March 10, 2006

Optimising my route around London

This is one for my colleague Richard Brown... who has stated his intention to start a new blog on efficient commuting. Optimise my daily route from London Waterloo to Old Street (or from Farnborough Main mainline station, if you prefer). The Waterloo and City line is due to close from April to September... which is no big deal, since I intensely dislike the daily scrum at Waterloo to get onto the Waterloo and City line anyway. So far I've tried W&C to Bank, followed by Northern to Old Street... currently my preferred choice is Northern Line Charing X Branch to Euston, and down to Old Steet.

Current travel time is approx 45 mins from Farnborough to Waterloo, and half an hour from Waterloo to Old Street on the Northern - I leave Farnborough at 0745 for a 0900 start. I'd prefer to make no more than two changes (currently from mainline to tube, and then one change on the tube), but I'll allow up to one more change.

Thoughts?

Thursday, March 09, 2006

Satnav again - decision made

Following on from my last post on the subject, more information on the new TomTom models is now available. I want a TomTom GO 910... the more I read, the more I know that it must be mine... but it sounds like it won't be available in the UK until May. Two months after my birthday. Blast.

Technorati tags:

Stopping MQExceptions being logged to the console in Java

I've been writing some Java code that uses the WebSphere MQ base Java API. When there is an error, even if the MQException is caught, I've been finding that the exception is logged to the console.

There's a simple way to stop this from happening. Somewhere in your initialization method, you can include this statement:

// by default, MQExceptions are logged on System.err
// this will switch off that behaviour
MQException.log = null;


Of course, you can - and should! - still catch and handle the exceptions as normal, and get at the text of the exception if required. This just prevents them from always being printed on the console (or location of System.err).

Wednesday, March 08, 2006

Implementing information as a service

A topic that I've been interested in for some time is the concept of Information as a Service. My Software Services colleague Bobby Woolf[*] has just discussed this idea this on his blog. In summary, you can implement services in your SOA that provide an interface to your data, rather than accessing it directly using, for example, JDBC calls - separating your application from the format and location of that data. I thought I'd add my own spin on this by providing a real-world example, and hopefully demonstrate how easy it can be to implement this kind of model.

Background: four months ago I was working on a project where we had been asked to create a portal interface to a proprietary, legacy backend system. We were implementing SOA, so chose to use WebSphere Message Broker as the Advanced ESB product to build a service facade over the backend system. When a portlet running in WebSphere Portal needed to invoke one of the backend APIs (say, GetCustomerDetails or ReportFault), it would send a JMS message to the ESB. The broker would then reformat the incoming XML message into something more palatable to the backend, initiate a sockets connection to the iSeries system from a JavaCompute node, perform the call, and then return some XML to the invoking portlet over JMS.

(of course, we could have put HTTP nodes on the ends of the message flows instead of JMS queues, and generated WSDL, but for various reasons we chose not to do so on this occasion)

So far, so good. The other thing that we needed to do was to get some information from a backend database. Naturally, we could have done this using JDBC calls from the portlet. Instead, we chose to implement an interface that was consistent with the one that we were using to access the backend system - namely, a service exposed over JMS.

One line of ESQL in the Broker (similar to the following) created an output message that was consistent with the format of the responses from the backend.

SET OutputRoot.XML.Response.Services.Service[] =
(SELECT T.SVCCODE AS Code, T.SVCDESC AS Description FROM Database.SERVICES as T);


What this code does is query the SERVICES table in a database and return the SVCCODE and SVCDESC columns as an array, which is used to populate an XML structure - we end up with a set of Service elements in our Response message.

Results of the ESQL code example

When we later needed to query a second database table as part of the same operation, we were able to use the broker to do this - it merged the two sets of data, and returned a single JMS message containing the response. All in a single line of code.

This example only shows a read operation - but we could implement create, update or delete just as easily, and touch multiple datasources if we chose to do so.

So, what were the key advantages of implementing the Information as a Service pattern here?

  1. Very simple to code in broker - I'd even use the word, "trivial".

  2. No mixing of APIs on the portal side; JMS (or SOAP/HTTP) only, no JDBC.

  3. XML data returned to the portal is ready for use by the same XML parser used to get data out of the responses from the backend, in the same format as it came from other services.

  4. The ESB can insulate the presentation layer from database changes... if the database schema changes then it can still return messages that look the same if required.

  5. Other services can call the data service if required, so the scope and implementation of the data calls are not limited to the portal.



Incidentally, just to clarify, since it seems to be something of a misconception (in this review, for instance) - you do not have to use ESQL in order to access a database using WMB. We offer Java and Mapping nodes which have similar capabilities. In this case, I wanted to illustrate just how straightforward it can be to build an XML message from a database query using ESQL (it uses less space in my blog!).

[*] I've met Bobby only once, briefly, after a session at a conference about 15 months ago. You can tell he's a guru because he's blessed with a blog at IBM developerWorks. Plenty of interesting stuff to read over there.

Tuesday, March 07, 2006

WebSphere Message Broker reviewed

Thanks to Google News Alerts, I found a very interesting article about WebSphere Message Broker (the review is at Network Computing, but I came across it via the Messaging Pipeline, a site I'd not been aware of before). It is particularly interesting because it is a review, and I don't think I've ever read a review of WMB before. The article is mostly positive, which is great. It also provides a few comparisons with aspects of competitive products, and I'm always grateful for the insight.

I'd like to make it clear that I am not an official spokesperson for the product, but as a consultant I have been using Broker in customer situations for over five years now. There are a couple of points in the article that I think are worth picking up:


  • We rebranded MQSeries as part of the WebSphere family (WebSphere MQ) a few years ago - I think it is always worth getting this right.

  • The article doesn't explicitly explain what the simple scenario that was being built actually did, so I can't really respond to the charge that a significant "depth and breath of knoweldge" was needed to build it.

  • Message Broker's ability not to have to use XML for data parsing and transformation is, indeed, one of its greatest strengths. Not only that, it is worth adding that the broker uses just in time and partial parsing technology, which can significantly improve performance. What this means is that (unless otherwise configured) when a message arrives at a message flow, it is only parsed the first time that you address a field inside it. When that happens, the message is parsed to the point at which that field exists in the message, and no further. Of course, if you want to, you could tell the broker to parse and fully validate every field in the message before processing it in the flow - but you don't have to. Partial parsing is great for performance. Say you were routing a message on the contents of an XML element that existed in the first, say, 50 bytes of the message - you could do that without having to parse the whole ~200Kb document.

  • The broker has a number of methods of transforming data - Java, XSLT, ESQL and drag-and-drop graphical mapping. The author of the article appears to refer to building a mapping, and having that generate the XSLT required. The article also suggests that there is no tooling for building an XSLT visually. Actually, our Rational tooling (on which the Broker toolkit is based) does provide exactly this function, and it sounds like the author used it... so I'm a bit confused here. As well as a graphical XSLT editor, the Eclipse editors provided with the Broker provide everything you'd expect for editing XSLT, like syntax colouring and context assist. It is possible that the XML development capabilities were not enabled, but it is a simple matter of switching them on via the toolkit preferences.

  • The article mentions that in order to access a database for a simple lookup, ESQL or Java coding is required. In fact, the broker has a number of database nodes. These use the mapping technology to provide a drag-and-drop interface to database tables. You can even discover a schema from a datasource using the Data perspective in the IDE, import the table definition, and work directly with it in the database nodes. So, you could build a database lookup without using either Java or ESQL.


Overall, I enjoyed reading this review. There's much more about WebSphere Message Broker - IBM's Advanced ESB - over on IBM developerWorks.

I'll leave the inimitable Richard Brown to pipe up on the true meaning of orchestration, he seems to have things to say on the matter...

Technorati tags:

Sunday, March 05, 2006

Orchid festival


Colour palette
Originally uploaded by andyp uk.
Ola and I spent part of Saturday at the 2006 Orchid Festival at Kew Gardens. The theme was Orchids in Art and Design. Wonderful displays. There were several large (probably 8ft tall) paintbrushes where the ends were covered in colourful orchids as if covered in paint, and some artist's palettes with the blobs of paint made up of orchid displays. The exhibition ends today, so we just caught the end of it... but it turns out that it is an annual event, so I'm sure we'll visit again next year.

A great opportunity to make use of some of the techniques in Photographing Plants and Flowers. Apparently one of the best ways to capture the unique shape of orchids is to face them, and then position the camera at about 45 degrees to the side, and 45 degrees up or down. Seemed to work well.

And so begins the last week of my 20s. Sigh.

Friday, March 03, 2006

Photo backlog


Flowers
Originally uploaded by andyp uk.
I'm slowly getting through a huge photo backlog from last year. This is the latest upload.

The one thing this has highlighted is how out of whack my displays are. My Linux box (where I edited this, and whence I uploaded it) shows the image with richer / more saturated colour than either of my two Windows laptops. It seems like it might be time to invest in a Spyder or Huey.

In other news, my favourite Flickr tool jUploader was updated to version 1.0 a couple of weeks ago. I only just noticed.


Technorati tags:

Getting around London

My colleague, WebSphere maestro Richard Brown is currently running an occasional series on his blog, sharing his secrets for optimising journeys around our capital.

There's no substitute for such first-hand local knowledge, of course, but if you are interested in planning your journey at a slightly higher level, the latest Google Maps mashup I've found provides a tube journey planner. Similar to the one offered by Transport for London, but faster. Plus it shows where the lines actually run, which is quite neat.

Incidentally, I notice that the iconic London tube map has made it into the final three for the Design Museum's Great British Design Quest, as supported by the BBC Culture Show. Of the remaining entries, I think it is going to get my vote - partly because it is so enduring.

Technorati tags:

Thursday, March 02, 2006

Going 50mm

Since I got my 50mm lens a few weeks ago, I've been making an effort to use it as often as possible... but I still fall back on my existing zooms fairly often. The truth is that we've not been out to do much photography - which is why I've been posting stuff from my back catalogue to my Flickr photostream.

I wanted to share a few really interesting articles about 50mm photography. The best article I've read is The Forgotten Lens. There is also Rediscover the 50mm Lens and this blog entry on 50mm prime lenses (which refers back to the first article I've linked).

I'm excited, but not getting out enough. I hope to remedy that soon.

Technorati tags:

Choosing an in-car satellite navigation system

Last week, my wife told me that she wants to buy me a satellite navigation system for the car as a present for a significant birthday that I have coming up far too shortly. The only challenge was that I knew next to nothing about the systems, and she was relying on me to help to choose the appropriate one!

The main criteria is that it would be good if it covered both the UK and Poland. Other than that, we don't mind too much. I've been told that cost is not an issue, which is very nice (and somewhat surprising!) to know.

Initial research suggested that the TomTom GO 700 was the best option since it does cover Poland - admittedly only 18% coverage but I can't find anything better than that. It has nice features like Bluetooth hands-free calling with a mobile, and downloadable voices including John Cleese..... As a techie, it was nice to see that that particular model runs Linux, too. The concern I had is that ~50% of the reviews on Amazon seemed to indicate that the units have a fairly high failure rate.

I posted a request for information to an internal forum at work, and several people replied with suggestions. The main players seem to be Garmin and TomTom.

Yesterday, TomTom announced a whole range of new models, due out in April. I'd suspected that this was on the cards, since their existing range was available at a significant discount. Mmmm. The new TomTom GO 910 sounds amazing. May have to wait until after my birthday, now.

Technorati tags:

Monday, February 27, 2006

Sametime 7.5 rocks!

The IBM Lotus website has just been updated with more information about Sametime 7.5, the forthcoming major update to the Sametime chat client. I've been using IBM Community Tools internally for a while now, and many of the features are going to make it into Sametime 7.5. I can't wait for the new version. There are plenty of screenshots to whet your appetite.

Technorati tags:

Friday, February 24, 2006

No longer #1 on Google

For at least a few days recently, this weblog was the top hit for my name on Google. Today, it is suddenly down to fifth or sixth, and all of the hits above it are unrelated to this Andy Piper. I have no idea how this has happened - but then, I also have no idea how I made the number 1 slot in the first place. Oh well. Ego-surfing back on pause for a while.

Thursday, February 23, 2006

Google's latest - Google Page Creator

Google Page Creator is an online tool that lets you create static web content. Google will then host it for you at [yourGoogleId].googlepages.com. You get 100Mb of hosting space.

Interesting to see where Google is going with this. Do you want them hosting your content? And how much does this differ from Blogger and other blog hosting sites?

Wednesday, February 22, 2006

Flickr eyecandy

So you've been bitten by the Flickr bug. You update your photostream regularly. Wouldn't it be great if your screensaver could show you your pictures, your favourites, those of your contacts, or others based on tags or groups? I've found two good Flickr screensavers:

I'd love one for Linux...

Technorati tags:

The end of SWT? Mustang kicks back

One of the big annoyances I always had with Java was how bad rich client / desktop applications looked. They can be ugly, and even with Swing, the look and feel often never quite matched the native desktop... this was particularly true on Linux, and I was also disappointed with the lack of antialiased (smoothed) fonts for Swing GUIs on Windows until recently.

Ensode.net has some screenshots of the new GTK look and feel that is due to come along in Mustang (aka Java 1.6), and it does seem that it is likely to be a much better match for my Linux GNOME desktop.

Of course, this isn't enough to sway me away from SWT, which always looks completely native, and as a programming framework it gets richer by the day. developerWorks has an article comparing AWT, Swing and SWT, and a tutorial on how to migrate your applications from Swing to SWT.