New bits of kit

After the purchase of the 400D, I’ve invested a few more coins in some extra bits of photographic kit.

Firstly, and after a number of recommendations, I’ve bought the Canon 50mm f1.8 prime lens. First impressions are that it lives up to the expectations and the large aperture really benefits indoor photographs without flash. The shallow depth of field makes it great for portraits. I’m going to a christening in a few weeks so I’ll hopefully get to give it a good run out. I picked it up for £75 from the Southampton branch of London Camera Exchange.

Next up was the Canon BG-E3 battery grip. This attaches to the bottom of the camera and bulks it out a bit, as well as taking two batteries. Not an essential purchase, but it does make the camera a bit more weighty and comfortable in my hands, and really helps with portrait shots thanks to the additional shutter release button. Price was a very reasonable £89 again from London Camera Exchange. This beats the best online price I could find (that actually has stock) by a good £30.

To go with the above I purchased a second Canon NB-2LH battery from Amazon for £34.41. I decided not to go for a 3rd party battery, though they are much cheaper. At the same time I bought a 2GB Sandisk Extreme III compact flash card for £46.21 which was around the same price as, but with free postage.

For my forthcoming attempt to take some photos of the Hursley fireworks this Friday I hit eBay, and bought a 3rd party remote shutter release from a seller in Germany. It is essentially the same as the Canon RS-60E3, but at a much lower price of £5.99 including postage. The build quality isn’t as good, but it works and even has an extra feature for controlling two cameras from the same shutter release switch, which the official Canon one can’t do I believe (not that I will have a use for this particular function I’d imagine.)

Finally, and also from eBay, I purchased a Manfrotto 390RB tripod and 390 quick release head as a second hand purchase from a private seller. This turned up this morning and looks in great nick. I used to own a Manfrotto mount and suction cup for an abortive attempt to take some video on a car track day, and their build quality is excellent. I look forward to trying it out in anger. I won the auction at £59 which was a little more than I wanted to pay, but is cheaper than an equivalent new Manfrotto tripod and head would cost.

It’s fair to say that I’m not planning to splurge much more cash in the near future. This should be enough kit to keep me going, and to allow me to capture the pictures I want to get. The only possible exception is a slightly larger bag to keep it all in! In any case, it’s now time to concentrate on producing some end results.

WebSphere ESB 602: Administrative dynamicity

In WebSphere ESB 6.0.1, the amount of post-deployment administration you could carry out was limited to the ability to view module import and export details, and the capability to modify the target of an import with an SCA binding. Within WebSphere ESB 6.0.2 we have greatly improved the influence the administrator can have on a deployed mediation flow in two ways.

The first of these is to extend the ability to re-target endpoints to include Web Services endpoints. Thus, an administrator can override the endpoint URL for SOAP/HTTP and SOAP/JMS endpoints. This administrative capability is in addition to the new dynamic endpoint selection functionality I’ve already talked about and is more static in nature. You might ask which one takes precedence and the answer is any endpoint dynamically selected by the mediation flow.

More significantly, we’ve introduced the concept of module properties. An Integration Developer can now opt to promote certain properties of primitives within the mediation flow up to the module, where they will be exposed for viewing and modification by the administrator post-deployment. This leads to a number of interesting possibilities, from being able to make small changes to the behaviour of the flow such as whether or not a Message Logger logs within a global or local transaction, to more creative uses which can have an effect on the outcome of the flow. The combination of administrative properties, the Message Element Setter and a Message Filter primitive is a prime example of a possible application of the latter.

WebSphere ESB 602: Dynamic Endpoint Selection

Apologies for the delay in producing the next in this series of posts outlining the new functionality coming up in WebSphere ESB 6.0.2. However, I’ve got a few cycles to spare so I’m going to try and get the rest of them done in short order.

One of the big questions we get on WebSphere ESB is how can you dynamically select the endpoint to invoke from within a mediation flow? In 601 you are limited to defining imports for all the endpoints you may wish to invoke and then using the Message Filter primitive to route to one of them. Whilst this works, it isn’t very dynamic. If you want to add an endpoint then you need to go back to tooling and then redeploy.

Re-tooling and deployment may be acceptable if the interface of an endpoint has changed as you may well need to update the contents of the flow accordingly (for example by changing a transformation) but is overkill in the simpler case whereby the interface remains the same but you just want to change the endpoint the message is sent to. Just such a scenario was the basis for a Developerworks article by Greg Flurry.

The dynamic endpoint selection capability in WebSphere ESB 6.0.2 will solve this issue by allowing you to augment the Service Message Object during mediation with information on the endpoint that you want to invoke. So the next question is then how do you determine the endpoint?

Well, you could use the existing Database Lookup primitive or a custom mediation, but more interestingly you can also use a new primitive available in 6.0.2, funnily enough titled Endpoint Lookup. The interesting thing about the Endpoint Lookup primitive is that it interfaces with the WebSphere Service Registry and Repository. As such, you can configure the primitive to look up endpoints based on port types, versions and even perform more complex queries based on the ontology you’ve defined within your registry. The registry may return zero, one or more results which you can then select from using a variety of methods, for instance a combination of Message Filter and Message Element Setter.

All this works for endpoints using the SCA native bindings or SOAP/HTTP and SOAP/JMS.

First efforts with the 400D

Winch and lines

I worked from home today, and a mid-afternoon glance out of the window showed some nice light outside so I took the 400D out for it’s first proper play. The location being just outside our flat in Ocean Village. I spent an hour and a half wondering around trying to find compositions that wouldn’t appear too snappy, and playing around with the camera settings. I shot mainly in aperture priority using both lenses, and had my first taste of RAW processing using Adobe Lightroom on the iBook. Processing-wise my experimentation was limited to the presets – I need to do a lot more reading up on the various controls and the effect they will have.

I’m pretty pleased with the results though, for a first go anyway. I accidentally left the camera on ISO 400 for a few of them which has left them a little noisy. Some choice ones are up on flickr, any comments and constructive criticism welcome!

v4 firmware for Orange Nokia N80s available

Further to my previous blog about Orange UK and their apparant lack of regard for Nokia N80 owners, it seems that the Orange approved version of the N80 v4 firmware is now available via the Nokia Phone Software Update site. I’ve just performed the update, and all went well. It is a 70MB or so download and about five minutes to install. Remember to back up your phone memory to either the memory card or PC beforehand so you can restore all your information afterwards as it resets the phone to factory settings.

The *#0000# command now displays:

V 4.0623.0.41
Nokia N80 (31.04)

On top of the v4 firmware contents, two new applications appear to be installed: OrangeTV and Orange Music Player. The former is the client for a streaming TV service which Orange have offered on other handsets for a while now, and the latter appears to be an iTunes type download store for music. A quick peek at the latter showed you get three songs for free, and then have to pay per download. The range was rather limited and they cannot be transferred from the phone.

The inclusion of these two applications (presumably rewritten for Series 60 3rd edition) suggests that the release of this firmware has not been a  knee-jerk reaction to customer pressure but something that’s always been in the pipeline. As such, the inability for Orange Customer Services to either know this or at least communicate something to their customers to appease the disquiet is worrying. A classic case of the left hand not knowing what the right is doing. Still, they’ve come through in the end so well done Orange, now keep it up.

Dilbert and caffeine

My caffeine withdrawal is going well, the main benefit being that I have stopped drinking Coca Cola. The decaf coffee at work is nice enough. Interesting to see that Andrew has joined me in quitting as well. All of this makes today’s Dilbert especially funny. Hopefully we will see the effects of withdrawal over the next few strips!

WebSphere ESB 602: Event Emitter

Event Emitter primitive

The Common Event Infrastructure is a core part of the runtime that WebSphere ESB and WebSphere Process Server are based on. The CEI runtime allows you to generate business or IT level events and persistently store then for consumption by monitoring tools such as WebSphere Business Monitor. The event format is defined by the Common Base Event model.

Currently in WebSphere ESB 6.0.1 you can generate CEI events when exports and imports are invoked. With the Event Emitter primitive in 6.0.2 you will be able to generate your own events from within a mediation flow, which can embed any information from within the Service Message Object.

A typical use of the Event Emitter primitive would be in conjunction with the Message Filter primitive to generate a business event when an exceptional situation is discovered based on the content of the message being mediated.

WebSphere ESB 602: Message Element Setter

Message Element Setter icon

In the first of a series of posts on the new functionality coming up in WebSphere Enterprise Service Bus 6.0.2, I’d like to introduce one of our new mediation primitives: the Message Element Setter.

The job of this primitive is to provide you with an easy way to set a particular part of the message with a value. Previously, the only way to do this would be to utilise the XSLT primitive with a very simple XSLT function, or to use a custom mediation primitive. Both of these are pretty heavyweight for such a simple job, and so the Message Element Setter was born.

Very simply, you can configure the primitive to set any part of the Service Message Object, specified via an XPath, with a value of a particular type. In addition, there are two special types of setter: the copy and delete. Copy allows you to copy part of the SMO from one place to another, and delete obviously allows you to delete the value of the part of the SMO you specify.

WebSphere ESB 6.0.2 Announced

IBM have today announced the forthcoming release of WebSphere Enterprise Service Bus 6.0.2, along with new releases of WebSphere Process Server and WebSphere Integration Developer. All will be released electronically on 22nd December, or 19th January 2007 on physical media.

I’ll be highlighting the new features in WESB 6.0.2 in a number of forthcoming posts, but to give a short rundown you can expect:

  • Greater dynamicity – e.g. the ability to dynamically reconfigure endpoints, ability to view and modify mediation primitive properties after deployment via the admin console/commands.
  • Dynamic service selection – ability to select an endpoint based on some criteria for example by using the Database Lookup primitive, or the new Endpoint Lookup primitive which interacts with the WebSphere Service Registry and Repository.
  • New mediation primitives – Message Element Setter for directly setting parts of the SMO without the need to use XSLT. CEI Emitter for outputting Common Business Events from within a mediation flow to feed directly into WebSphere Business Monitor.
  • New bindings – Connect directly to native WebSphere MQ queues, and MQ JMS rather than using MQLink. Provided data bindings for all JMS message types.
  • Usability improvements – easier configuration and administration, especially for clusters.
  • Performance improvements – across the board performance improvements

That’s a lot of new function, and on top of all that you now also get the WebSphere technology adapters bundled in as well.

Nokia N80, Orange and firmware

As I’ve previously blogged, I currently have a Nokia N80 mobile phone on the Orange UK network.

The phone itself is fantastic, apart from a few things like short battery life and a tendency to run out of memory. Nokia have released a few firmware updates since the phone came out, the latest of which is version v4.0623.0.41 released on 26th July. According to people who have tried it over on AllAboutSymbian, with this firmware the phone is rock solid. In particular, it has fixed a problem with Bluetooth in which the phone dropped the Bluetooth connection after a few minutes. This was particularly annoying for users of Bluetooth GPS receivers.

Each network goes through the process of certifying each Nokia firmware release for their network, and possibly adding their own tweaks to it. For instance, Orange add a photo uploading application.

Now until recently, there have been two ways to upgrade the firmware of the phone: either take it to a Nokia Service Centre, or download some illegal cracked software and do it yourself. The latter route will invalidate your contract with the network for instance, and certainly would be picked up on if you had to return the phone for any reason. Upon release of the v4 firmware I took my phone to my local service centre and requested a re-flash of the firmware. It came back with version v3.0617.06, which whilst better than the original version, still has significant bugs compared to the v4 firmware.

The Nokia Service Centre software will only flash the phone to the latest level of firmware authorised by the network operator. The only way to get the v4 firmware would be to have a generic, unlocked version of the phone, or to take the illegal DIY route.

In the last few days, Nokia have added the N80 to the list of phones you can update yourself via the Phone Software Update page. However, reports suggest that like the service centres, it will only allow you to install firmware authorised by your network operator.

So, naturally you would hope that Orange would test the v4 firmware and authorise it for their phones? Well the answer appears to be no. Rumours are circulating that Orange have withdrawn the N80 from sale, and their web site seems to back this up. Now this could be due to the pending release of the N80 Internet Edition, but some people have been told that due to “software issues” Nokia are no longer supporting the N80. Does this mean that they won’t authorise the v4 firmware that by all accounts turns the N80 into a perfectly stable phone? Various reports of conversations with Orange customer services suggests this might be the case.

So, Orange appear on the face of it to be leaving their customers with a crippled phone, especially if you want to use it as a sat-nav device with a Bluetooth GPS receiver and software like Tom Tom Navigator 6 (which of course I won’t!) This leaves owners of Orange N80s who actually want a fairly bug free and fully functional phone with only one course of action: illegally use cracked software to update the firmware and risk invalidating your warranty with the operator and Nokia themselves.

All in all, not a very good situation. I was a customer of O2 for eight years before I switched to Orange to get the N80. I have to say at the moment I’m regretting that move, and it doesn’t seem like I’m getting much service for my £55/month. It has to be said that neither O2 or Three have yet provided the v4 firmware to their customers, but at least in the case of O2 they still seem to be selling the phone.