Thoughts on the Worldhttp://www.andrewj.com/blog
Thoughts on the World and Other Ramblings from Andrew JohnstonMon, 17 Dec 2018 13:49:11 +0000en-UShourly1https://wordpress.org/?v=4.9.4Why I Like My MacBook, But I’m Beginning To Really Hate Applehttp://www.andrewj.com/blog/2018/why-i-like-my-macbook-but-im-beginning-to-really-hate-apple/
http://www.andrewj.com/blog/2018/why-i-like-my-macbook-but-im-beginning-to-really-hate-apple/#respondMon, 17 Dec 2018 11:59:33 +0000http://www.andrewj.com/blog/?p=2198Continue reading →]]>Battery Replacement on a 2015 MacBook

I realised a couple of weeks ago, much to my horror and chagrin, that I had been walking around with a potential incendiary bomb. Not that I had done anything wrong – this is a more common practice than we’d like to admit, and it’s quite possible that some readers are doing the same, equally unaware.

The culprit was the battery in my 2015 MacBook. Now unlike the batteries on older laptops, this is sealed inside the alloy case, and not immediately visible to inspection. My laptop was still working fine, with battery life still around 2 hours even under quite hard use, which is not bad for a hard-used 3 year old machine. It was running a bit warm, especially in Namibia, but not so much that it indicated any real problem.

The only thing which was a bit suspicious was that it no longer sat flat on a table. The middle of the base-plate seemed slightly raised relative to the edges. At first I blamed myself, thinking that when I had taken the base off to check to see if you can upgrade the hard disk (you can’t, but that’s another story), I hadn’t screwed it down straight. However over time the problem seemed to be getting a bit worse, and I also started to note that the lid didn’t always close completely flush.

I would probably have let this go on a bit longer, but I happened to mention it to two others on the Namibia trip, who immediately suspected the possibility of a dying and swollen battery. Now this can be a serious issue, so as soon as I was back I went on eBay to order a new battery (fairly readily available at about £70), and opened the laptop up for inspection. If I wasn’t already convinced of the problem, I reached that point when I had undone about three screws and the base literally “pinged” open. With all the screws removed I could see that not only one, but all six sections of the battery were badly swollen. Yikes!

So the battery definitely needed replacement, and a new one was on the way. I carefully discharged the old one by playing a movie until the battery was below 2%, and switched my work to my spare machine. I then started researching the process of replacement.

Now pretty much every laptop I have owned or used in the last 20 years has the following simple process for battery replacement:

Unclip old battery

Clip in replacement

In some Toshiba and Dell/AlienWare machines you can even do a “hot swap” without powering the machine down. The 2011 MacBook gets a bit more complicated, as the battery is inside the case, but it’s still pretty straightforward:

Unscrew the base

Unplug the battery from the motherboard

Unclip the battery

Clip in the new one, and plug it in

Screw the base back on

So surely, it wasn’t going to be that difficult to do the 2015 MacBook battery? Surely not?

I should coco. Like the 2011 Macbook has standard memory boards, and the 2015 device has soldered chips, or the 2015’s SSD has a unique connector, Apple have made battery replacement deliberately difficult. This is the one component which is highly likely to fail through age before the rest of the machine, but it is glued to the baseplate, with key components then mounted over it. The iFixIt Guide has no fewer than 72 steps (I’m not making this up), at which point you have stripped almost the entire laptop, used some quite powerful solvents to melt the glue, and have your new battery in place with the instruction “To reassemble your device, follow these instructions in reverse order”. The last time I followed 72 instructions and then “reassembled my device following the instructions in reverse order” it took me two days, and I ended up with a Renault 5 with working engine and clutch, but 5 large bolts left over. Not keen.

Should I get professional help? For a machine up to about 5 years old, Apple will do a battery replacement, for about £300. Apparently they strip out all the components from your MacBook and mount them into a new chassis complete with new battery, keyboard and trackpad. Presumably the old chassis and related components go to the skip. However apart from the time this might take, I could see my MacBook coming back with all my keyboard customisations undone, and my hard disk which boots into Windows carefully wiped and OSX installed. Not keen.

[Aside: this is still a better position than if you go to Apple with a 5+ year old machine seeking service. Their official position is apparently “We are happy to recycle this for no cost. Here’s the price list for a brand new one”!]

I could look for a specialist, but again I was concerned about timing, and whether I’d get the machine back as I left it. So I decided on a self-fix, but trying to find a solution that didn’t mean stripping out the motherboard and all the peripherals. Now I could see that it might be possible to get a lever under the outer battery cells (the six cells are largely independent) without major disassembly, so I decided to try that route, hoping fervently that the iFixit guidance was overkill (as it appeared to be).

Obviously it’s a bit risky levering up already damaged lithium ion batteries, as you don’t want a fire, but hopefully the risk would be small since they were almost fully discharged. I took the precaution of having a heavy saucepan and lid sitting on a metal skillet at the end of the desk as a fire bucket, and used plastic tools as far as possible.

I also sourced a Torx T5 screwdriver for the internal screws. While the case screws and the inner screw heads look similar, the former have 5 points, and the latter 6. Just to make it a bit more difficult. Actually I’m not surprised Apple have a five-pointed design – the pentagram fits well with their generally Diabolical attitude to service, maintainability and the risk of immolation from faulty batteries…

So here’s my rather shorter process for replacing a 15″ Retina MacBook battery:

Make sure the battery is fully discharged. I left it playing videos which is a good way to exhaust the battery without having to battle battery-saving timeouts etc.

Unscrew the base. Make a note of which screws went where – they are not identical!

Unplug the battery.

Following the instructions on the iFixit guide, carefully remove the trackpad ribbon cable, which runs over the battery and is actually stuck to it.

Unscrew the batteries’ circuit board (to which the plug is attached).

Unscrew the two screws in each speaker which adjacent to the batteries. You can’t remove the speakers (they are held firmly in place by the motherboard and other components mounted on top), but removing the lower screws allows them a bit of movement.

Using a flat plastic lever (I used a plastic fish slice) and (if essential) a wide-bladed screwdriver, slowly lever up the rightmost battery cell.

When it’s free, use side-cutters to snip the connection to the other cells, then place it in the fire bucket.

Repeat the process with the next cell in.

Repeat with the two left-hand cells.

Lever up the two centre cells from the sides until you can get your fingertips under them. Do not lever from front or back as you risk damaging the trackpad or keyboard connections.

Once you can get your fingers under the central cells, they should continue to prise up and will eventually pop out.

Carefully remove any remaining adhesive tape from the chassis.

Site the new batteries, making sure the screw holes for the circuit board line up with the motherboard. This is the bit I didn’t get exactly right, but managed to “fiddle” afterwards.

Remove the protective film, and press the batteries down. Once this has been done they are glued in place and will not move, so this needs to be done carefully. However leaving the speakers in place means that you have good visual guides for positioning as well as the circuit board mounts.

Re-assemble the trackpad cable. This isn’t explained in the iFixit guide, but basically you need to carefully slide the ZIF connector into its socket, then press down the black tab. You can then plug in the other end and screw down its cover.

Screw down the battery circuit board. Replace the speaker screws.

Plug in the battery. Boot up the laptop to make sure all major systems (especially the keyboard and trackpad) are working.

Turn the laptop over and screw up the base. Remember that the two central rear screws are slightly shorter than the others and need to go back in those holes.

Check everything and fully charge the battery.

It worked, I didn’t set fire to anything, and my laptop now sits absolutely flat on the table. We’ll know shortly how life of the new batteries compares with the old.

However, it really doesn’t have to be this way. If Apple cared remotely about their customers and the environment instead of screwing everyone for the maximum revenue then the battery replacement would be a simple clip or screw process similar to the 2011 version, optimised for repairability rather than designed to actively minimise and inhibit it. I’m not impressed.

]]>http://www.andrewj.com/blog/2018/the-worlds-worst-panorama-2018/feed/0Namibia – What Worked and What Didn’thttp://www.andrewj.com/blog/2018/namibia-what-worked-and-what-didnt/
http://www.andrewj.com/blog/2018/namibia-what-worked-and-what-didnt/#respondMon, 10 Dec 2018 07:40:24 +0000http://www.andrewj.com/blog/?p=2191Continue reading →]]>Here are some facts ands figures about our trip, and some guidance for prospective travellers and photographers.

Cameras and Shot Count

I took around 2900 shots (broken down to 2788 on the Panasonic G9, 78 on the GX8, and a handful each on my phone, the Sony Rx100 and the infrared GX7). A fair proportion of these were for "multishot" images of various sorts, including 3D, focus blends, panoramas (especially at Wolwedans), HDR / exposure brackets (essential at Kolmanskoppe), and high-speed sequences (the bushmen demonstrations, and a few wildlife events). I’m on target for my usual pattern: about a third to half the raw images will be discarded quickly, and from the rest I should end up with around 200 final images worth sharing.

The G9 was the workhorse of the trip, and behaved well, although it did have a slight blip mid-trip when the eye sensor got clogged and needed to be cleaned. It’s battery life is excellent, frequently needing only one change even in a heavy day’s shooting, and the two SD card slots meant I never had to change a memory card during the day! The GX8 did its job as a backup and for when I wanted two bodies with different lenses easily to hand (the helicopter trip and a couple of the game drives). However it is annoying that two cameras which share so much technically have such different control layouts. If I was a "two cameras around the neck" shooter I would have to choose one or the other and get two of the same model. As I’ve noted before, my Panasonic cameras and the Olympus equivalents proved more usable on the helicopter trip than the "big guns", and if you’re planning such a flight then make sure you have a physically small option.

As notable as what I shot was what I didn’t. This trip generated no video, and the Ricoh Theta 360-degree camera which was always in my bag never came out of its cover. Under the baking African sun the infrared images just look like lower resolution black and white versions of the colour ones, and after a couple of attempts I didn’t bother with those, either.

This was the first trip in a while where I didn’t need to either fall back to my backup kit, or loan it out to another member of the group. One of the group did start off with a DOA Nikon body, somehow damaged in the flight out, but his other body worked fine. There was an incident where someone knocked his tripod over and broke a couple of filters, but the camera and lens were fine. Otherwise all equipment worked well. Maybe these things are getting tougher.

Namibia is absolutely full of sand, and there’s a constant fine dust in the air which is readily visible if you go out in the dark with a torch. This gets all over your kit especially if you go trekking through the dunes (tick), spend all afternoon bouncing through the savannah in an open jeep (tick), encounter a sandstorm (tick), or spend half a day in a ghost town world famous for its shifting sands (BINGO!!!). The ideal solution to remove the dust is a can of compressed air, but they really don’t like you taking one on a plane. On previous trips to dusty environments I’ve managed to get to a hardware store early on and buy a can, but that wasn’t possible this time. Squeezy rubber bulbs are worse than useless. In the end I just wiped everything down with wet wipes, but it’s not ideal. I’ve now found a powerful little USB blower (like a tiny hair drier) which may work, but I won’t be able to really test it until the next trip.

It’s a good practice to check your sensor at the end of every day, especially if like me you use a mirrorless camera usually with an electronic shutter (meaning the physical shutter is often open when you change lenses). I recently purchased a "Lenspen Sensor Klear" which is an updated version of the old "sensor scope" but with proper support for APS-C and MFT lens mounts. That was invaluable for the daily check, but in practice I didn’t find sensor dust to be a significant problem.

The subject matter is very much landscape and wildlife. Others may have different experiences, but I suggest for art, architecture, action and people you should look elsewhere.

Travel

Setting aside my complaints about the Virgin food service and the Boeing 787, the travel all worked well. The air travel got us to and from Windhoek without incident. Wild Dog Safaris provided the land transportation, with Tuhafenny an excellent, patient, driver/guide, and a behind the scenes team managing the logistics and local arrangements. The latter were mainly seamless and without issue, although there was a bit of juggling regarding some of the transport at Sossusvlei, and some of the departure airport transfers. I would certainly recommend Wild Dog Safaris.

If you want to cover anything like the sort of ground we did on a Namibia adventure, then you will spend a lot of time on the road. I reckon that on at least 7 days we spent 5 or more hours travelling, and on most of the others we probably managed 2+ on shorter hops or travelling to specific locations. According to Tuhafenny’s odometer we racked up 3218 km, or about 2000 miles, and that excludes the mileage in open 4x4s provided by the various resorts. The roads were at least empty and usually fairly straight and smooth, even those without tarmac, although the odd jolt and bump was inevitable. However we all managed to get some decent sleep while on the road, and I could dead-reckon our ETAs fairly accurately at 50mph, which is a far cry from the 10mph average I worked out for the Bhutan trip!

Although most locations have airstrips, there doesn’t seem to be any equivalent of the air shuttles which move people between centres in Myanmar, at least not unless you have vast funds for private charters. Just make sure you have a soft bottom and something to keep you entertained on the journeys.

Practicalities

I was advised beforehand travel to carry cash (Sterling) and change it in Namibia, on the same sort of basis as my Cuba, Bhutan and Myanmar trips. That was complete nonsense. In Namibia all the larger merchants happily take cards and there are ATMs in every town. Changing £200 at the airport was painless enough, but my attempt to change £90 in Lüderitz turned into one of the most annoying and convoluted financial transactions I have been involved in, and I’m tempted to include buying cars and houses in the list! Namibia hasn’t quite got to the point where you can just wave your phone at the till to buy an ice-cream, but it’s getting there quickly.

Another bit of complete nonsense is "it’s cold in the desert". Yes, it may be a bit chilly first thing some mornings, but I needed a second layer over my T-shirt for precisely two short pre-dawn periods. Obviously if you’re the sort of person who gets a chill watching a documentary about penguins, then YMMV, but I was clearly heavy a sweatshirt, a couple of pairs of long trousers and one raincoat. In addition to shorts and T-shirts one fleece, plus the jacket and trousers for the trip home, would be adequate.

On a related subject, there’s one thing that almost all the hotels got wrong. Apart from right at the coast daytime temperatures are up well into the 30s if not the 40s, and the temperature inside most of the lodgings at bed-time was in the high 20s, dropping to the low 20s by the end of the night (all temperatures in Celsius). In those temperatures I do NOT need a 50 Tog quilt designed for a Siberian Winter. One sheet would be plenty, with maybe the option of a second blanket if absolutely necessary. The government-run lodge at Sossusvlei got this right, no-one else did.

It may be dusty, and there are little piles of dung everywhere from the local wildlife, but beyond this Namibia is basically clean. You can drink the tap water pretty much everywhere, and it’s not a game of Russian Roulette having a salad. It made a welcome change from the experience of Morocco and my Asian trips not having to manage our journey around tummy upsets, which is just as well when we had at least two stretches of over 150 miles without an official stop. Obviously sensible precautions like regular hand cleansing apply, but Namibia really presents less of a challenge in this area.

The larger challenge of the Namibian diet is that there’s a lot of it. Portions tend to be large, and there’s a lot of red meat, frequently close relatives of the animals you have just been photographing. I was fine with this, but I suspect vegans should not apply. Between the food, the beer and snacks in the bus I definitely put on about half a stone, which I’m desperately trying to lose again before Christmas…

Communications are good in the larger towns, but elsewhere you may struggle for a mobile signal and the roaming costs for calls, texts and particularly data are very high. WiFi worked well at the town locations, but at the more remote sites service was intermittent and almost unusably slow. On the other hand, we were in the middle of Africa! This is one of those cases where you wonder not that a thing is done well, but that it is done at all. (The odd exception, again, was Sossusvlei, where they charged about £3 a day, but the bandwidth was excellent.) However Namibia is a country where practical problems get fixed, and I suspect in 5 years this will be a non-issue. In the meantime if you want to do anything more than check the news headlines (say, just for the sake or argument, update a photo blog :)) then plan ahead and batch updates ready for when you’re somewhere more central.

I did suffer one related annoyance. On a couple of occasions an Android app I was using to entertain myself on the long drives just stopped working pending a licensing check, which couldn’t be completed until I got connectivity at the end of the day. There’s not much to be done about this, apart from a post-incident moan to the app developer to make the check more forgiving. It’s worth having a Plan B for anything absolutely vital.

Do carry a small torch. It’s great to get away from light pollution, but the flipside is that it’s dark (shock, horror!!) As well as for night photography we often had to walk quite long distances between our accommodation and the resorts’ central areas, with minimal lighting, and you really don’t want to trip over a sleeping warthog or tread in a pile of oryx poo. I have a tiny, powerful cyclists’ head torch which is ideal. It’s also rechargeable via USB, although as far as I can remember it’s still on its first charge from when I bought it in 2015, so I’m not quite sure how that works.

Finally, retail therapy. Surprisingly for a country trying to optimise the income from high-value eco-tourism, there was almost nothing to buy until we got back to Windhoek and visited a craft market. Most resorts had a shop, but I wasn’t impressed by the merchandising, and when I did find something I liked it was usually not available in my size (clothing), or language (books). It’s not the purpose of the trip, but I do like the odd bit of retail therapy. There’s an opportunity for some enterprising young Namibians.

In summary, Namibia is a very civilised way to see the wild. Some of the wild is not quite as wild as it might be, but that’s part of the trade-off which makes it so accessible, and this certainly worked for me.

]]>http://www.andrewj.com/blog/2018/namibia-what-worked-and-what-didnt/feed/0Normal Service Will Be Resumed After Completion Of This Ranthttp://www.andrewj.com/blog/2018/normal-service-will-be-resumed-after-completion-of-this-rant/
http://www.andrewj.com/blog/2018/normal-service-will-be-resumed-after-completion-of-this-rant/#respondWed, 05 Dec 2018 06:46:34 +0000http://www.andrewj.com/blog/?p=2188Continue reading →]]>The last day of any trip is always a bit sad, and hard work with the travel. However this year three separate organisations covered themselves in something which is not glory, and I have to get this out of my system before I write the traditional tail piece for my blog…

As a bit of compensation, here’s a nice picture of a cheetah, feeling about like I did at 1am on Friday.

Thanks.

Rant 1: Designing Hotel Bedrooms

The recurring dysfunctional ingenuity of hotel designers never ceases to amaze me, and provides an endless supply of material for this blog. On our way back through Windhoek, we stayed at Galton House, which while still quite smart overall and in the communal areas, was probably half a notch down from the Pension Thule, where we stayed outbound. My room was a bit poky and had a couple of major challenges, including very noisy air conditioning, and an Iceland-class duvet (in Windhoek, in the summer!). However the worst fail was that it had one accessible power socket, to the right of the bathroom door, while the desk, the only place I could rest laptop and things on charge, was to the left of the same doorway. I therefore had to spend my stay with a power cable stretched right across the bathroom doorway, limbo dancing under it when I needed to use the facilities.

One wonders what sort of hotel designer comes up with a room with a desk, and no power socket on the appropriate side of the room. That’s up to the standard of the Calais hotel I once stayed in where the lift worked but the stairs were out of order (due to a 10 ft gap half way down.) Admittedly about 20 years ago I did stay in a hotel in England where the only place you could get simultaneous power and modem connectivity was in the hot tub in the middle of the room, but that was an adapted medieval abbey, and plain weird. Galton House is a smart new purpose-built venue. Not a clue…

And to add actual injury to potential injury, most of us had got the whole way around Namibia without many bites, and several of us, including myself, woke up covered in nasty little red marks. Blast.

Rant 2: Midnight Food Service

I’m fully in favour of Virgin holding onto the "full service airline" concept when BA and others have abandoned it. However, if you are running a night flight which leaves Johannesburg at 21.00 local time, and arrives in London at 06.00 local time, I would suggest that your highest priority is to try and enable your passengers to get as much of a decent night’s sleep as airline seating and turbulence allow. This is not promoted by serving, slowly, drinks, followed by a rubbish collection, followed by tepid towels (they were probably hot when they left the galley, but I was at the front of Economy), followed by a rubbish collection, followed by "supper", at about 00.30, followed by hot drinks, and finally followed by another rubbish collection at gone 1 in the morning!

…Followed by inedible breakfast, at about 05.00…

Would it really not be better to just give everyone some booze and turn the lights off?

Rant 3: The 787 Nightmare Liner

I wasn’t impressed by the 787 on the flight out, but my assessment reduced a further notch on the way back. That plane revealed a number of areas where the new technology has aged very badly. One example: the window dimming switch on my window had obviously been jabbed so frequently and hard that the rubber cover had completely failed and peeled away. Worse, the toilet is supposed to retain the seat upright via some magnetic mechanism, with a nearby "non contact" switch operating the flush. In the loo nearest my seat the seat retainer had completely failed, meaning that I had to sit holding the seat upright with one hand, and every time I moved, the flush mechanism triggered randomly.

This was all on a "nearly new" plane which has by definition only been in service for a couple of years. How that plane will look after 10 or more years use I shudder to think.

I suspect that the 787-200 or whatever they call the "2.0" version will be a good plane, but I’d hate to be in charge of maintaining the oldest versions.

</Rant>

In fairness to Galton House, Virgin and Boeing, I arrived back at Heathrow at 06.00 safe, sound and slightly ahead of schedule. In the words of Old Blue Eyes:

It’s very nice to go trav’ling To Paris, London and Rome It’s oh so nice to go trav’ling But it’s so much nicer, yes it’s so much nicer, to come home…

]]>http://www.andrewj.com/blog/2018/typically-tropical/feed/1The Twin-Lens Reflex :)http://www.andrewj.com/blog/2018/the-twin-lens-reflex/
http://www.andrewj.com/blog/2018/the-twin-lens-reflex/#respondWed, 28 Nov 2018 16:12:29 +0000http://www.andrewj.com/blog/?p=2173Continue reading →]]>I noticed while gathering for the bushman walk that five of our group were "packing" a pair of Canons. This shot was inevitable.

Thanks to John B for the title – excellent photographer’s joke. I am happy to explain if required.

]]>http://www.andrewj.com/blog/2018/the-twin-lens-reflex/feed/0Into the Kalaharihttp://www.andrewj.com/blog/2018/into-the-kalahari/
http://www.andrewj.com/blog/2018/into-the-kalahari/#respondWed, 28 Nov 2018 16:04:35 +0000http://www.andrewj.com/blog/?p=2170Continue reading →]]>Having been out until gone 11pm doing the night photography, I boycotted the dawn shoot back in the quiver tree forest, had a bit of a lie in, and joined the party at breakfast. We then moved off north. On maps the B1 looks like a major road: Namibia’s main north-south artery. In practice it’s a fairly narrow single-carriageway road with a surface which has seen batter days, and our average speed was even lower than on the good road from Lüderitz. This adds insult to the potential injury that from where we joined the road to the next major town at Mariental is over 220km without even a gas station or loo stop!

Anyway, we did the trip without incident and only one emergency stop (just as well, as trees are also in short supply), and after Mariental turned east into the edge of the Kalahari Desert, ending up at another game reserve, Bagatelle. I have to say that for a "desert", that edge of the Kalahari is currently looking a lot greener than I expected, but apparently the rains this year were a bit later this year, and that region got more than usual.

We had a relaxed lunch, entertained by some meerkats, but unfortunately I didn’t have my camera. Towards sundown we set off for another game drive. This started well, with good views of kudu, springbok and giraffes as well as various birds. It was spoilt slightly when our driver panicked thinking he had lost his bird-recognition crib sheet, and insisted on turning round and driving back at break-neck speed along the route we had already covered, ignoring our instructions to calm down. (The missing sheet turned out to be behind his seat…). However after a couple of beers watching the sun go down I was reasonably mollified, and I’m quite pleased with the bird photos.

Lilac breasted roller

In the morning we joined a couple of Kalahari bushmen who walked us through the reserve to their camp, pointing out various tracks and giving us a demonstration of traditional hunting and trapping techniques. At the camp we met the wider family and got a chance, unique so far on this trip, to do some portraiture.

It was a little sad when we learned on the way back they actually live in a nice house attached to the lodge and carry the camp around in a Hilux, but I guess that’s progress…

]]>http://www.andrewj.com/blog/2018/into-the-kalahari/feed/0The Quiver Tree Foresthttp://www.andrewj.com/blog/2018/the-quiver-tree-forest/
http://www.andrewj.com/blog/2018/the-quiver-tree-forest/#respondWed, 28 Nov 2018 15:45:42 +0000http://www.andrewj.com/blog/?p=2166Continue reading →]]>Sadly we’re into the last few days of the trip and have to spend most of the next few days hacking back from the extreme south west of Namibia to Windhoek which is well to the north.

Monday started with a short walk around the very colourful town of Lüderitz, which is a Bavarian seaside town, if that’s not a massive conflict of metaphors… The short walk was then followed by one of the longest and most frustrating financial transactions I have experienced – trying to change £100 in the Standard Bank. This involved all sorts of ID checks, the young teller had obviously never seen British money before, and their counting machine refused to recognise one of my £20 notes, so I actually managed to change £90. In 20 minutes. Grr…

The long drive east was straightforward but surprisingly slow, with our driver obviously obeying some size-related limit which hadn’t been an issue on the unsurfaced roads. It’s more comfortable on tarmac, but not necessarily quicker.

By mid afternoon we reached our overnight destination, the Quiver Tree Forest. These "trees" (they are actually giant succulents like cacti or aloes) are found in ones and twos all over Namibia but only grow in significant numbers in a few places. As well as the forest there are other attractions: we were just in time for feeding the rescued cheetahs, which I had expected to be caged in a compound but turned out to be wandering around with the farm’s dogs and toddlers. I got to stroke a cheetah, another personal first.

Go on, pull!

Sunset photographing the quiver trees was very enjoyable and generated some great images, and after dinner a few of us went back to try and capture the night sky with the trees as foreground. I’m not yet 100% convinced about my images, but it was an enjoyable experience nonetheless.

Night sky over the quiver tree forest

]]>http://www.andrewj.com/blog/2018/the-quiver-tree-forest/feed/0Ghost Townshttp://www.andrewj.com/blog/2018/ghost-towns/
http://www.andrewj.com/blog/2018/ghost-towns/#respondMon, 26 Nov 2018 05:27:53 +0000http://www.andrewj.com/blog/?p=2163Continue reading →]]>Today we visited two ghost towns based around diamond mines. In the morning we visited Elizabeth Bay, which is about half an hour from Lüderitz behind a substantial security screen as it shares its location and access road with an active diamond mine.

Elizabeth Bay is quite obviously an industrial site supported by worker accommodation and facilities, even though it is right next to the sea. The location is because diamond-rich sand was dropped as rivers reached the sea, and diamonds could be collected simply by washing and sieving the right seams of sand.

The town is in an advanced state of decay despite only having been abandoned in 1951 because the seaward bricks of each building are simply disintegrating under the onslaught of wind and salt spray, and then buildings collapse in turn.

The highlight for me was an encounter with a brown hyena. These shy and almost (by hyena standards, anyway) cute animals are endangered, and only about 2500 live on the Namibian coast. Some live near Elizabeth Bay, and when we arrived we met a BBC team who are making a documentary about them, using camera traps in the buildings.

Anyway, during my explorations I came face to face, on three occasions, with one hyena, who was completely unfazed and quite happy to be photographed. Our guide confirmed she is an elderly female known as Obelixa, who is habituated to humans, but it was still a fascinating encounter with a quiet, rare creature.

In the afternoon we explored Kolmanskoppe, which is much closer to Lüderitz, and a more straightforward tourist location. This is the source of another set of iconic Namibian images, abandoned mining buildings filled with sand. We had several hours to just wander and photograph at will. However it was quite hard work due to the constant strong wind and biting sand. At one point the eye sensor of my camera got so clogged it stopped working.

Image from Kolmanskoppe

While the fabric of most buildings at Kolmanskoppe is in better condition than at Elizabeth Bay, what seems to happen is any which is not actively maintained eventually loses a window or part of the roof to the onslaught, and then the sand rapidly pours in.

The sands around Kolmanskoppe may be a bit worse, but generally sand is a recurring theme of this trip. Just outside Kolmanskoppe there’s a road sign which says "sand". Without any loss of accuracy the Namibians could just put this outside the airport and have done with it.

Hopefully we will shortly be back at the hotel for a shower. Tomorrow I want to photograph Lüderitz, which is a pretty town, and not completely full of sand!

]]>http://www.andrewj.com/blog/2018/ghost-towns/feed/0The British Government Reviews Its Brexit Strategyhttp://www.andrewj.com/blog/2018/the-british-government-reviews-its-brexit-strategy/
http://www.andrewj.com/blog/2018/the-british-government-reviews-its-brexit-strategy/#respondSun, 25 Nov 2018 04:54:43 +0000http://www.andrewj.com/blog/?p=2160Continue reading →]]>Sorry it’s a bit fuzzy and not properly focused, but that’s nothing to do with my photography!
]]>http://www.andrewj.com/blog/2018/the-british-government-reviews-its-brexit-strategy/feed/0Emptyhttp://www.andrewj.com/blog/2018/empty/
http://www.andrewj.com/blog/2018/empty/#respondSat, 24 Nov 2018 20:03:07 +0000http://www.andrewj.com/blog/?p=2157Continue reading →]]>Lee agreed that we could all have a lie-in, so of course I woke up at 4, and was just getting back to sleep at 6 when the sun rose over the mountains and shone straight into my room. Bugger…

Today we moved on from Wolwedans to Lüderitz, a "Bavarian" town on the coast, which meant most of the day on the road. Southern Namibia is staggeringly empty: it’s over 300km of well-graded road from Wolwedans to Aus, at the South-East corner of the Naukluft National Park, during which we passed two graders working on the road, but we think no other vehicles at all.

The new game to entertain myself is to build up playlists for our intended destination or attractions. We were promised a view of the wild horses at Aus, so I had to work to a "wild horse" theme. Obviously I started with Ride A Wild Horse by Dee Clark and Wild Horses by the Rolling Stones. I have two versions of Horse With No Name, by America and Paul Hardcastle / Direct Drive, both good and quite different, so they both got added. A search for "Wild" was fruitful, including Born to be Wild, Walk on the Wild Side and Wild Thing (I have the Trogg’s original, but sadly not the Hendrix version at Monterrey), and then several on a theme: Reap the Wild Wind, Ride the Wild Wind, Wild is the Wind (two versions, Bowie, but also Nina Simone which doesn’t really work in this playlist). Some of the others don’t quite work, but I never miss a chance to listen to Play That Funky Music (Wild Cherry), even if it’s cheating and slightly out of place.

Tomorrow it’s a "Diamonds and Ghosts" playlist, as we’re exploring the abandoned mining towns near Lüderitz.

We did get to see an ostrich on the way out of Wolwedans, but badly the horses at Aus were a bit of an anti-climax. We’ll have another look on the way back on Monday.

Predictably as we got nearer the coast the African sun disappeared and the weather got a lot colder and greyer. I’m now sitting in my hotel room in Lüderitz, with major breakers rolling straight off the Atlantic and breaking on rocks a few feet from my bedroom window. What this presages for sleep tonight I’m not quite sure: it may be quite restful, or it may be bloody annoying. Time will tell.

]]>http://www.andrewj.com/blog/2018/empty/feed/0The Wolwedans Game Drivehttp://www.andrewj.com/blog/2018/the-wolwedans-game-drive/
http://www.andrewj.com/blog/2018/the-wolwedans-game-drive/#respondSat, 24 Nov 2018 05:53:04 +0000http://www.andrewj.com/blog/?p=2152Continue reading →]]>We’ve been a bit spoiled by the game drives at Okonjima, where it was almost a challenge not to see a great variety of game. The Wolwedans equivalent was less productive: after 4 hours in the jeeps under a blazing sun we saw a lot of oryx, one solitary zebra, fleeting glances of a jackal and a fox (they really don’t like being anywhere near humans), and a dot on the hillside which my longest lens just about resolved to something ostrich-shaped.

On the way back the sun was steadily on the back of my neck and I was lucky not to get sunburnt. I can really recommend Coppertone Sport.

However, I really mustn’t grumble. The scenery is magnificent, the oryx are fun, and I’m still privileged to be here. Please enjoy another picture of an oryx:

Oryx sheltering from the sun. I could usefully have done the same thing!

]]>http://www.andrewj.com/blog/2018/the-wolwedans-game-drive/feed/0And Another Dead Tree…http://www.andrewj.com/blog/2018/and-another-dead-tree/
http://www.andrewj.com/blog/2018/and-another-dead-tree/#respondSat, 24 Nov 2018 05:49:43 +0000http://www.andrewj.com/blog/?p=2149Continue reading →]]>There’s a long-running joke between Frances and myself that I like to use a dead tree as foreground interest in my photos. In Namibia, it’s often the only viable target, and I’ve found that I’m in very good company. We all had a couple of goes at this one, first in poorer light, and then when the sun appeared from behind a cloud we got the Land Rover to reverse back down the track to have another go. I think it works…
]]>http://www.andrewj.com/blog/2018/and-another-dead-tree/feed/0Into Wolwedanshttp://www.andrewj.com/blog/2018/into-wolwedans/
http://www.andrewj.com/blog/2018/into-wolwedans/#respondSat, 24 Nov 2018 05:48:49 +0000http://www.andrewj.com/blog/?p=2146Continue reading →]]>My cunning plan to have a lie-in worked, and I had a great night’s sleep, sorted myself out, and had a leisurely breakfast. Those who had chosen the "third 4.15 start in a row" option got back looking distinctly frazzled.

The drive to our next location was mercifully quite short, as we were getting onto progressively more tricky unsurfaced roads. We’ve come to a private game reserve called Wolwedans (Vol-Ver-Dance). This is one of about half a dozen private owned reserves which together make up the Namib-Rand Game Reserve, a privately owned game preservation area over 2,000 km2 in area, or a bit bigger than the area inside the M25. Wolwedans has a total of 20-30 rooms split over 3 or 4 camps, and is usually frequented by the likes of Brad and Angelina, although I suspect they fly/flew in rather than taking the long road route. I’m not quite sure how we’ve managed to get here for a reasonable fee, but very grateful that someone’s made it work.

The topography is quite different to anything we’ve seen before, with a combination of large savannah areas, dunes, and quite substantial mountains particularly along the western edge where the reserve adjoins the Namib Desert National Park. While the terrain is obviously African, the "big skies" also put me in mind of Montana. So far we have had a very dramatic sunset and sunrise, and we’re off to try and track some game down later.

The drive back after sunset last night was interesting, with the drivers of the two Land Rovers opting to drive with lights off, relying on their night sight. It was quite peaceful, and probably avoided spooking the game (which seems to be a guiding rule here), but I suspect I would have used more light.

The Namibian diet (or at least the tourist version) is taking its toll on my waistline. Last night we only got to dinner at 9 and then had 5 courses (although the first three were only a couple of mouthfuls each). I couldn’t get into my green shorts today, so I just hope the other ones come back safely from the laundry… I suspect it’s going to be the apple and coffee diet for me when I get back.

]]>http://www.andrewj.com/blog/2018/into-wolwedans/feed/0Deadvleihttp://www.andrewj.com/blog/2018/deadvlei/
http://www.andrewj.com/blog/2018/deadvlei/#respondThu, 22 Nov 2018 07:41:02 +0000http://www.andrewj.com/blog/?p=2140Continue reading →]]>Deadvlei is the home of the iconic Namibian desert image: a dead tree on a salt plain with an orange dune in the background. Despite the ubiquity of such images, in practice it’s a single relatively small location, a bowl in the dunes maybe 500m x 200m. Hundreds of years ago it was a small oasis with fairly healthy vegetation, but the shifting dunes cut off its water supply, and the trees died. However in the dry, sterile conditions they have only decomposed very slowly, and are effectively now petrified. The other thing which is surprising is the salt pan – I was expecting a fairly thin even crust like you see in pictures of Bonneville, but instead it’s a rocky, lumpy and very solid arrangement.

Our tour bus took us the 70km down the Sossusvlei valley to the end of the surfaced road, and we then took a 4×4 shuttle 4km through the sands to the jumping off point for several walks. It’s about 1.1km to Deadvlei, a distance which I would normally knock off in about 12 minutes, but walking on the sand proves very difficult, and it took me over half an hour. My combination of small feet and, er, large frame means I just sink into the sand with every step, and it’s suspiciously like wading through treacle.

Regardless, our timing was good and the walk fully justified by the scene. We had timed our arrival to be there just as the sun was reaching into the bowl, and we got great shots of both trees just emerging from the shadows, and in full light against the orange dunes and cloudless blue sky.

We were just packing up to go back when we got the first hint of what was coming, some lines of sand being whipped across the salt, which stung the legs as they hit them. We had a brief respite as we walked back, but by the time we arrived at the car park we were in the middle of a full-blown dust storm, so bad at times other vehicles were invisible except for their lights. We had a 4km drive in an open 4×4 through this, which was not pleasant. I’m not sure that it was ever actually on my list, but "sandstorm" can now be ticked off.

We had a relaxing middle of the day, but I was starting to feel a bit weary and couldn’t face the walk into Deadvlei twice in one day, so at the end of the day while the rest of the group went back to Deadvlei John and I commandeered the 4×4 and went photographing dunes off the sand road. We got some decent shots, but it’s a challenge as the salty ground and scrub vegetation make getting a neat foreground a real challenge. I made a few "rookie errors", including shots out of focus and then trapping my finger in the car door, and decided that I really need to not do three 4.15 starts in a row. Tomorrow I’m going to boycott the dawn start and have a lie in…

]]>http://www.andrewj.com/blog/2018/deadvlei/feed/0Oryx from the airhttp://www.andrewj.com/blog/2018/oryx-from-the-air/
http://www.andrewj.com/blog/2018/oryx-from-the-air/#respondWed, 21 Nov 2018 10:24:48 +0000http://www.andrewj.com/blog/?p=2137Continue reading →]]>‘Nuff said.
]]>http://www.andrewj.com/blog/2018/oryx-from-the-air/feed/0Nice Chopper (Ride)http://www.andrewj.com/blog/2018/nice-chopper-ride/
http://www.andrewj.com/blog/2018/nice-chopper-ride/#respondWed, 21 Nov 2018 10:19:21 +0000http://www.andrewj.com/blog/?p=2134Continue reading →]]>Up at 4.14, but in a very worth cause, our helicopter flight over the Namibian dunes. We had to take it in turns, as the company only have one helicopter with three passenger seats flying at this time of year, so I volunteered to go first along with Alison and John. We were met at the park gates by the pilot, a big South African called Pierre. After the usual necessity of signing one’s life away, he drove us out to the chopper, which turned out to be dramatically smaller than the last one I flew in, many years ago in Barbados.

Called a Raven II, this is a great sight-seeing device, with a clear bubble canopy, plus in honour of the photographic trip they had removed the doors, giving us each a wide view to the side, plus I could also shoot through the canopy to the front. It was fitted with harnesses very similar to standard car seat belts, but at least Frances’ fear that I would be left with two odd ends like Sam Neill in Jurassic Park was unfounded.

I have to confess that the first minute or so of the flight was a bit disconcerting, in that such a small craft has to tilt down quite sharply to build up speed, when you are still fairly low to the ground. However things quickly stabilised and we were humming along down the Sossusvlei Valley. We were initially battling poor light, but our luck held and the sun came out exactly when required, when we were turning over Deadvlei and Sossusvlei. However the slow appearance of the sun meant I got some very rare shots of the hills behind the dunes wreathed in cloud and mist – Pierre reckons he only sees anything other than straight sunshine about 8 days a year.

We then flew deeper into the dunes, and back to the airfield via some meadows with oryx, ostriches and jackals. These were trickier to photograph, but I did get one great shot of the oryx.

We were back at the hotel by 8am, just in time for breakfast, and had a great lazy morning before the rest of the group arrived back.

For the afternoon shoot we were meant to all go back to Deadvlei, but there was a problem with the booking for the 4×4 required to take us through the last 4km of sand track from the bus stop, and we had to re-plan. We spent the rest of the afternoon shooting dunes and trees along the road back to the hotel.

Another early start tomorrow – our turn to go to Deadvlei.

Addendum – Size Matters

If you’re going to do a “doors off” helicopter flight then the physical size of your equipment matters (ooh er missus ). Smaller is definitely better. I got great results with my Panasonic G9 and the 35-100mm lens (70-200mm equivalent). Another group member shooting with the equivalent Olympus kit was also fine. However those shooting with the big Canons and Nikons and 70-200 or 70-300 lenses were finding great difficulty getting sharp images. The dual stabilisation of the Micro Four Thirds cameras helps, but the biggest contributor seems to be the fact that the big lenses project out of the cockpit into the slipstream, and the wind-shear on them makes them very difficult to hold still.

I also had the Panasonic GX8 with the 12-35mm lens for wider shots, and I was able to have both on the floor in front of me and switch between them. That arrangement also worked well, but would be tricky with physically larger cameras.

The south western quadrant of Namibia, an area comparable with Northern England, consists of the Namib Desert, and apart from a narrow corridor about 2/3 of the way down, plus a short stretch of coast, is all in one of two national parks. These are not crossed by road, and the few tracks into them are strictly controlled. The problem is that we start the day just north of the north western corner, and we need to get about halfway down the eastern edge. Therefore we have to circumnavigate the park on a Namibian "C" road. These are mainly unsurfaced, but wide and well graded. However speeds are inevitably slower than on tarmac, and there are periods where the ride is very rough, or it gets very dusty, or both.

We left civilisation at Walvis Bay, just south of Swapokmund, and the next habitation and services are over 200km away, at Solitaire, which appears to exist to service weary travellers at a key road junction. They do so in style, with a great collection of photogenic wrecked old cars, and their special, an excellent apple pie.

Another hour or so of driving brings us to Sesriem, gateway to the Sossusvlei area, and our base for the next few days. More than one night in one place? Luxury.

The Sossusvlei Dune Lodge is inside the park, which is good news for our forthcoming dawn starts. It’s run on a surprisingly Germanic basis, with more rules and constraints than we’ve experienced elsewhere. Quite a few of the rules seem to relate to keeping pests out of the rooms: mosquitoes (fair enough, although it is the middle of the desert), and baboons (I wasn’t expecting that).

Another early night: up just after 4 for the helicopter flight!

Addendum: 4am

Well, that blokes’ baboon repellent seems to have worked. The mosquito net also proved an effective barrier, locking a single mosquito in bed with me all night. Bugger.

Sleep was OK for quality…

]]>http://www.andrewj.com/blog/2018/were-on-the-road-to-nowhere/feed/0Hot Dry Desert, Cold Damp Deserthttp://www.andrewj.com/blog/2018/hot-dry-desert-cold-damp-desert/
http://www.andrewj.com/blog/2018/hot-dry-desert-cold-damp-desert/#respondTue, 20 Nov 2018 09:20:05 +0000http://www.andrewj.com/blog/?p=2128Continue reading →]]>Despite the distractions of the chalet’s canvas roof I eventually got an OK night’s sleep, and woke up ready for action. With the sun just rising we had a great pre-breakfast shoot at Spitzkoppe, with the rock formations beautifully lit by low sun, and just a few whispy white clouds breaking a clear blue sky.

The Spitzkoppe Lodge is quite new. The unresolved issues with the roofs are one challenge, breakfast turns out to be another. Lukewarm coffee is a recognisable drink. Lukewarm tea is a waste of ingredients and a challenge to the nausea response.

After breakfast we drove to the other side of the park and made a short climb up to a rock arch. I scrambled up to the arch itself and had my picture captured, just in time before the group of about 15 Germans arrived via a much gentler path from the other side…

We then headed for the coast, along an absolutely straight, flat and empty road. At the start we were at about 1000m, in baking sun with the sand punctuated by occasional clumps of scrubby grass. At the end we were at sea level, under a grey sky, much cooler, with the sand punctuated by occasional small mossy mounds.

Lunch was taken at our driver’s favourite cafe in Hentis Bay, which appears to be a sort of African Clacton-on-Sea. The cafe is also recognised by another member of the group and clearly a known target. The food is tasty and the portions more than generous: I have something called a terrazini, a large flatbread stuffed with chicken, bacon and cheese and then toasted. Nigel goes for a burger, which turns out to be about the size of a discus.

After lunch we spend an interesting but surprisingly cold half hour photographing a shipwreck using very long exposures. It’s very good practice for me to remember how to drive a camera in manual mode, something I rarely do.

It’s a short drive down the coast to Swapokmund, a rather larger city, somewhat reminiscent of a European seaside town. This looks prosperous, but somewhat dead on a cold Sunday evening.

You can tell when a Namibian town developed by the signage and street names: somewhere which has developed since independence will be almost entirely English. Those which developed in the mid 20th century will use English and quite a lot of Afrikaans. Swapokmund obviously dates back to the 19th century and there’s a lot of German – our hotel is just off Kaiser Willhelm Strasse.

Early night. Long drive tomorrow.

]]>http://www.andrewj.com/blog/2018/hot-dry-desert-cold-damp-desert/feed/0Thrills and Disappointmentshttp://www.andrewj.com/blog/2018/thrills-and-disappointments/
http://www.andrewj.com/blog/2018/thrills-and-disappointments/#respondSun, 18 Nov 2018 16:36:51 +0000http://www.andrewj.com/blog/?p=2125Continue reading →]]>5am call, quick cup of coffee and back in the big FWD for "leopard tracking". This was a dawn game drive with a tracker for the radio collars fitted to the park’s other leopards. On the way we stopped to photograph more diverse ungulates (including wildebeest this time), baboons and some colourful birds.

We eventually tracked the other female down to a thicket about 100m in each direction, but she seemed to be moving. We drove back to the main track and I suddenly spotted a shadow moving at the thicket’s edge. We positioned ourselves in time for her to cross the track just ahead of us. Another gorgeous animal, and this time we were definitely not the prey.

It’s a six hour drive, including lunch, to Spitzkoppe. At least this allows me to variously catch up on sleep, writing this blog, and Angry Birds. Namibia’s roads are well surfaced, empty, straight and very boring.

Packed lunch from the game reserve included an oryx wrap. There’s a pattern emerging here…

Spitzkoppe is where a bunch of dramatic granite monoliths rise out of the otherwise flat desert, not unlike an African Monument Valley. We enjoyed the long drive in, promising ourselves some great late afternoon shooting, but by the time we got to the lodge and checked in the sun had disappeared behind clouds and the light was rather disappointing. Still, we can look forward to Dawn tomorrow.

Night 4 – Addendum

Ready for a good night’s sleep?

Sensible bed-time? Check. Sensible start time tomorrow negotiated, as worst case I can just photograph the sunrise from bed? Check. Right amount of food and alcohol, not too much, not too little? Check. Room temperature wrangled from "furnace" to "comfortable"? Check. Pillow adjusted to right height with towel? Check.

Ready for a good night’s sleep.

This is when I discover the major structural flaw in the design of the Spitzkoppe chalets. The base and sides are solid, but the roof is a weird double canvas affair. If it’s meant to manage temperature it doesn’t work. What it does do in any breath of wind over Beaufort Scale level 1 is whip, creak, groan, snap and pop vigorously. Something a bit stronger and it sounds like it’s about to come off. At midnight I decide the latter would be a good thing as then I could finish the night under a clear and silent Namibian sky. Sadly it doesn’t happen. At least that explains the earplugs in the soap dish.

The sleep deprivation experience continues.

]]>http://www.andrewj.com/blog/2018/thrills-and-disappointments/feed/0A Long Drive, then a Great Openerhttp://www.andrewj.com/blog/2018/a-long-drive-then-a-great-opener/
http://www.andrewj.com/blog/2018/a-long-drive-then-a-great-opener/#respondSun, 18 Nov 2018 16:34:50 +0000http://www.andrewj.com/blog/?p=2122Continue reading →]]>It’s looking like we will spend a lot of time on the road. Once our transport arrived on day 3 we drove back out to the airport to collect the final member of the group, then back past our hotel in Windhoek, then another 3+ hours north to the Okonjima Nature Reserve. There we transferred immediately to a 14 seat open-air FWD and set out on our "game drive".

This was absolutely excellent. Within shouting distance of the lodge we had seen warthogs, giraffes, oryx, springbok, kudu and various other ungulates whose names I can’t remember. Then we went into the cat enclosure.

First up were the cheetahs, which are apparently very used to humans and had also been recently fed, so were just lying around like large spotty moggies. They are smaller than I expected, but just as beautiful. It was great being able to photograph them at a range of 20m or less with no concerns on either side.

The leopard was a different matter. Okonjima have two adult females, both rescued from elsewhere, one of whom roams the main park with her two sons, but the other is kept separately as otherwise they would fight. The captive female has been trained to come to a hide from where she can be viewed at very close range. This is an unnerving process as she prowls up and down inspecting each visitor in turn, and would obviously love to get into the hide and choose from the menu if not prevented by an electric fence and mesh.

Maybe this was an encounter with a top predator who viewed us as potential prey. Maybe, but I have another theory. I think she has become a working animal with a reliable routine. All I could hear in my head was Joanna Lumley’s voice saying "sorry darling, I have to go. I have another group of tourists to scare."

Whichever is the case, she is aptly named with the local translation of "beautiful". Well deserved.

Dinner was oryx carpaccio, followed by oryx sirloin, and a chocolate mousse. "Chocolate oryx", surely?

]]>http://www.andrewj.com/blog/2018/a-long-drive-then-a-great-opener/feed/0Back On The Roadhttp://www.andrewj.com/blog/2018/back-on-the-road/
http://www.andrewj.com/blog/2018/back-on-the-road/#respondSun, 18 Nov 2018 16:32:25 +0000http://www.andrewj.com/blog/?p=2119Continue reading →]]>I’m off on my photographic travels again, this time to Namibia. I’m travelling with Lee Frost of Photo Adventures, as I did to Cuba and Morocco, and it promises to be an interesting mix of landscape, wildlife and general travel shooting.

As is often the case, the first two days were largely taken up with travel, although I learned my lesson from the Myanmar trip and made sure we built in some rest time as well. I can never sleep on a plane, and going straight out shooting after a long journey leaves me fit to be tied…

The main flight from Heathrow to Johannesburg was smooth, although delayed by a change of plane which significantly cut into the relatively short transfer time at the far end, and saw us almost sprinting through the terminal. However in marked contrast to recent experiences with BA, Virgin did an efficient job of boarding (by row number), and Johannesburg Airport staff did an excellent job of triaging their queues, so we got the connecting flight.

The long-haul flight was on a Boeing 787 "Dreamliner", which is a real curates egg, good in parts. The new technology like the electronically dimming windows works brilliantly, but some well established technology appears to have been sacrificed. I couldn’t on my own recline my seat, and the seat back pocket is now wholly inadequate. The tray table is a ridiculous design which slopes downwards and is made out of some shiny plastic – a young lady sitting near me got a glass of water in her lap halfway through dinner, and I’m aware she wasn’t the only one. On a single flight! How on earth did that ever get through QA? Why industrial design has to be this odd zero sum game is a complete mystery. If it ain’t broke…

Minor complaints aside the air transportation got us to Windhoek on time. It’s a surprisingly long drive from the airport to the city, I reckon at least 25 miles, and that’s another mystery, given that most of the intervening countryside is completely empty and flat as a pancake. I can only assume that the former owner of the airport land was on the "where should we put the airport" commission.

Windhoek, at least the bits visible from the main roads, is a spacious, modern city. For our first night we stayed at the Hotel Thule, which sits on a promontory overlooking the rest of the town. It’s a very pleasant place to stay and also seems to be one of the "in" places for the locals to eat. A gentle afternoon and late start next morning at least started my batteries recharging.

Dinner is an oryx steak, slightly overcooked but otherwise delicious.

So far it’s warm, but manageable during the day, but hot at night, not less than about 26°C.

]]>http://www.andrewj.com/blog/2018/back-on-the-road/feed/0Fraud Prevention: Why Don’t Banks Do More?http://www.andrewj.com/blog/2018/fraud-prevention-why-dont-banks-do-more/
http://www.andrewj.com/blog/2018/fraud-prevention-why-dont-banks-do-more/#respondThu, 30 Aug 2018 15:31:47 +0000http://www.andrewj.com/blog/?p=2114Continue reading →]]>Banks constantly tell us to do more to protect our financial details against online fraud, but we live in a world where there is often no alternative to exposing important financial information to potential misuse. The frustration is that there are some relatively simple services the banks could provide to avoid this, but for some reason, probably just their inertia, these are currently unavailable to a lot of users.

Single Use Credit Card Details

Paying for stuff online frequently involves a big act of trust – when you type in your credit card details you are effectively handing the receiving party the keys to thousands of pounds of your money. You want to hold the merchant to a very high standard of behaviour with those details, which is probably justified for a big household name, but what about other cases? A smaller organisation may be perfectly honest, but may hold your card details in a form which could be vulnerable to an unrelated attack.

Worse, the payee might not have honourable intentions for your card details. You don’t have to be doing anything very nefarious to come across potential examples: the other day I was trying to track down a manual for a second-hand watch, and the only download sites wanted me to "register a credit card" before proceeding. Possibly innocent, quite possibly not.

I really shouldn’t have to expose powerful payment credentials in such a situation. My strong preference is to use a trusted intermediary like PayPal, but that’s not always an option. The best alternative solution is the concept of a "single use credit card" – a set of virtual card details used for one specific purpose, with a short lifetime and very low "credit limit".

However while this is a well-established concept, actually getting hold of such details turns out to be very difficult. As far as I can see, no mainstream UK bank offers this service. Several of the big American banks do, but not to UK customers. Capital One have such a service built into their online support tools, and I have one of their cards, but I couldn’t access those tools with my credentials.

There are a couple of third parties offering the service in the UK, but often only with an expensive subscription. The honourable exception appears to be EntroPay. It’s a bit fiddly getting set up so that you can load their cards from your regular credit card provider, and cost me a 20 minute call to my bank, but I now have a virtual credit card with a £5 credit limit and no other uses. Ideal, but harder than it should be.

This is not rocket science. The fact that several major US banks readily offer such services confirms that this is feasible. We pay substantial fees for access to banking, so why can’t UK banks follow suit?

Payment-Only Account Numbers

In the move from cash and cheque to direct bank transfers even for small personal payments we have also adopted another behaviour which is perilously close to leaving your keys on your front doorstep. This is the practice of sharing your bank account details with anyone who offers to send you some money. This is another practice which leaves me deeply uncomfortable.

Again there is a relatively simple solution. Your account should have a second "shadow" number which can only be used for paying in money, not for withdrawals or other actions (although it might be the visible account number on payments you make). This becomes a "public key" which you are comfortable sharing, while the real account number remains a private secret shared only by yourself and your bank. That then becomes a useful piece of two-way authentication, whereas at the moment someone who knows your account details could have got them from a discarded email or similar. If someone only has the "public" number, then neither your nor your bank should take any instruction from them.

The idea of public and private keys is well established in the electronic world, and ironically the banking system has used physical versions for years – think, for example, of the "hole in the wall" deposit machines for which many people have a key allowing deposit, but only the bank has a master key for collection. However, I’m not aware of any UK banks offering this simple service.

Payee Account Verification

The next is as much about error as fraud prevention, and may be specific to certain banks, but certainly in the Lloyd’s system if you are setting up a personal payment there is zero feedback on whether you have the right account number . The system doesn’t even require you to type in the number twice for confirmation.

Any party in the chain might have made an innocent error, and if the result is a valid account and sort code combination then the funds will be misdirected. If you received payment details via some insecure mechanism such as email, it is also not impossible that a fraudster could substitute their own details, and you would be none the wiser until the real recipient complains about the missing payment.

I suppose banks might argue that showing the account payee name could allow a certain level of account number "guessing", but that sounds specious to me. The simple solution is to combine this change with the payment-only shadow number concept above.

Payment Notice

Finally a simple prophylactic against the "your money is in danger, please put it in this account (of mine)" scam. Banks could insist on either two days’ notice or a personal phone call before any transaction which either largely empties an account, or exceeds a certain threshold. Notice could be provided via the banking application to cut down on administration. For most users, most of the time, this would be no problem, and it would require that any more significant transaction is either planned, or has a "cooling off" period in which fraud checks could be carried out. "Instant access" would still be possible, but only after a phone call or bank visit in which you could be asked "has someone told you to do this?".

Credit card companies do this all the time – mine insisted on an exchange of texts and a call to OK a payment of £5 to Entropay. Yet I know someone who emptied three accounts under a scammer’s instructions before a bank manager asked the key questions. There’s a bit of a mismatch there.

Conclusion

We all need to play our part in fraud prevention, but that goes double for the banks, and a few simple service enhancements along the lines above would make financial life much more secure for all.

]]>http://www.andrewj.com/blog/2018/fraud-prevention-why-dont-banks-do-more/feed/0Is Theatre Killing Theatre?http://www.andrewj.com/blog/2018/is-theatre-killing-theatre/
http://www.andrewj.com/blog/2018/is-theatre-killing-theatre/#respondTue, 28 Aug 2018 08:05:33 +0000http://www.andrewj.com/blog/?p=2112Continue reading →]]>Is the theatre its own worst enemy? Is it the engine of its own destruction?

Let me explain what I mean. We love the cinema. We go most weeks, and most weeks we come away feeling well entertained, even inspired. We have a pretty high hit rate: I keep a note of the films we see and score them out of 10 – this year we have awarded several 9s and a couple of 10s. The last film to score less than 5 was Guy Ritchie’s execrable King Arthur over a year ago. (Admittedly, that was so bad we had to rush home and watch the Antoine Fuqua / Clive Owen version just to remind ourselves what good looks like, but failing once a year at a cost of about £25 I can accept.)

Going to the cinema can even be an "event". In the Spring we caught the first showing of Avengers, Infinity War in Barbados. With the assembled "Marvel fans of Barbados" this was not unlike a good Panto – applause for the heroes and cameos, boos for the villains, mass cheers and gasps in all the right places. Hilarious. We also went to the Dambusters 75th Anniversary event, with a great introduction broadcast live from the Royal Albert Hall, followed by a beautifully cleaned up restoration of the film. Again, wonderful.

But surely, it must be even more magical seeing great actors in person on the stage? Maybe, but our practical experience varies. For a start, you don’t always get to see the names you expect. Benedict Cumberbatch, Tom Hollander, John Lithgow and Keeley Hawes are just some famous actors we paid to see on stage, and didn’t due to last-minute cast changes. We did get to see F Murray Abraham in The Mentor. He was fine, but the play was only about an hour long, and a load of introspective b*****s. We came away feeling somewhat short-changed.

Even more disappointing: Robert Powell and Lisa Goddard in Sherlock Holmes – The Final Curtain. Now we saw Robert Powell play Sherlock Holmes once before, in the hilarious Sherlock Holmes The Musical, so we had a not unreasonable expectation of being entertained again in like style. Sadly not. The new play is a dark, grim, rambling, soul searching piece with neither action nor humour. The plot, as much as there is one, centres around Mary Morstan/Watson turning out to be Moriarty’s sister, which raises a question, not well answered, about why she waits 30 years to attempt to have her revenge. It runs for about 40 minutes each act, which is a relief given the poor writing, but poor value for money in any event. To add injury to insult this was our first visit to the Rose Theatre in Kingston, which is cramped, dark, poorly ventilated and with a poor view from about 20% of the seats. There’s a reason why round Tudor theatres were replaced by square or horse-shoe shaped ones…

Now we really enjoy the theatre, with the right content. There are some stalwarts: the local pantomimes, and musicals with high production values. (For example the current West End revival of Chess is absolutely superb, but good seats, travel and a meal beforehand are going to cost around £200 a head.) It’s also perfectly possible for theatre, even with a budget production, to hit all the spots. A few months ago we saw David Haig’s Pressure, a delightful play about both the mechanics and the personal dynamics of the D Day weather forecasts. It was educational, telling an important true story which deserves exposure, enthralling (we know the final score, but not how close it came), and entertaining – laugh out loud funny in the right places.

The trouble is that while we seem to be seeing more we enjoy on both the small and silver screens, it seems to be more and more difficult to find genuine entertainment on stage. The tendency towards a focus on grim introspection seems to be catching. For years one of our favourite theatres, The Orange Tree in Richmond, mixed into its programme both unusual subjects (the story of Gerald Bull and the Iraqi Super Gun) and innovative entertainment (French farces in the round, with sound effects instead of the usual multiple doors). However for the last couple of seasons the fayre has been endless relationship dramas, and nothing has appealed.

It’s generally a challenge, and discouraging when the cost of a night at the theatre is so expensive. Disappointment might be better managed if theatres were obliged to be more truthful in describing their repertoire: obliged to use words like "grim", "gloomy" and "introspective" where appropriate, and forbidden to use the word "comedy" unless it’s actually funny. However I suspect a challenge under the Trades Descriptions Act might be tricky…

This leaves us going less and less frequently to the theatre, and seeking other forms of entertainment instead. I know we’re far from alone – very few of our friends go even as often as we do. Oh well, there’s always the flicks.

]]>http://www.andrewj.com/blog/2018/is-theatre-killing-theatre/feed/0That Was Too easy…http://www.andrewj.com/blog/2018/that-was-too-easy/
http://www.andrewj.com/blog/2018/that-was-too-easy/#respondThu, 26 Jul 2018 05:04:22 +0000http://www.andrewj.com/blog/?p=2102Continue reading →]]>There is an old plot device, which goes back to at least Homer, although the version which popped into my head this evening was Genesis of the Daleks, a 1970s Dr Who story. A group of warriors fight a short but intense battle, and appear to triumph. In Dr Who, the Kaled freedom fighters burst into Davros’s headquarters and think they have dispatched him and his dalek bodyguards. Just as they are starting to celebrate, one of them, typically an old, grizzled soldier who has been round the block a few times, says "Have your instincts abandoned you? That was too easy." True enough, a few seconds later the elaborate trap is sprung, and the tables are turned.

Android 8 is like that. Not that it’s in the service of a malevolent genius, although I’m beginning to wonder, but it lulls you into a false sense of security, and then throws some significant challenges at you.

I got a new phone last week. I have loved my Sony Experia XA Ultra which I have used for the last two years, but been constantly frustrated by the miserly 16GB main memory. The Experia XA1 Ultra is an almost identical device, but with a decent amount of main storage. I had to forgo the cheerfully "bling" lime gold of the XA, replaced by a dusky metallic pink XA1, but otherwise the hardware change was straightforward.

So, initially, was the transfer. Android now has a feature to re-install the same applications as on a previous device, and, where it can, transfer the same settings. This takes a number of hours, but seems to work quite well. I had to manually transfer a few things, but a couple of hours in I worked through the list of applications, and most seemed to be in order with their settings. I could even see the same pending playlist in the music player which, after a lot of trial and error, I installed to randomly play music while I’m on the bus.

The new version of the Android alarm/clock app seems to be complete b****cks, and more trouble than it’s worth, but there’s no barrier to installing the old version which seems to work OK. My preferred app to get Tube Status updates is no longer available to download, but I could reload the old version from a backup. So that was most of the problems in the upgrade dealt with.

I got to the gym, and tried to play my music, using the standard Sony music player. Some of it was there, but the playlist I wanted wasn’t. I realised the app could no longer see WMA files (Windows Media format), which make up about 95% of my collection. A bit of googling, and it turned out the recommendation was to install PowerAmp, which I did, and it worked fine.

Then I got on the bus, and tried to play some randomised music. Nothing. The app had the files in its playlist, but couldn’t find them. I rapidly confirmed that the problem again was WMA files, which had suddenly become "invisible" to the app. After yet more trial and error installing, the conclusion is that it’s the Android Media Storage service which is at fault. Apps which build their own index (like PowerAmp) are fine. Apps which are built "the proper way" and use the shared index are screwed, because in the latest version of Android this just completely ignores WMA files.

Someone at Google has taken the decision to actively suppress WMA files from those added to the index. This isn’t a question of a problematic codec or similar – they had perfectly good indexing code which worked, and for some reason it has been removed or disabled. I can only think it’s some political battle between Microsoft and Google, but it’s vastly frustrating that users are caught in the crossfire.

I trust Dante reserved some special corner of Hell for those who break what works, for no good reason. If his spectre wants a bit of support designing it, I’ll be glad to help.

]]>http://www.andrewj.com/blog/2018/that-was-too-easy/feed/0Prediction Realised: The AlpinerXhttp://www.andrewj.com/blog/2018/prediction-realised-the-alpinerx/
http://www.andrewj.com/blog/2018/prediction-realised-the-alpinerx/#respondFri, 06 Jul 2018 06:22:19 +0000http://www.andrewj.com/blog/?p=2096Continue reading →]]>In October last year I wrote an article celebrating the hybrid analogue/digital watch and offering some architecture and design observations from my collection of them. I ended up slightly sad about the style’s fall from fashion, but confidently predicting that new models with smartwatch capabilities would be forthcoming. It turned out that I did not have to wait long.

In March Alpina announced the AlpinerX, via a KickStarter campaign. That approach was designed to work around a frequent challenge with new digital watches from smaller brands, that of guaranteeing sufficient early sales to justify decent batch sizes of the components and materials. Predictably, I was an early backer, and my watch arrived in mid-June.

At first sight, this is simply a classic analogue/digital watch. I have read reviews comparing it with the Breitling Aerospace or Omega Speedmaster X33, but a much closer existing comparator is the Tissot T-Touch Expert Solar. That watch is a similar size, style and price and has a similar sensor set. The two watches share similar deep integration of the hands with the digital functions, so that they become, for example, the needle in compass mode.

However the AlpinerX goes further. It has a couple of extra sensors including a pedometer and a UV level meter, but this is also a fully-fledged connected smartwatch, just as much as an iWatch or equivalent, and it really comes into its own in partnership with your phone.

Size and Styling

Regarding the watch’s design, we should start by addressing the elephant in the room, or more correctly the elephant on the end of your arm. While it’s certainly not the largest gong around, it is a big watch, 45mm in diameter, larger than the Breitling Aerospace, and 14mm thick, much thicker than the Tissot T-Touch Expert Solar (or latest Breitling Aerospace Evo). This is not going to slide unnoticed under a dress shirt cuff. The size is a result of several factors. First fashion – we have all got used to wearing a dinner plate on our wrist like something from The Fifth Element – and its outdoor focus. Practically its composite case (which Alpina call glass fibre) may well have to be a bit thicker than a metal one.

However although I haven’t confirmed it, my money is on the size of the battery, or batteries. If Alpina’s claims are borne out they have pulled off a remarkable coup: a watch with the rich sensors and connectivity of a smartwatch, but with battery life measured not in hours or days, but around two years just like its non-connected cousins. I hope that promise comes good: Alpina haven’t provided a “sleep mode”, like older T-Touch models, in which the watch can be put into a battery-saving dormant state when not being used, and I do hope I’m not going to be changing the battery too frequently.

Although it’s quite large, it’s not a heavy watch by any means (a benefit of the composite shell), and it sits comfortably on my fairly average wrist. The Tissot, with its solar power solution, may be slimmer, but the AlpinerX is perfectly wearable, albeit better with casual clothing.

The watch has a simple, clean design, with simple white digits on the face, matching markings on the bezel (which rotates to work with the compass) and clear intermediate markings. The digital display takes up most of the bottom of the dial, dark yellow in background mode, or white on black when lit. Unlike some designs, the digital display has been positioned symmetrically, and all the cardinal points of the analogue display are retained.

Alpina offer buyers the ability to select the colour scheme of almost all elements of the watch, allowing extensive customisation, although in reality the main choices for most components are black or navy – the latter being a sort of dark purple (which I rather like) rather than a completely neutral blue. In the expectation this will be a travel/holiday watch, I have chosen cheerful orange highlights wherever possible: for the hands, the ring, and the stitching on the leather strap. I also have a rubber strap in bright orange, but so far the leather strap has proven adequate for my use, and very attractive with a texture reminiscent of woven carbon fibre.

Operation – General Observations

Operation of the watch is very simple, using the three buttons on the right-hand side. The “pusher” button in the crown lights the display and toggles through the main functions. Within a selected function the bottom button selects sub-functions (e.g. count up or count down) and the top button does start/stop.

The rotating “crown” appears to be simply decorative. As we will see, Alpina have missed a number of opportunities where this could usefully provide setting adjustment , but that’s not the model here. For more complex settings this is a watch controlled not directly, but via the companion app on your phone. That allows the local controls to be simpler, but does sometimes mean that it can take some digging into the app to find out how something is managed.

The free-rotating bezel (with click stops) provides a compass indicator which can be teamed with the compass needle to provide azimuth and heading indication. At least it does something useful!

For those used to more complex smartwatches with high-resolution OLED displays, the simple two-line alphanumeric digital display might look a little crude. However it suffices to provide most of the information you need while actually on the move, and presumably helps deliver the excellent battery life. Again the operating model is for detailed review to be done on the much larger display of the phone. On a positive note, the simple display could be readily combined with the design of any of my Swiss hybrid watches, even the diminutive 1987 Omega Seamaster Polaris, so maybe there’s scope for a smaller, neater variant of the watch at a later date.

When illuminated (which happens by default every time you switch functions or activate the connection to the phone) the digital display is bright and clear. When the backlight is off the digital display is a bit dim, but there’s no issue with the clean, high-contrast analogue indicators (or hands, as they are otherwise known ).

The watch has a number of nice touches. For example, one of the challenges with this style of watch (which is also a problem with multiple dial chronograph watches, although it’s rarely mentioned) is that sometimes the hands obscure a key part of the digital display. Alpina has come up with a neat solution to this – simply swing the hands out of the way of the display when the user activates the digital display. (However it has to be said that the neatest solution for smaller watches, adopted by Rado and older Casio and Seiko models, is an oblong case with digital displays above and/or below the dial. Sometimes simple is best.)

Pairing/Connection

Use of the AlpinerX depends heavily on connection to a phone. It is therefore rather annoying that the process of connection can be rather fiddly and unreliable, especially with Android devices. Experiences vary – mine is that the two devices will connect and communicate easily immediately after the phone has been rebooted. However if thereafter the phone’s BlueTooth is turned off and on, or the devices are separated for a long time, then it can be tricky to get the connection working again, and the simplest, but not ideal, solution is to restart the phone.

What seems to happen is that the watch thinks it is connected but the phone does not, and in this mode there’s no reliable way to restart the process. I just hope that Alpina can improve things and deliver a firmware and/or app fix, which at least is an option here.

Timekeeping Functions

Ultimately, setting the extended functions aside, this is a watch, and so needs to provide good basic timekeeping. It therefore comes as a surprise that some capabilities standard in every digital watch since the 1970s are either missing, or delivered in a non-standard and somewhat clumsy fashion.

The biggest omission is the alarm function. Either I am being very stupid, or the AlpinerX doesn’t have one! There is no way to simply set the watch to make a noise at a pre-appointed time of day. You can set the watch to receive a push notification from your phone, and then set your phone to provide the alarm, but Alpina warn that doing so can harm battery life, and if you are going to do so, you might as well just use the alarm on your phone. If your phone suffers from late alarms due to the brain-dead Android “doze” mode, then this watch is not going to help you.

There are no direct controls to set the time on the watch. The idea is that the watch takes its primary time from the phone, which in turn takes the time from the network. This allows an elegant, simple solution to travel adjustments and so forth, but it’s not clear how to make micro adjustments if needed. In my experience “network time” can sometimes be adrift of the time provided by a good watch. If you are in an area where the network does not provide reliable time indication (like during a flight) you will have to adjust your phone manually, and if you don’t have your phone when you need to adjust the time, you’re stuffed.

Operation of the stopwatch is straightforward, but the count-up/count-down timer is really annoying, as you have to set the target value on the phone before it can be used. This is one example where it would be really useful to provide a way (the rotating crown, obviously?) to set the value locally. If I’m going to have to use my phone, I’ll just use the timer app on my phone, or wear a thirty year old watch where this just works.

Fitness Monitoring

On a more positive note, the AlpinerX does provide some very useful fitness monitoring features: principally a pedometer and a “connected GPS” mode for tracking an exercise route and duration. If you’re not doing complex exercise and you don’t need heart rate monitoring, then you don’t need to wear a Fitbit. That could provide a useful simplification to the holiday gadget set.

As pedometers the AlpinerX and Fitbit Charge 2 agree within 0.2%: 12 steps in over 6300 on my first test. However they behave very differently in “connected GPS walk” mode. The AlpinerX can be fiddly to get started with first GPS fix, but then very accurate – you can see where I double back to my car at the start of the walk with the parking ticket. The Fitbit is very crude by comparison, taking only a handful of fixes in an hour. The result is about a 10% difference in distance, with the AlpinerX’s figure of 4.7km rather more believable than the Fitbit’s “straight line” estimate of 4.3km. (The Fitbit is also more painful to sync with your phone if they have been disconnected for some time, although the AlpinerX can get confused if you turn Bluetooth off and on and try to reconnect. You pay your money and take your choice.)

The AlpinerX’s “phone first” model means that it only provides a simple time display during the exercise, and I would like to see this extended to some basic “steps/distance so far” information. Yes, I know I can get my phone out, sync them and read the phone, but I don’t want to do this when walking.

I haven’t tried the sleep monitoring, but I don’t hold out a lot of hope for it. Even with its heart rate monitoring the Fitbit can’t discriminate (for me) between “asleep” and “lying awake but still”, and I don’t expect the AlpinerX to do any better, especially since I would probably have to use the “under the pillow” mode. If you thrash about all the time when you are awake it might work…

UV Sensor

The AlpinerX has something which I haven’t encountered previously in a watch, a UV sensor. The marketing claim was that “AlpinerX can give timely warnings to reapply sunscreen or seek the shadow…” This is a great idea, but unfortunately the initial implementation falls a long way short of expectations.

Based on the claims, I was expecting an intelligent function which would continuously monitor UV exposure throughout the day. Plug in some information about your skin type and the strength of your suncream, and the phone would automatically set an alarm to remind you when to take action. Fat chance.

As far as I can see, the current implementation requires the user to switch the watch to UV monitoring mode and manually initiate each measurement. The phone then displays a very simple set of maximum, minimum and average values for the day. There is no concept of history or cumulative values. There is also no way to get the promised “timely warnings”, because there is no alarm function.

There is a text page in the app which provides some guidance on interpreting the UV measurement, but I’m not convinced of its value. The guidance is almost exactly the same for all UV levels from 3 to 11, effectively just “use SPF 30+ sunscreen and re-apply every 2 hours”. That’s for a range which at one end shouldn’t trouble anyone but a troglodyte albino, and at the other would rapidly scorch an Ethiopian mountain dweller.

Alpina really need to sort this out, or modify their claims. Regular automatic measurements and an exposure history would be a start, and ought to be pretty simple to achieve.

Altimeter and Barometer

Like the Tissot T-Touch watches, the AlpinerX provides altimeter and barometer functions. Like the Tissot watches, it has then same challenge that with a single measurement it my be difficult to disentangle changes of weather and changes of location during the same period. You can come back to your starting point after a day’s travel which included weather changes and the altitude doesn’t quite return to its initial value. The AlpinerX does, however, appear to do something clever with either average pressure or in concert with the phone’s GPS and will correct itself given a bit of time at rest. Advantage AlpinerX.

The app displays a continuous periodic readout of your altitude throughout the day, but like the UV, the barometer reading is displayed as a crude set of current, maximum and minimum values. Given that the rate of change of pressure can be important, it would be great, and presumably relatively simple, to be able to see this as a timeline as well.

Thermometer

The AlpinerX has a built-in thermometer. Like other watch thermometers, this tends to indicate the temperature of the wrist while being worn, but the AlpinerX seems to be better than most, with a smaller error and quicker recovery to ambient temperature when then watch is removed, maybe due to the non-metal case. Ironically temperature is displayed as a timeline in the app, but tends to hover round a fixed value close to human skin temperature through the wearing day.

Guidance and Documentation

While the watch does many things well, getting the best from it is a real challenge given the frankly appalling documentation which is delivered with it. The box includes a thick printed manual … which doesn’t cover this watch at all! There is a three page “getting started” leaflet, but that doesn’t cover key functions such as time setting. Between the two of these I spent some time trying to pull out the crown, which is how other watches in the Alpina range achieve that, and I’m lucky that I haven’t broken anything.

You need to find the relatively well hidden link to download a PDF of the 23 page version of the manual to have a hope of understanding the watch. Why a printed copy of a 23 page manual isn’t included in the box is a complete mystery. The fact that it isn’t downloaded automatically with and intelligently linked directly from the app is a travesty.

It doesn’t help that the app is a graphic example of how ease of use and ease of learning are completely separate and sometimes even conflicting objectives. There is little or no help to find your way through its structure and the options. Once you have found how something works it is usually easy to use repeatedly, but I do wonder how many users will abandon some tasks altogether, defeated by the poor guidance.

Conclusions

I do like the AlpinerX. It is a smart, capable watch and has delivered on a majority of its promises, if not all. It has already supplanted my Fitbit for my fitness walks, and I expect it to become my primary travel watch, although given the additional dependency on my phone, I may have to carry a second more traditional hybrid watch on longer trips, just in case.

Coming to this watch from my experience with older hybrid models, that phone dependency is a challenge, although I suspect users of other smartwatches might be less surprised. I would prefer the AlpinerX to be independently capable of all the traditional timekeeping functions, including setting alarms and timers, without recourse to the phone, and I don’t see a good reason why it isn’t.

With my other watches, any limitations are permanent, for the duration of my ownership. By contrast the AlpinerX architecture does allow some of its limitations to be addressed through firmware updates or even simple app changes, and I hope Alpina listen to me, and other users, and work hard to progressively improve the product. At the same time, I would like to see them open up the data, and maybe even the app functions, through a development API or SDK. The independent developer community could deliver significant value to users if this watch is treated as a platform, not a closed product.

If Alpina are thinking of further similar models, then I suggest they do treat the Breitling Aerospace Evo as a reference, not for its functionality, but for its size. It pulls off the trick of being wearable as both a casual watch, and also with formal or business attire. A smaller and thinner AlpinerX model which could do that might make it into my list of regular daily timepieces, and that would be a great result.

This is a good watch, and at least partially realises my prediction about the future of analogue/digital models. It’s not without frustrations, many of which could have been avoided, some of which can still be fixed. It will be interesting to see where Alpina take it, and whether others recognise a good thing.

My Panasonic GX8 arrived pretty much on the day of official availability and has been my primary camera for almost three years, including two major photographic trips, and innumerable other opportunities in between. It improved on the already good GX7 with "just right" sizing, a better sensor and higher speeds. Like many other owners and fans I was looking forward to a fairly straight replacement – all Panasonic had to do was fix the awkward exposure compensation control and improve the action autofocus and it would be pretty much perfect. Fat chance.

Instead, and not for the first time, Panasonic have shaken up the Lumix G range, with the GX9 effectively moving down the range, and all the new goodness going into a new "stills flagship" the G9, which sits at the top alongside the video-centric GH5 and its variants.

After a bit of prevarication, I decided that I was due an upgrade, and plumped for the G9. My new camera arrived a few days ago. This review is based on the first few days’ moderately heavy use. It’s not meant to be a comprehensive, or dispassionate blow-by-blow review, but a set of personal impressions from a long-standing Panasonic user and fan.

Body Style and Size

At first the G9 looks like quite a different camera, larger and more expensive, and more of a "DSLR ethos" than the rangefinder-style GX8. I’ll come back to cost, but the size issue is deceptive: put the two cameras side by side and it’s clear that the only real difference is the G9’s DSLR "hump", and a slightly deeper grip, which is academic unless you use a very small pancake lens. Given that similarity it’s surprising that the G9 is a significant 171g (about 6oz) heavier. The camera offers better weatherproofing and a bigger battery, and does feel a bit more rugged, so that’s acceptable. Unlike its predecessor, but like my old Canon 7D, it feels like it might take the odd knock without problems. In practice, you get used to the weight quite quickly.

Like every new flagship camera the G9 is initially priced high, but this gives Panasonic and their dealers some room for manoeuvre with discounts, trade-ins and freebies. Depending on how you look at it my G9 cost me only about 2/3 of the advertised price, or the 5 year lifetime cost of my old GX7 net of trade-in was about £250. I can live with that.

Controls and Ergonomics

Back in early 2016 I wrote an open letter to Panasonic regarding the GX8, acknowledging its good points, but identifying opportunities to improve the ergonomics and usefully extend its stills capability. They clearly ignored the letter for the GX9, but either great minds think alike, or it did influence the G9.

Ergonomically, I am a fan of "electronic" control, by which I mean the ability to set camera functions fluidly between on-camera buttons and wheels including your choice of programmable controls, the menu system, and stored custom values. By contrast "fixed switches" break this free control model and cannot be included in stored settings for custom shooting modes. In addition, I am short sighted and wearing my "distance" glasses the tiny markings on such controls are effectively invisible.

The GX8’s exposure compensation control is a good (or should that be bad?) example of the latter. Apart from breaking my preferred control model it is also badly placed – I found that to operate it I either have to take my right hand off the camera and reach in from above, or somehow slide my thumb behind the camera, which usually results in both adjusted exposure and smeared glasses! No such problem with the G9 – you can quickly set up the camera so that the rear wheel, under the right thumb, controls the primary exposure value (aperture or shutter speed as appropriate), while the front wheel, easily in reach of the shutter finger, controls compensation. Vice-versa if you prefer. Perfect.

Unfortunately, however, Panasonic have perpetuated, and even aggravated one of the GX8’s other ergonomic failings, and arguably introduced a new one! The perpetual horror is focus mode. The G9, like most of the G series, has four main modes: manual focus (’nuff said), autofocus "single" (half press the shutter button to focus, then full press to expose with that focus), "follow" (another single shot mode, but if the primary subject moves while the shutter button is half pressed, the camera refocuses), and "continuous" (aligned to the high-speed shooting modes, refocuses for each exposure). The ideal solution would be a button which toggles between the modes. That’s good enough for a lot of very good cameras. However the G9 has a switch.

If you must have a switch, then surely it should have four modes? Nope. You select manual, continuous or single/follow on a three position switch, then have to dive into the menus to choose between single and follow, or the several variants of continuous. To add insult to injury, at least in the GX8 you could set the button in the middle of the focus switch to toggle between single and follow. Not on the G9, at least not with its initial firmware – this is set to AE/AF lock (which I personally never, ever use) and not programmable. The obvious fix is to make that button programmable so that when in the single/follow position it toggles between the two, when in the continuous position it toggles between the various variants of that mode, and when in the manual position it does something equivalently useful like turning focus peaking (highlighting) on and off. This could be fixed in a firmware update – I will just have to write to Panasonic and cross my fingers.

The other fixed switch on the G9 is for the drive mode (single, high speed, timer etc.) On the GX8 this is on a button, which is much better as you can include infrequent or situation-specific settings (like high speed mode) in appropriate custom shooting modes, and just leave the main aperture-priority settings or equivalent on single-shot, with a much reduced risk of going to take a shot and being in the wrong mode. The G9 arrangement seems like a retrograde step, but liveable.

Strengths

Krzysztof Radzikowski sets a new world record with a 150kg dumbell lift

That brings us from some arguable weaknesses of the G9 onto its real strengths. It’s fast – so fast it has three high-speed modes: high (about 5FPS), super-high 1 (about 15FPS) and super-high 2 (about 20FPS). The two super-high modes also have a very useful feature for sports and wildlife photography: hold the shutter half pressed and they will continuously store a few frames (about 0.4s worth) in the buffer, and write these to the card when you press the shutter, so if you are fractionally late clicking, you don’t lose the event. The downside is that you need to use the super-high settings with caution: if you are saving RAW + large JPEG files super-high 2 will chew up your memory cards at roughly 1GByte every 1.5 seconds. Another reason why I’d prefer to lock this to a custom mode!

Autofocus is much improved over the GX8, although I have to admit that my first sporting event with the new camera didn’t give it that much of a workout: in absolute terms, strongmen don’t move fast. it’s impressive to see a 150kg (330lb) man jogging with the same weight in each hand, but it’s not the harshest test of autofocus! However I can report that the G9 seems to adjust focus very quickly in continuous mode and seems to have missed relatively few shots. If there’s any pattern to the misses they tend to be the first shots of longer sequences, when I may have been moving the camera into position on the action. I’ll have to try and find something involving horses or fast cars for a better check.

Sensor readout also appears to have been improved, with a bit less banding on pictures of LED displays, and no obvious rolling shutter effects so far, although a higher-speed subject will really be required to confirm that.

The other area where Panasonic seem to have listened to my prior pleas is in support for bracketed and multi-shot images. In addition to the established support for exposure bracketing (for HDR), the new camera now does focus bracketing/scanning, as well as bracketing for aperture and white balance. Intelligently, even in single-shot drive mode you can choose to have the bracket shot at high speed to minimise the effect of subject or camera movement. The focus bracketing capability is something I have been seeking for a long time, and records full RAW files, a completely separate capability from the camera’s other ability to do in-camera focus stacking or post-shot focus selection from within a 6K movie file. Bracketed photos are clearly marked in their metadata, which makes it quite easy to build a script to sort them out from the rest of a day’s shooting.

Battery life is excellent – at the aforementioned strongman competition the camera was on for most of the five hours of competition and took about 600 shots. It used one battery and was about 30% into the second, much better than the GX8 would manage. I can also confirm that the two card slot arrangement works fine, effectively doubling the memory capacity, so I wasn’t fiddling with cards.

Two other ergonomic points are worth making. The rear display can be manually set to a nice bright setting for outdoors, but it’s automatic setting is far too dim. The EVF is large, detailed and bright, but as adjusted for my glasses has an odd pincushion distortion, with noticeably curved edges. This is nothing to do with the lens, which the camera corrects as required, but the way the EVF display is presented to the eyepiece. It’s not a major problem, but annoying to an inveterate picture-straightener like myself, especially as I haven’t had that problem with any of the predecessors.

Otherwise it’s pretty much business as usual. Image quality appears to be just the same as the GX8, much as expected given the common sensor, and the camera has a nicely familiar feel even if some of the controls are different and it’s definitely a bit heavier. Stabilisation is at least as good as the predecessor, with no noticeable penalty from the increased weight, but it’s clear that the full multi-second goodness of "dual IS 2" will have to wait until I can afford to start replacing my lenses with the new Mark II versions.

Conclusion

Would I recommend it? If you’re a committed Panasonic user, or have no existing mirrorless camera affiliation, and you want a very high capability, stills-centric camera, then absolutely. However if video is your thing, the GH5 may be better, and if you really don’t need the high speed or new advanced stills features, then a GX-series camera will save you weight and money. This is a very good camera, but not perfect. Panasonic still have room for improvement…

When I was in my early 20s and worked in a real office with doors and a bit of peace and quiet, I had access to a much valued colleague who’s function has almost entirely disappeared from modern life, unless you are enormously rich and powerful. She was called "a secretary".

One of the secretary’s functions was handling incoming phone calls: blocking the nuisances, re-routing the misdirected, taking understandable messages if I was not available, or putting the caller through with a clear announcement if I was. Where "a secretary" scored enormously over "a telephonist" was in knowing a bit about my business and me personally and being able to make some decisions on her (it was usually a her) own. She could also recognise regular accepted callers by their voice and deal with them much more quickly than strangers.

I’d like a computer which can do that.

Now this is definitely a step harder than just placing outgoing calls, but only a step. We don’t have to create a full-blown JARVIS (Iron Man’s AI butler) to get a lot of value.

Recognising known contacts by their voiceprint and incoming line details should be pretty straightforward, and it should be easy to make the list manageable, adding rules about how to deal with different people at different times. Taking messages can be a hybrid of two technologies. Because the caller is talking to a computer the call audio can be recorded, but the automated secretary could run through a simple script to get a direct call-back number ("now you are sure that’s direct and he’s not going to have to go through some horrible menu to get back to you"), spell out the caller’s name and company if it’s not recognised, and get an identifying account number or similar so I can verify the call’s veracity and quickly get my case recognised on call back. These could all be popped into an email or text to me, so I can see them written down rather than having to listen to them and write them down myself.

Those capabilities alone would get rid of a lot of nuisance callers. Scammers who want to offer to move my money to their own accounts are not going to want to leave verifiable contact details, or will not be able to provide valid authentication. Sales calls are a bit different. Most "spam" callers don’t waste their time with answering machines, so if we make the AI secretary recognisable as such that will get rid of most. Any who are really persistent can then be recognised by "trigger" words, such as "PPI", or "double glazing", or "the security department of Microsoft Windows" (yeah, right), plus non-verbal cues like the double-ring of a connection from Asia, or the chattering background in an Indian call centre, just like I do it. That would be a really powerful application of machine learning technology. I could choose how my secretary deals with identified nuisance callers: just hang up, choose a random insult from a list and hang up, keep them talking until they get bored, or redirect the call to an 0898 number where I’m sure the young ladies will be happy to listen to them all day, for a fee.

While we’re at it, let’s make the voice and personality programmable. I had Joanna Lumley’s voice (Purdey rather than Patsy) on my satnav for a while, and that would tick a lot of boxes for me, as a 50-something male. But I can also see the charm of recreating some famous fictional assistants: JARVIS, or how about Chris Hemsworth’s character from Ghostbusters 3, ladies?

OK Google. How about this?

]]>http://www.andrewj.com/blog/2018/ok-google-heres-another-one/feed/0They’re All Missing the Pointhttp://www.andrewj.com/blog/2018/theyre-all-missing-the-point/
http://www.andrewj.com/blog/2018/theyre-all-missing-the-point/#respondTue, 22 May 2018 18:31:30 +0000http://www.andrewj.com/blog/?p=2086Continue reading →]]>Since Google’s demo of an AI bot making a phone call a few weeks ago, the reaction I have read seems to be completely polarised. About half the reviewers are blown away, believing it to be unleashing AI wonders/horrors which are half a step away from SkyNet going live. The other half are nonplussed, seeing no potential value.

They are all wrong.

Let’s deal with the "this is the advent of true AI" bunch first. Google have demonstrated a realistic sounding voice which can currently deal with a few, very limited scenarios, and I suspect will rapidly fail if the other party goes significantly off track. Sure, it’s a step forward, but just a step. If you want to see a much more convincing demo, catch up with the program "How to Build a Human" from about 18 months ago, in which the makers of the Channel 4 Sci-Fi program "Humans" got a mix of British experts to build a robot Gemma Chan, who (which?) was then interviewed over Skype by a bunch of entertainment journalists. About half the reviewers didn’t realise they weren’t talking to the real Gemma. That’s much closer to a Turing test pass.

At the other end of the scale we’ve got those who don’t see any advance or value to a machine which can help make a phone call. To those, I have a simple question: "how did you get on, the last time you rang your bank / utility / travel company / <insert other large organisation here>?"

I completely agree that it’s a waste, and maybe a bit sinister, to task a robot with making a call to a local restaurant or hairdresser. But when was the last time you rang anything other than a small local business, and got straight through to talk to a human being? We all waste far too much of our time sitting on the phone, trying to navigate endless menus, trying to avoid the dead end where all you can do is hang up and try again, or listening to "Greensleeves" being played on a stylophone with a reminder every 20s that the recipient values your call. Yeah, right.

If I want to deal with a computer, I’ll go onto the website. I’m very happy doing that, and if I can do my business that way I will. The reason I have picked up the phone is one of the following:

The website doesn’t support the transaction I want to execute, or the information I need. I need to speak to a human being.

The website has a problem. I need to speak to a human being.

The website has instructed me to phone and speak to a human being.

Spot the common thread?

So I have the ideal use case for Google’s new technology. It makes the phone call. It navigates the endless menus, referring to a machine learning database of how to get to a human being as quickly as possible, and how to avoid dead ends in that organisation’s phone system. It provides simple responses to authentication prompts if it can, or prompts me for just the required information. If the call drops or dead ends it starts again. And it listens to "Greensleeves" or equivalent, silently in the background, until it’s sure it’s speaking to a human being. At that point, it says, like a good secretary would, "please hold, I have Mr Andrew Johnston for you", gets my attention and I pick up the call.

In the meantime, I get on with my life.

In some ways, this is actually easier than what Google have already done, because most of the interaction is computer-to-computer, and actively doesn’t need a human-like voice or understanding. It’s certainly a better use of the technology than pestering the local hairdresser.

OK Google. Build this, please.

]]>http://www.andrewj.com/blog/2018/theyre-all-missing-the-point/feed/0How Hard Can It Possibly Be?http://www.andrewj.com/blog/2018/how-hard-can-it-possibly-be/
http://www.andrewj.com/blog/2018/how-hard-can-it-possibly-be/#respondWed, 11 Apr 2018 05:43:21 +0000http://www.andrewj.com/blog/?p=2084Continue reading →]]>I really should have known better. In last week’s piece on random music player algorithms, I made the rather blasé statement "I can live with it for a while and I can probably resolve the issue by downloading another music player app". Yeah, sure.

Now we all know that assumptions are dangerous. One boss of mine was inordinately fond of the quote "assumptions are the mother of all f*** ups", and he wasn’t wrong. However I really did expect that music players were a relatively mature and stable component of the Android app space.

So how did I get on with trying to download a better random music player? So far, I have downloaded somewhere between 10 and 20 apps. I have discovered:

Apps which just don’t start, or which crash immediately

Apps which can’t see the SD card on which my music is stored, and insist on randomly playing 3 ringtones

Apps which can’t play a lot of my music. Come on guys, WMV format is not exactly "edge".

Apps which don’t have a random function, despite the words "random" or "shuffle" in the description

Apps which don’t display properly on my phone’s screen

Apps which display nicely and seem to have all the functions I need, but where the random function is to start with one song chosen at random, and then just play all the other songs on my device in alphabetic order of title (at least 3 instances of this!)

Apps which display nicely and have a decent random function, but then 60% of the time no sound comes out of the headphones when you press "play"

Apps which display OK, and appear to have a decent random function, but most of the other advertised functions don’t work

Worse case, I can probably live with the last – I can always use the Sony app for other purposes – and late last night I spent another 5 minutes and maybe, just maybe, I have found one app which will work, albeit with a slightly odd user interface.

But honestly, how hard can it possibly be?

Addendum – Two Months Later

Back to square one after upgrading to Android 8, which actively suppresses WMA files from the shared media index… (See "That Was Too Easy…") I’ve found some more ways you can make this not work. No Jemima, it doesn’t count playing Atomic Kitten, then CCS, then Led Zeppelin, then AC/DC, if the songs are "Whole Again", "Whole Lotta Love", "Whole Lotta Love" and "Whole Lotta Rosie"!

My latest contract means spending some time on a bus at each end of the day. The movement of the bus means it’s not comfortable to read, so I treated myself to a nearly new pair of decent BlueTooth headphones, and rediscovered the joys of just listening to music. I set the default music player app to “random” and let it do its stuff.

That’s when the trouble started. I started thinking about the randomisation algorithm used by the music player on the Sony phone. I can’t help it. I’m a software architect – it’s what I do.

One good music randomisation algorithm would look like this:

Assign every song on your device a number from 1 to n

When you want to play a random song, generate a random number between 1 and n, and play the song with that number.

However in my experience no-one ever implements this, as it relies on maintaining an index of all the music on the device, and assigning sequential numbers to it. That’s not actually very difficult, given that every platform indexes the music anyway and a developer can usually access that data, but it’s not the path of least resistance.

Let’s also say a word about generating random numbers. In reality these are always pseudo-random, and depending on how you seed the generator the values may be predictable. That may be the case with Microsoft’s software for picking desktop backgrounds, which seems to pick the same picture simultaneously on my laptop and desktop more often than I’d expect, but that’s a topic for another blog, so for now let’s assume that we can generate an acceptably random spread of pseudo-random numbers in a given integer range.

Here’s another algorithm:

Start in the top directory for the music files

Pick an item from that directory at random. Depending on the type:

If it’s a music file, play it. When finished, start again at step 1

If it’s a directory, make it your target and redo step 2

If it’s anything else, just repeat step 2

This is easy to implement, runs quickly and plays nicely with independently changing media files. I’ve written something similar for displaying random pictures on a website. It doesn’t require maintaining any sort of index. It generates a good spread of chosen files, but will play albums which are alone under the first level root (usually the artist) much more than those which have multiple siblings.

My old VW Eos had a neat but very different system. Like most players it could work through the entire catalogue in order, spidering up and down the directory structure as required. In “random” mode it simply calculated a number from 1 to approximately 30 after each song, and used that as the number of songs to skip forwards in the sequence.

This was actually quite a good algorithm. As well as being easy to implement it had the side-effect of being at least partially predictable, usually playing a couple of songs by the same artist before moving on, and allowing a bit of “what’s next” guesswork which could be entertaining on a long drive.

So what about the Sony music app on my phone? At first it felt like it was doing the job well, providing a good mix of genres, but after a while I started to become suspicious. As it holds the playlist in a readable form, I could check that suspicion. These are key highlights from the playlist after about 40 songs:

1 from ZZ top

1 from “Zumba”

3 from Yazoo!

1 from Wild Cherry

1 from Wet Wet Wet

Several from “Various Artists” with album titles like “The Very Best…”

0 from any artist filed under A-S!

I wasn’t absolutely sure about the last point. What about Acker Bilk and Louis Armstrong? Turns out they are both on an album entitled “The Very Best of Smooth Jazz”…

I can also look ahead at the list, and it doesn’t get much better. Van Morrison, Walter Trout, The Walker Brothers, and more Wet Wet Wet

So how does this algorithm work (apart from “badly”)? I have a couple of hypotheses:

It implements a form of the “give every track a number” algorithm, but the index only remembers a fixed number of tracks numbering a few hundreds (maybe ~1000), and anything it read earlier in the indexing process is discarded.

It implements the “give every track a number algorithm”, but the random number generator is heavily biased towards the end of the number range.

It’s attempting a “random walk”, skipping a random number of steps forwards or backwards through the list at each play (a bit like the VW algorithm, but bidirectional). If this is correct it’s odd that it has never gone into “positive” territory (artists beginning with A-S), but that could be down to chance and not impossible. The problem is that without a definite bias a random walk tends to stay in the same place, so it’s a very poor way of scanning your music collection.

Otherwise I’m at a loss. It’s not like I have a massive number of songs and could have run into an integer size limit or similar (there are only around 11,000 files, including directories and artwork).

Ultimately it doesn’t matter that much. I can live with it for a while and I can probably resolve the issue by downloading another music player app. However you can’t help feeling that a giant of entertainment technology like Sony should probably manage better.

Regardless of that, it’s an interesting exercise in analysis, and also potentially in design. Having identified some poor models, what constitutes a “good ” random music player? I’ve seen some good concepts around grouping songs by “mood”, or machine learning from previous playlists, and I’ve got an idea forming in my head about an app being more like a radio DJ, looking for “links” between the songs in terms of their artist names, titles or genres. Maybe that’s the next development concept. Watch this space.

]]>http://www.andrewj.com/blog/2018/inferring-algorithms-how-random-is-your-music-player/feed/0Why REST Doesn’t Make Life More Rest-fullhttp://www.andrewj.com/blog/2018/why-rest-doesnt-make-life-more-rest-full/
http://www.andrewj.com/blog/2018/why-rest-doesnt-make-life-more-rest-full/#respondMon, 19 Feb 2018 14:07:59 +0000http://www.andrewj.com/blog/?p=2071Continue reading →]]>As I have observed before, IT as a field is highly driven by both fashion and received wisdom, and it can be difficult to challenge the commonly accepted position.

In the current world it is barely more politically acceptable to criticise the currently-dominant model of REST, Javascript and microservices than it is to audibly assess the figure of a female co-worker. I was seriously starting to think that I was in some age-defined Luddite minority of one in not being 100% convinced about the universal goodness of that model, but then I discovered an encouraging article by Pascal Chambon “REST is the new SOAP“, and realised that it’s not just me. I am not alone.

I don’t want to re-create that excellent article, and I recommend it to you, but it is maybe instructive to provide some additional examples of the failings Chambon calls out. I have certainly fallen foul of the quasi-religious belief that REST is somehow “better because it uses the right HTTP verbs”, and that as a result the “right verbs must be used”. On my last contract there was a lengthy argument because someone became convinced I was using the wrong ones. “You’re using POST to do a DELETE. That’s wrong.”

“No, we’re submitting a request to do a delete, if approved. At some later point, after the request has been reviewed and processed, this may or may not result in a low-level delete action, but the API is about the request submission. And anyway, you can’t submit a proper payload with a DELETE.”

“But you’re using a POST to do a DELETE…”

In the end I mollified him slightly by changing the URL of the API so that the tip wasn’t …/host, but …/host/request, but that did feel like the tail wagging the dog.

Generally REST promotes a fairly inflexible CRUD model, and by default without the ability to specify exactly which items are retrieved or updated. In a good design we may need a much richer set of operations. In either an RPC approach (as outlined in Chambon’s article), or a “remote object access” approach, such as one based on SOAP, we can flexibly tailor the operations precisely to the needs of the solution.

Here’s a good example. I need to “rename” an object, effectively changing its primary key. In the REST model, I have to choose one of the following:

Add extra fields to the PUT payload to carry the “new” and “old” keys, and write both client- and server-side conditional code around their values, or an additional “operation” value

Do a DELETE (with the old key) followed by a POST (with the new one), making sure that all the other data required to recreate the record is passed back for the POST, and write a host of additional code to handle cases like the DELETE succeeding but the POST failing, or the POST being treated as a new item, not just an update (because it’s not a PUT).

Have a dedicated endpoint (e.g. …/object/rename) which accepts a POST operation with just the required data for the rename. That would probably be my favourite, but I can hear the REST purists screaming in the wind…

In a SOAP model, I can just have an explicit Rename(oldkey, newkey) operation on a service named for the underlying business object. Simples.

So Is SOAP The Old REST?

I’m comfortable with Chambon’s casting of REST as the supposed handsome hero who turns out to be a useless, treacherous bastard. I’m less comfortable with the casting of SOAP as the pantomime villain (boo hiss).

Now your mileage may vary, and Chambon obviously had some bad experiences, but in my own experience SOAP is a very strong and reliable technology which a lot of the time “just works”. I’ve worked in environments where systems developed in .Net, Oracle, Enterprise Java, a LAMP stack and Python cheerfully exchanged with each other using SOAP, across multiple physical locations, with relatively few complexities and usually just a couple of lines of code to access a full object model with formal schema and policy support.

In contrast, even if you navigate through the various different ways a REST service may work, inter-platform operation is by no means as simple as claimed. In just the past week I wasted about half a day trying to pass a body parameter between a Python client and a REST API presented by .Net. It should have worked. It didn’t. I converted the service to SOAP, and it worked almost first time. (Almost. It would have been even quicker if I’d remembered to RTFM…)

Notwithstanding the laudable attempts to fill the gap for REST, SOAP is still the only integration technology where every service has full machine and human readable documentation built in, and usually in a standard fashion. Get a copy of the WSDL (Web Service Definition Language) either from the service itself, or separately, and you know what it does, with what data, and, where it’s relevant to the client, how.

To extend the theatrical metaphor, in my world SOAP is the elderly retired hero who’s a bit pedantic and old-fashioned, maybe a bit slow on his feet, but actually saves the day.

It’s About the Architecture, Stupid

Ultimately it doesn’t actually matter whether your solution uses REST, SOAP, messages, distributed objects or CSV file transfers. Any can be made to work with sufficient attention to the architecture. All will fail in the presence of common antipatterns such as complex mixed data models, massive functional decomposition to too fine a level, or trying to make high-frequency chatty exchanges over higher-latency links.

Modern technologies attempt to hide a lot of technical complexity behind simple abstraction layers. While that’s an excellent approach overall, it does raise a risk that developers are unaware of how a poor design may cause underlying technical problems which will cause failure. For example while some low-level protocols are more tolerant than others, the naïve expectation that REST will work over any network regardless “because it is based on HTTP” is quite wrong. REST, SOAP and plain old web pages can all make good, efficient use of HTTP. REST, SOAP and plain old web pages will all fail if you insist on a unit of work being composed of vast numbers of separate small exchanges rather than a few larger ones. They will all fail if you insist on transferring large amounts of unfiltered data to the client, when that data should be pre-processed and filtered on the server. They will all fail if you insist on making every low-level exchange a network service when many of these should be direct in-process operations.

Likewise if you have a load of services, whether your own microservices or third party endpoints, and each service defines its own data structure which may be subject to change, and you try and directly consume and produce those proprietary data structures everywhere you need them, you are building yourself a world of pain. A core common data model with adapters for each format will serve you much better in the long run.

So Does Technology Choice Matter?

Ultimately no. For example, I have built an architecture with an underlying canonical data and adapter model but using REST for every exchange we controlled and it worked fine. Also in the real world whatever your primary choice you’ll probably have to deal with all the others as well. That shouldn’t scare you, but I have seen REST-obsessed developers run screaming from the room at the thought of having to use SOAP as well…

However, a good base choice will definitely make things easier. It’s instructive to think about a layered model of the things you have to define in a complex integration:

Documentation

Functionality

Data structure and format

Data encoding and transport

Policies

Service location and routing

SOAP is unique among the options in always providing built-in documentation for the service’s functions, data structures and policies. This is a major omission in the REST world, which is progressively being addressed by the Swagger / OpenAPI initiative and variants, but they will always be optional add-ons with variable coverage rather than a fundamental part of the model. For all other options, documentation is necessarily external to the service itself, and it may or may not be up to date and available to whoever needs it.

Functionality is discussed above and in Chambon’s article. Basically REST maps naturally to CRUD operations, and anything else is a bit of a bodge. SOAP and other RPC or distributed object models provide direct, explicit support for whatever functions are required by the business problem.

SOAP provides built-in definition and documentation of data structures and formatting, using XML Schema which means that the definition is machine and human readable, standardised, and uses namespaces and references to manage, for example, items with the same name but different uses and formats. Complexities such as optionality and alternative structures are readily defined. In addition a payload can be easily verified against the defined schema. Swagger optionally adds similar capabilities to the REST model, although without some discipline it’s easy for the implemented service to differ from the documented one, and it’s less easy to confirm that a given payload conforms. Both approaches focus on syntactic definition with semantic guidance optional and mainly through comments and examples.

In terms of encoding the data, the fashionable approach is JSON. The major benefits are that it’s simple, payloads are a bit smaller than the equivalent XML, and that it’s easy to parse into and generate from equivalent data structures in languages like Python.

However, I’m not a great follower of fashion. XML may be less trendy, but it offers a host of industrial-strength features which may be important in more complex use cases. It’s easy to unambiguously indicate the schema for each document and validate against it. If you have non-ASCII or binary data then their encoding is unambiguously defined. It’s easy to work separately with fragments of a larger document if you need to. Personally I also find XML easier to read and manually edit if I have to, but I accept that’s a bit subjective. One argument is that JSON is easier to render into a HTML page, but I’ve achieved much the same without any procedural code at all using XML with XSLT.

Of course, there’s no real need to have to choose. The best REST APIs I have worked with have the ability to generate equivalent JSON and XML from the same queries, and you choose which works best in a given context. Sadly this is again a bit too much for the REST purists, but a good solution when it works.

Beyond the functional definition of a service and its data, we also have to consider the non-functional behaviours, what are often referred to as “policies” in this context. How is the service secured? What encryption is applied to payloads and headers? What is the SLA, and what action should you take if it is exceeded? Is asynchronous or callback behaviour defined? How do I confirm I have all the required items in a set of exchanges, and what do I do about missing ones? What happens if a service fails, or raises an error?

In the early 2000s, when web services were a new concept, a lot of effort was invested in trying to establish standard ways to define these policies. The result was a set of extensions to SOAP known as the WS-* specifications: a set of rules to enable direct and potentially automated negotiation of all these aspects based on standardised information in the service WSDL and SOAP headers. The problem was that the standards quickly proliferated, and created the risk of making genuinely simple cases more complex than necessary. REST emerged as a simpler alternative, but with a KISS ethic which means ignoring the genuinely complex.

Chambon’s article touched on this in his discussion of error coding, but there are many other similar aspects. REST is a great solution for simple cases, but should not blind the developer to SOAP’s menu of standard, stronger solutions to more difficult problems.

A similar choice applies at the final level, that of locating and connecting service endpoints at runtime. For many cases we simply rely on network infrastructure and services like DNS and load balancing. However when this doesn’t meet more complex requirements then the alternatives are to construct or adopt a complex proprietary solution, or to embrace the extended standards in the WS-* space.

One technology choice is important. A professional modern Integrated Development Environment such as Visual Studio or Intellij Idea will do much of the “heavy lifting” of development, and does make work much quicker and less error-prone. I completely fail to understand why in 2018 some developers are still trying to do everything with vi and a Unix command line. When I was a schoolboy in the 1970s there was a saying “shouldn’t you have handed that in at the end of the war?”, referring to people still using or hoarding equipment issued in WW2. Anyone who is trying to do software development in the late 2010s with the software equivalent deserve what they get… It is a mistake to drive a solution from the constraints of your toolset.

Conclusions

The old chestnut that “to the man who only has a hammer, every problem looks like a nail” is nowhere more true than in software development. We seem to spend a great deal of effort trying to make every new software technique the complete solution to life, the universe, and everything, rather than accepting that it’s just another tool in the toolbox.

REST is a valid addition to the toolbox. Like it’s predecessors it has strengths and weaknesses. It’s a great way to solve a whole class of relatively simple web service requirements, but there are definite boundaries to that capability. When you reach those boundaries, be prepared to embrace some older, less-fashionable but ultimately more capable technologies. A religious approach will fail, whereas one based on an architectural viewpoint and an open assessment of all the valid options has a much greater chance of success.

]]>http://www.andrewj.com/blog/2018/why-rest-doesnt-make-life-more-rest-full/feed/0The Architect’s USPhttp://www.andrewj.com/blog/2018/the-architects-usp/
http://www.andrewj.com/blog/2018/the-architects-usp/#respondFri, 02 Feb 2018 10:00:25 +0000http://www.andrewj.com/blog/?p=2067Continue reading →]]>Very early on in any course in marketing or economics you will encounter the concept of the "Unique Selling Proposition", the USP, that factor which differentiates a given product or service from its competitors. It’s "what you have that competitors don’t", a key reason to buy this one rather than an alternative.

With the current trend away from development specialisms such as architect towards relatively homogenous development teams, it is perhaps instructive to ask "What is the architect’s USP?" Why should I employ someone who claims that specialism, and give him or her design responsibility, rather than just expecting my developers to cover it?

I have written elsewhere about why I don’t buy into the ultra-agile concept of "architecture emerging from the code", any more than I would bet money on the script for Hamlet "emerging" from a finite group of randomly typing monkeys. (Of course, if you have an infinite number of monkeys then it’s more achievable, but that’s infinity for you…) However that argument is about process, and I believe that almost irrespective of process a good architect’s skills and perspectives can have a significant beneficial effect on the result. That’s what I want to explore here.

The Architect’s Perspective

One key distinction between the manager, the architect and the developer is that of perspective. As an architect I spend a lot of time understanding and analysing the different forces on a problem. These design forces may be technical, or human: financial, commercial or political. The challenge is to find a solution which best balances all the design forces, which if possible satisfies the requirements of all stakeholders. It is usually wrong and ultimately counter-productive to simply ignore some of the stakeholders or requirements as "less important" – any stakeholder (and by stakeholders I mean all those involved, not just senior managers) can derail a project if not happy.

Where design forces are either aligned or orthogonal, there is usually a "sweet spot" which strikes an acceptable balance. The problem effectively becomes one of performing a multi-dimensional linear analysis, and then articulating the solution.

However, sometimes the forces act in direct opposition. A good example is system security, where requirements for broad, easy access directly conflict with those for high security. In these cases the architect has to invest heavily in diplomacy skills – to invest a lot of time understanding and addressing different stakeholder positions. One common problem is "requirements" expressed as solutions, which usually hide an underlying concern that can be met many ways, once understood and articulated.

In cases of diametrically opposed requirements, there are usually three options:

Compromise – find an intermediate position acceptable to both. This may work, but it may be unacceptable to both, or it may fatally compromise the architecture.

Allow one requirement to dominate. This has to be a senior level business decision, but the architect must be sensitive to whether the outcome is genuinely accepted and viable, or whether suppressing the other requirements will cause the solution to fail.

Reformulate the problem to remove or reduce the conflict. In the security example the architect might come up with a cunning partitioning of the system which allows access to different elements under different security rules.

Of course, you can’t resolve all the problems at once – that way lies madness. An architect uses techniques like layered or modular structures, and multiple views of the architecture to "separate concerns". These are powerful tools to manage the problem’s complexity.

The architect must look at the big picture, balance the needs of multiple stakeholders, and bring to bear an understanding of the business, of strategy, of technology and of development project work at the same time. If these responsibilities are split among too many heads and isolated within separate organisational confines then you lose the ability to see how it all fits together, and increase the danger of things "falling through the cracks".

The Architect’s Responsibilities

The architecture, and its resolution of the various design forces (i.e. how it meets various stakeholder needs) have to be communicated to many who are not technical experts. The architect acting as technical leader must take much of this responsibility. The messages may have to be reformulated separately for different audiences: I have had great success with single-topic briefing papers, which describe aspects like security in business terms, and which are short and focused enough to encourage the readers to also consider their concerns separately.

The architect must listen to the voice inside, and carry decisions through with integrity. For an architect, the question is whether the architecture is elegant, and will deliver an adequately efficient, reliable and flexible solution. If the internal answer to this is not an honest "yes", it is important to understand why not, and decide whether all the various stakeholders can live with the compromises.

The architect must protect the integrity of the solution against the slings and arrows of outrageous projects. (Hamlet again?) Monitor in particular those design aspects which reflect compromises between design forces, because they will inevitably come under renewed pressure over time. The architect must not only do the right thing, but ensure it is done right.

While every person on the project should be doing these things, there is a natural tendency for most to allow delivery priorities to take precedence. A developer’s documentation, for example, must be adequate to communicate the solution to other developers and maintainers, but does not have to be comprehensible to other stakeholders. However for the architect integrity, fit and communication of the solution are primary responsibilities, not optional. In addition the architect should have sufficient independence to call out and challenge conflicts of interest when they do occur.

The Architect’s Skills

The architect should be equipped with a distinct set of skills in support of these responsibilities. These will include:

Design patterns and knowledge of how to apply them

Tools and techniques to formally document both detail designs and wider portfolios

Methods to review a solution design, model its behaviour and confirm the solution’s ability to meet requirements

The ability to clearly communicate solutions, issues and potential resolutions to a wide variety of stakeholders

The ability to support the project and programme managers in handling the impact of issues and related decisions

Now it’s perfectly possible (and highly desirable) that others on the project will have many of these skills between them. However their combination in the architect is key to the delivery of the architect’s value, and a solution with a good chance of meeting its various objectives.

The Architect’s Position

A good architect should be able to operate in various organisational positions or roles and still deliver the above. Irrespective of the official organisation chart I often end up working between two or more groups, and I suspect this is a common position for many architects. It may actually be a natural result of adopting the architect’s unique perspectives.

The architect’s role may to some extent overlap with that of developers, analysts or product owners, and in smaller organisations or projects the architect may also take on one of these roles. In that case the architect must be able to "wear the appropriate hat" when focusing on a specific project issue or taking a wider view. The architect must then ensure that his or her ability to look at the wider picture is not compromised by the project relationship.

Conversely, a central architecture group may become accused of being in an ivory tower, separate from the realities of the business and the developers at the coal face. An architect in such a position must actively display an interest in and willingness to help with practical project issues.

A good architect will reconcile the need for a broad perspective and the specific responsibilities of a given position, thereby delivering distinct value compared with someone who has a more specific scope. I may on occasion be challenged for taking a wider interpretation of scope than others, but the insights which accrue from that perspective are almost always seen as valuable.

Conclusions

These are generalisations, and in practice there are as many variants on the architect’s role, skills and delivery as there are individuals who take the title. However it is generally true that an architect’s involvement increases the chance that a solution’s behaviour will be predictable, understood, and a good fit to its objectives. That’s the fundamental USP of the architect.

So you have a collection of several hundred DVDs, you’ve finally managed to remove almost every VHS tape from the house, and you’ve bought a shiny new TV and disk player. Which, if any, of you existing disks should you replace with new versions, and which versions should you buy?

We have a large video collection, and we’ve already owned several versions of some titles, maybe a couple of different tapes or different DVD releases. Replacing some of our existing disks might make sense, but we really don’t want to do it wholesale when we’ve already got "good" copies of a lot of stuff. Our experience is that there are cases where the cost of replacement is fully justified, and others where it is just a waste of money. I thought it might be useful to try and distil that experience into some guidelines for others in the same predicament.

This does assume that you like "big" films, or the best output of National Geographic and the BBC Wildlife Unit. If fluffy romantic comedies are your thing, or you like budget arthouse movies, then this may not apply. That’s also the case if you don’t like 3D, or your system doesn’t support it (ditto 4K). Please modify this advice accordingly.

Newer Films

The first thing to say is that if you have a "good" DVD of a film or TV series made after about 1995, and it’s not covered by one of the following special cases, then there’s limited benefit to replacing your DVD with the equivalent Blu-Ray. If your disk player does a good job of "upscaling" to HD, or even 4K, then the change will be marginal and you will wonder why you spent that money. If your disk player does not play recent high-quality DVDs well, then your money is better spent on getting a better one.

Crude DVD Transfers

A lot of my DVDs, even for big blockbuster films, are fine based on the previous advice, and aren’t going anywhere. However there are exceptions. These tend to be films from the 1980s and 1990s which were released on VHS and then pushed to DVD using the same digital version, and while the quality was adequate for viewing in the early 2000s, it shows up really badly on newer kit. Grainy/noisy video and inaudible sound are common problems. The dead give-away is when your DVD player produces a half-sized picture in the middle of the screen, suggesting that the video isn’t even full DVD resolution.

This is true of my DVDs of some quite major films, including Robin Hood Prince of Thieves and Tremors. Buy the Blu-Ray, but look for some evidence like the word "remastered" which suggests that they went back to the film and re-processed it (and didn’t just push the same awful video onto a Blu-Ray). For some favourites the improvement will blow you away, but even in more marginal cases you will be at least less frustrated.

There is an obvious consideration about the quality of the source material. If it was recorded on 1980s videotape there’s a limit to what can be achieved. Sadly, the DVD of Edge of Darkness (the TV masterpiece) is about as good as that’s going to get, but I will be very happy and first in the queue if someone can prove me wrong.

Remastered Classics

Where the source material does support it, which is true of a lot of classic films made in the 1960s and 1970s (and some earlier ones), there’s the option of a frame-by-frame restoration to the highest possible modern video and sound standard. The British Film Institute has done this for favourites such as The Italian Job, Zulu and most of David Lean’s films. MGM/Eon has done it for all the Bond films.

The results, on Blu-Ray, can be absolutely stunning. It’s like a 2010s film crew was transported back and filmed the same performances on modern kit.

In Zulu you can see every barb of every feather on the Zulus’ clothing, and you can see that because Chard and Bromhead were from different regiments, there’s a little piece of dark green trim on one tunic which is dark blue on the other. In The Italian Job you can read the badges on the cars and motorbikes. The night-time scenes in From Russia with Love are no longer muddy brown, but sharp blacks in Istanbul, and with a lovely pre-dawn blue glow on the Yugoslavian border. You can admire the couture workmanship on the Bond girls’ dresses. I could go on.

It’s literally like watching a new film. You’ll see so much you didn’t before.

In fairness, it’s the remastering which makes the difference as much as the disk format. Before we bought the Bond Blu-Ray collection we had a DVD of Goldfinger which was based on the remastered version, and that delivered much of the same benefit, but if you haven’t invested in those intermediate versions then the Blu-Ray is even better.

Films Released in 3D

We love 3D, even if sadly the entertainment industry has fallen out of love with it again, and the availability of support in new kit and new film releases is reducing. If you like it, and your system supports it, and there’s a 3D Blu Ray of a film you have on DVD, get the 3D disk. The video and sound quality will be better, and you’ll enjoy the literal extra dimension to the work.

3D Remasters

A small and select but wonderful set of films have been subject to the best of both worlds, remastering the video, but also retrospectively putting them into 3D. The primary examples are Titanic, Jurassic Park, Predator and Terminator 2: Judgement Day, but there are a few others. Like the remastered 60s films, it’s a whole new level of enjoyment. Highly recommended, even if like me, you have probably purchased each of these films in about 4 different previous versions. While industry trends and costs mean there may not be too many more films given this treatment, the fact that the 3D version of T2 was released just before Christmas 2017 does mean that we shouldn’t give up hope.

4K Remasters

As part of the shift away from 3D, the industry is pushing 4K / UltraHD. (This has twice the resolution of normal Blu-Rays and HD TV, at 2160 pixels vertically.) In addition to 4K versions of new blockbusters, there are some "4K remasters" of big films from the last 20 years. However I’m much less convinced about these.

First, if you have normal eyes, ears and equipment, 4K really isn’t the vast improvement over standard HD Blu-Ray that the hype claims. Part of this is just simple diminishing returns as the picture resolution increases beyond what we can easily distinguish. There’s a very good chart on this at http://carltonbale.com/1080p-does-matter/, reproduced below:

What this boils down to is that unless you are viewing 4K on a 60" screen from about 5′ (1.5m), you’re not going to notice much difference from HD, and in practice, that’s far too close to view a screen of that size. We view our 58" screen from about 8′, which is probably still a bit too close, and I can just about see a difference in normal viewing. Obviously if you’re a 20 year old bird spotter things might be different… 4K is great for a cinema, limited value for a telly.

However, there are also a couple of more insidious problems. Some of the conversions are significantly "overdone" – pushing the contrast to extremes which don’t match the material. The Mummy (the 1999 Stephen Sommers film) is a good example, where the 4K version is a riot of shiny highlights and pitch black shadows, while the Blu-Ray retains the beautiful look of the original film. In addition, many 4K remasters end up with a grainy look which the BD version avoids.

While some of this might be down to my eyes, or my kit, I’ve heard similar complaints elsewhere, including from a couple of guys who run a TV/HiFi shop and whose job is to set up high quality demo systems.

Personally I’m probably going to keep 4K for new blockbusters without a 3D version. If a favourite gets an anniversary 4K makeover I may buy the 4K/BD combo, but I could easily end up watching the Blu-Ray.

What About Streaming?

What about it? It’s a great way to get instant access to material you won’t want to view over and over, and where picture quality is not the key requirement: catching up on box sets is a great example. However if you want quality then streaming is currently still inferior to broadcast HD, which is in turn inferior to a disk, even a good DVD (your mileage may vary…). Don’t throw your disks away yet!

Conclusions

For new purchases, buy at least a Blu-Ray version, and consider the 3D or 4K version if there is one. If the old DVD version isn’t great, and there’s a remastered version on Blu-Ray, then it’s worth an upgrade. However if your existing DVD version is a good one, save your money and buy yourself some new films and shows instead.

"I have a television / hi-fi / home cinema system which has several components from different manufacturers. I would like to control all of them with a single remote control. I would like that remote control to be configurable, so that I can decide which functions are prioritised, and so that I can control multiple devices without having to switch "modes". (For example, the primary channel controls should change the TV channel, but at the same time and without changing modes the volume controls should change the amplifier volume.) As not all of my devices are controllable via Wi-Fi, Infrared is the required primary carrier/protocol. The ideal solution would be a remote control with a configurable touch screen, probably about 6" x 3" which would suit one-handed operation."

I can’t believe I’m the first person to articulate such a use case. In fact I know I’m not, for two reasons. When I set up the first iteration of my home cinema system in about 2004, I read a lot of magazines and they said similar things.

And then I managed to buy a dedicated device which actually did this job remarkably well. It was called a Sunwave Universal Remote, and had a programmable LCD touchscreen. It had the ability to choose which device functions appeared where, and to record commands from existing remotes or define macros (sequences of commands). This provided some, limited, "mixed device" capability, although the primary approach was modal (select the target device, and then use controls for that device). A set of batteries lasted about a year.

There were only two problems. First, as successive TVs became smarter than in 2004 it became an increasing challenge to find appropriate buttons for all the functions from within the fixed option list. Then, after 13 or so years of sterling service the LCD started to die. I still own the control, but it’s now effectively unusable.

My first approach was to try and get a direct replacement. However it’s clear that these devices haven’t been manufactured for years. The few similar items on eBay are either later poor copies, with very limited functionality, or high-end solutions based on old PDAs at ridiculous prices.

But hang on. "a configurable touch screen, probably about 6" x 3"". Didn’t I see such a device quite recently? I think someone was using one to make a phone call, or surf the internet, or check Facebook, or play Angry Birds, or some such. In fact we all use smartphones for much of our technology interaction, so why not this use case?

Achtung! Rabbit hole! Dive! Dive!

Why not, indeed? Actually I knew it was theoretically possible, because my old Samsung 10" tablet which was about to go on eBay had some software called "Peel Remote" installed as standard, and I’d played with controlling hotel TVs with it. I rescued it from the eBay pile and had an experiment. The first discovery was that while there’s a lot of "universal remote" software on Google Play, most is rubbish, either with very limited functionality, or crippled by stupid amounts of highly-invasive advertising. There are a few honourable exceptions, and after a couple of false starts I settled on AnyMote developed by Color Tiger. This has good "lookup" support to get you started, a nice editing function within the app, and decent ways to backup and share remote definitions between devices. A bit of fiddling got me set up with a screen which controlled our system much better than before, and it got us through all our Christmas watching.

However picking up a 10" tablet and turning it on every time you want to pause a video is a bit clumsy, so back to the idea of using a phone…

And here’s the problem. Most phones have no infrared support. While I haven’t done any sort of scientific analysis, I’d guess that 70-80% (by model) just don’t have what’s known as an "infrared blaster", the element which actually emits the infrared signals. Given that this is very simple technology, not much more than an infrared LED in the phone’s top edge, it’s an odd omission. We build devices stuffed with every sort of wireless and radio interface, but omit this common one used by much of our other technology.

Fortunately it’s not universal, and there are some viable options. A bit of googling suggested that the LG G2 does have an IR blaster, and I tracked down one for about £50 on eBay. It turns up, the software installs…, and it just doesn’t work. That’s when I find the next problem: several of the phone manufacturers who make both TVs and phones (LG and Sony are the most obvious offenders) lock down their IR capabilities, so they are not accessible to third party software. You can use your LG phone to control your LG TV, but that’s it, and f*** all use to me.

Back on Google and eBay. The HTC One M7 and M8 do have IR and do seem to support third-party software. The M8 is a bit bigger, probably better for my use case, and there’s one on eBay in nice condition for a good price. It turns up, the software installs…, and then refuses to run properly. It can’t access the IR blaster. Back on Google and confirm the next problem. Most phones which have been upgraded from Android 5 or earlier to Android 6 have a changed software interface to the infrared which doesn’t work for a lot of third-party software. Thanks a billon, Google.

OK, last roll of the dice. The HTC One M7 still runs Android 5. I find a nice blue one, a bit more money than the M8 ironically, but still within budget. It turns up, the software installs…, and it works! I have to do a few minor adjustments on the settings copied from my tablet, but otherwise straightforward. I had to install some software to make the phone turn on automatically when it’s picked up, and I may still have to do a bit of fiddling to optimise battery life, but for now it’s looking good…

Third time lucky, but it really didn’t have to be that difficult. For reasons which are impossible to fathom, both Google and most phone manufacturers seem to somewhere between ignoring and actively obstructing this valid and common use case. Ironically, given their usual insularity, things are a bit easier in the Apple world, with good support for third party IR blasters which plug into an iPhone’s headphone socket, but that wouldn’t be a good solution given the rest of my tech portfolio. For now I have a solution, but I’m not impressed.

]]>http://www.andrewj.com/blog/2018/an-odd-omission/feed/0The Decisive Momenthttp://www.andrewj.com/blog/2017/the-decisive-moment/
http://www.andrewj.com/blog/2017/the-decisive-moment/#respondSun, 17 Dec 2017 07:59:50 +0000http://www.andrewj.com/blog/?p=2056Continue reading →]]>My old mum has recently moved from her house to a smaller retirement flat, and is still in the process of sorting out some of the accumulated lifetime’s possessions. On this visit, I was presented with a large carrier bag of old cameras.

I have to say, I wasn’t expecting miracles. Mum and Dad never spent a vast amount on photographic equipment, usually buying a mid-range "point and click", using it till it stopped working and then buying another.

First out, an ancient Canon Powershot, for 35mm film. It probably works, but I tried explaining to Mum that there’s no longer any real market for such items.

"No-one really wants the bother of getting films developed. You don’t – you have a digital camera yourself now, you were using it last night."

"But surely there are people who love old cameras."

"Yes there are, but they have to be a bit special. If this was a Leica, with a little red dot on it, it would probably be worth some money, but not an ancient cheap Canon."

To settle it, I opened up my laptop and had a look on eBay. There were a couple, for about £15 and about £12, both with no bids.

Next up, a similar Panasonic. This still had a film in it, which was suspicious as it probably meant that the camera had died mid-holiday and been abandoned. eBay suggested an asking price somewhere in the range £8 to £11.99. Getting worse.

"I could offer it to the charity shop" said Mum, hopefully.

"Well you could, but don’t be surprised if they are underwhelmed." I told her about my recent experience of having a perfectly good 32" flatscreen TV rejected by our local charity shop, which didn’t encourage her.

"But surely if things still work?"

"I keep on saying, Mum, things have to be a bit special. You know, a Leica or something, with a nice red dot."

Next out of the bag was a Konica. This was a slightly different shape and had the rather ominous indicator "110" in the model number. That’s definitely not a good sign, I mean can you actually still get and process 110 film? (That’s assuming that you can see any point in shooting a format which is distinctly inferior to 35mm in the first place.) Amazingly enough there is one on eBay. £2.99, no bids…

"OK", says Mum, deciding that there’s no point in arguing that one. "There’s one box left in the bag."

What? Hoist by my own petard! I mean, what were the chances??

Sadly it’s actually only a slide box, and eBay suggests that it’s going to get £20 at best, but I am now honour-bound to do my best to find it a good home.

I often hear a statement which worries me, especially but not exclusively in agile projects, along the lines of “we’ll make sure it works when we test it later”.

Now you may think this is an odd view coming from a man who has written testing courses, presented conference papers on testing and developed testing tools, but let me explain myself.

First up, there’s the old chestnut that the objective of testing is not to prove something works, but to find errors. All you can actually do by testing is locate problems to be fixed, although obviously if problems are hard to find, that increases confidence in your product. However the much deeper issue is that testing is commonly viewed as an alternative to properly understanding and documenting the expected behaviour of a system, and reviewing in advance whether a proposed design will deliver that behaviour. That can be a recipe for failure.

Obviously in some areas this is an acknowledged and viable trade-off. If we are exploring functional alternatives, or working in a problem space where extracting documented requirements is tricky, then agile development and testing is a powerful solution, and we accept the rework that may result where we get it wrong. Having said that, even in something like UI development it may be better to develop cheap models such as wireframes, and at least attempt to explore solution fit before we commit too much to code.

The problem is that when we come to the more fundamental architectural elements and non-functional behaviour, the dynamics change dramatically. The best way to show this is a variant of the testing “V Model”:

For functional details, the gap between development and testing is small, and they can quickly be reworked and retested. However some of the key architectural and non-functional aspects can only be fully tested late in the delivery process (and frequently only late in the overall programme), if at all. The “testing gap” becomes huge, the impact of any change substantial, and the rework path lengthy.

One challenge is that many non-functional tests require an environment representative of the technology and scale of the production system. If this is provided at all, it is typically late in the project, or testing has to be shoe-horned into a short window on the production system before operations commence. If that uncovers a major issue, it is simply too late.

That’s assuming that the issue is detectable. In an agile development, it may be difficult to understand “what acceptable looks like”, if there is no adequate agreed, documented definition of the expected non-functional behaviour.

The other challenge is that good non-functional testing is hard, and limited in what it can achieve. Simulating a peak load is difficult, especially with the variety of data in a real production peak. You can simulate planned and unplanned equipment failures and restarts, but by definition only predictable events. If a problem only emerges from lengthy running or a “perfect storm” event, then testing is unlikely to uncover it. Basically resilience is testable, performance may be testable, reliability isn’t. Similar considerations also apply to other non-functional aspects like security.

The Solution

The solution is to adopt an analytical and predictive approach: trying to understand, articulate and document the expected behaviour of the solution, before you build it. Importantly this is not just thinking about the solution (although thinking is vital), but thinking with models.

Models in this context take many forms. They can be diagrams, possibly based on UML, but not necessarily: for example reliability block diagrams or fault tree analyses are powerful tools to understand resilience and reliability. They can be spreadsheets, for example profiling expected transaction mixes and their relative resource requirements. They can also be active software, whether simulations of some expected behaviour, or point implementations to quantify some aspect of the solution, but the point is that their purpose is to understand the solution before a major technical commitment, not to deliver functionality. Irrespective of form all models should lend themselves to a quantitative understanding of the solution, not just “what?”, but “how much?” and “how well?”.

For example, here’s a simple redundancy scheme modelled using RelQuest, my own Visio-based fault tree analysis tool, from which we can not only understand the various combinations of failures which lead to loss of service, but the relative probability and impact (e.g. Mean Time to Repair) for each combination.

Models and simulations provide you with an early understanding of the system behaviour, so you can understand whether something should work, or not, and if not where to focus your efforts. They can be detailed, like the example fault tree above, or doing an early first pass on a platform provider’s sizing tool, but a more approximate approach may also provide value.

Numbers are your friends. I am a great fan of Fermi estimates (see the sidebar) – quick “order of magnitude” approximations to see if you have understood the key elements in a problem, and whether the answer looks viable or not.

You can easily get viable estimates of this type for performance, capacity or reliability. If the answer is “no problem”, like we can easily accommodate millions of transactions per hour on a single server and we expect thousands, then you’re probably fine. If the answer is the other way round, like the developer who proudly presented me a solution which would take 1s CPU time to do a calculation, but we needed to do a thousand a second, then the design needs to change (I got it down to 2ms, which was acceptable). If it’s marginal, then you probably need to do a more accurate model and calculation, or build a greater degree of flexibility into the solution.

Simulations or low-volume experiments may be a valid way to understand CPU, storage and memory usage, network bandwidth requirements, threading, virtualisation, and even failover behaviour. Anything which scales linearly can be measured at low volume and extrapolated, but you need to be wary of areas such as network latency or storage throughput where that may not be valid.

Ultimately anything which builds your understanding and proves that you have thought about the problems in advance is good, even if some detail may only be confirmed at later stages. The key point is that the problems become targets for analytical thinking rather than hope and prayers, and that makes them solvable.

The Conclusion

Testing on its own is absolutely necessary, but very much not sufficient. For tests to be meaningful you have to describe the predicted behaviour in advance, and for the system to have any chance of passing those tests it has to be engineered accordingly. We increasingly seek to drive functional development from written user stories and behaviour specifications. In the same way professional development must be driven by quantitative models which forecast non-functional behaviour for testing to confirm, not discover in surprise.

Sidebar – Fermi Estimates

I love Fermi estimates, named for the great Italian-American physicist Enrico Fermi, who was always doing them. These are calculations which you know have a lot of inaccuracies, but which are simple enough to do quickly and get an answer which is “sort of right” to tell you if you have correctly understood the dimensions of the problem, and if something should work, or not.

Let’s do one. This is not about computing, but is an easy example to understand the process. How much does my house weigh?

Well my house is built mainly of brick, and for the purposes of this calculation can be thought of as a rectangular block roughly 8m x 12m, and about 3m high. (I happened to have these figures, but I could always just pace it out and use 1 pace = 1m). Allow for internal walls, and you could think of my house as four slabs of brick 8m long x 3m high, and four slabs 12m long x 3m. Alternatively that’s 4 slabs 20m long, or one slab 80m long. But remember that all the walls are at least two bricks thick, so it’s like one stack of single brick 160m long and 3m high. Now I know this doesn’t take any account of windows and doors, and the open plan bit at the front, but it’s also ignoring the roof and floor slabs, and I think that will balance out quite well. Google “house brick dimensions” gives us 215mm long and 65mm high, and a typical weight of 3.5kg. Divide 160m by 0.2m (this is a Fermi approximation remember) to get 800 bricks long. At 65mm high 3 bricks on top of each other will also be about 0.2m high, so the height of our stack will be 3x3m/0.2m = 45 bricks high, call it 50. That gives us a grand total of 50×800=40,000 bricks. Now 40,000×3.5kg = 140,000kg, or 140 tons. Fermi approximations are good for at best one significant figure, so round it off to 100 tons. Bingo!

So a simple model can get you a useful answer quickly, and you may even be able to do the maths in your head. Now obviously there are a lot of guesses and approximations here, like the density of all key materials is similar, and I haven’t so far accounted for the foundations, which might be needed, and I might want to double-check the typical weight of a brick which is a key value, but I’d be surprised if the “real” answer wasn’t somewhere between 50 and 300 tons.

You can easily do the same thing to get viable “order of magnitude” figures for performance, capacity or reliability.

]]>http://www.andrewj.com/blog/2017/testing-vs-modelling-detection-vs-prediction-hope-vs-knowledge/feed/0Does Agile Miss The Point About Engineering?http://www.andrewj.com/blog/2017/does-agile-miss-the-point-about-engineering/
http://www.andrewj.com/blog/2017/does-agile-miss-the-point-about-engineering/#respondWed, 22 Nov 2017 07:05:06 +0000http://www.andrewj.com/blog/?p=2045Continue reading →]]>A former colleague, Neil Schiller, recently wrote an excellent article, https://www.linkedin.com/pulse/agile-data-programmes-neil-schiller/, on the challenge of using agile approaches in data-centric programmes. In it, he referenced and reviewed a classic cartoon by Henrik Kniberg which is often used to promote the advantages of agile delivery:

Now it’s wholly possible that I am reading more into a limited analogy than appropriate, but I think this same diagram can also be used to explain some of the fundamental issues with agile approaches.

Think about what the bottom line is claiming: that by a set of small incremental deliveries we can somehow achieve the equivalent of transforming a scooter into a bicycle, into a motorbike and then into a car, each a fully working vehicle meeting the user’s requirements. In the real physical world this is laughable: each has a wholly different architecture with no commonality whatsoever between equivalent subsystems at any of the stages. Key properties arise from the fundamental structure – a simple tubular chassis for bike, a more complex frame including complex stressed moving parts like the engine and transmission for the motorbike, typically a monocoque chassis/exoskeleton for the car. These underlying elements form the basis, and you have to get them right as you can’t modify them later: you can’t “add strength” to a car by adding more tubes after the event (unless you are going banger racing!).

In the real physical world you create a complex engineered artefact by understanding its required properties, creating a layered structure which is designed to meet them, and then building up those layers to progressively deliver the required result. This requires that the most fundamental, least readily changed layers have to be right, and stable, early on, and only then can you add the upper more flexible elements. The first version of the process in the diagram is actually wholly correct, the second a joke.

Is it so very different for software? If we’re talking about major systems with real-world complexity and non-functional demands, I’m not convinced. The “ultra-agile” argument that it is always possible to “refactor” code to make changes. This is true up to a point, but it can be difficult and costly to change the underlying structure. If that does not meet requirements for security, or reliability, or performance, then no amount of fiddling will fix it, and if changes amount to a fundamental rewrite then it’s difficult to see where any advantage has been gained.

Obviously there are differences. The vehicle designer seeks to both create and use solutions which once right will be re-used many times (from hundreds to millions of instances), but will be difficult to change once in production. Software development is still largely about one-offs. Software requirements are typically less well-defined than for established hardware products. In vehicle manufacture, the roles of engineer/designer and constructor are distinct, whereas in software the designers often have an ongoing role in construction, and may at least subconsciously seek to extend that role (guilty as charged ). On the other hand, the car designer knows that an approved design will be built largely as documented, whereas the software designer has no such assurance.

Fundamentally, however, I believe that software development can benefit from engineering disciplines just as much as the design of physical products. For example, it is much better to attempt to understand and predict up front how a given design will respond against non-functional requirements. Testing is a very good way to confirm that your solution basically works and to refine refinements. It is a very bad way to uncover fundamental deficiencies, especially if this occurs late in the development process.

This doesn’t mean that I don’t believe in agile development. Far from it, I am a great believer in iterative and incremental development, and structures such as Scrum sprints to manage them. However, I really don’t believe in architecture “emerging from the code”, just the same as I would not expect to see a great car design “emerge” from the work of a group of independent fabricators working on small parts of the problem without any overarching design. Cars “designed” in such a way tend to be more Austin Allegro (or AMC Pacer) than Bugatti Veyron.

Instead, Architecture has to be understood as providing the structure within which the code is developed, with that overall structure developed using engineering disciplines: assess the various forces on the design, articulate how these forces will be resolved (including what compromises are required), then document and model the solution to predict its properties.

If the requirement is for a sports car, design a sports car, don’t try and “refactor” a pushbike…

Creation of such designs, documents and models is a distinct discipline from coding. Some of this may be the domain of specialists, some may be performed by those who also have other development roles, but as a separate activity requiring appropriate skills and experience. Ironically I think Tom Gilb got it about right in his 1988 book “Principles of Software Engineering Management”, when he defined “Software Engineer” as someone who “can translate cost and quality requirements into a set of solutions to reach the planned levels”, and who has the skill to change any given quality dimension of a system by a factor of ten if required. The latter challenge would uncover a lot of people who call themselves “architects”.

In addition complex designs need some form of centralised, overall ownership and design control – this again requires specialist skills and cannot just be allocated randomly, but will sit with an Architect and/or a Product Owner.

Within such a framework concepts such as continuous integration and testing still make sense. Development, both functional and non-functional can still be managed via the backlog and sprint plans, epics and stories. However the “minimum viable product” may require completion of much of the underlying architecture as well as major functional capabilities. Major capabilities, both functional and non-functional, have to be analysed and designed up front, not left to stories somewhere in the backlog. The intermediate delivery is a car, albeit incomplete, not a complete bicycle.

Agile development and architecture are not incompatible, but complementary. Successful development of a complex real-world system will inevitably follow the first model in Kniberg’s cartoon, no matter how much the agilists would like it to be the second. At scale, and in the face of more challenging requirements software development needs to be treated as an engineering discipline, with agile structures in service of that discipline, not avoiding it.

]]>http://www.andrewj.com/blog/2017/does-agile-miss-the-point-about-engineering/feed/0The Hut of Alleged Towelshttp://www.andrewj.com/blog/2017/the-hut-of-alleged-towels/
http://www.andrewj.com/blog/2017/the-hut-of-alleged-towels/#respondSat, 18 Nov 2017 10:42:29 +0000http://www.andrewj.com/blog/?p=2042Continue reading →]]>The Crane Hotel, Barbados has a hut whose purpose is to take in used beach towels, and dispense fresh ones. It has no other purpose. It is staffed during daylight hours by a helpful young chap, but on our recent visit he seemed to rarely, if ever, have any towels to dispense. Now if I was the manager and paying that chap’s salary, I would make sure enough laundry was being done to provide a reasonable supply, but then I’m weird…

We took to calling it "The Alleged Towel Hut", but then decided that was unfair. The hut itself satisfies reasonable standards of proof of its existence. The towels do not. Hence we have decided on a better term. This is now officially "The Hut of Alleged Towels".

]]>http://www.andrewj.com/blog/2017/the-hut-of-alleged-towels/feed/0Architecture Lessons from a Watch Collectionhttp://www.andrewj.com/blog/2017/architecture-lessons-from-a-watch-collection/
http://www.andrewj.com/blog/2017/architecture-lessons-from-a-watch-collection/#respondSat, 04 Nov 2017 10:29:20 +0000http://www.andrewj.com/blog/?p=2032Continue reading →]]>I recently started a watch collection. To be different, to control costs and to honour a style which I have long liked, all my watches are hybrid analogue/digital models. Within that constraint, they vary widely in age, cost, manufacturer and style.

I wanted to write something about my observations, but not just a puff piece about my collection. At the same time, I am long overdue to write something on software architecture and design. This piece grew out of wondering whether there are real lessons for the software architect in my collection. Hopefully without being too contrived, there really are.

Hybrid Architectures Allow the Right Technology for the Job

There’s a common tendency in both watch and software design to try and solve all requirements the same way. Sometimes this comes out of a semi-religious obsession with a certain technology, at others it’s down to the limitations of the tools and mind-set of the designer. Designs like the hybrid watch show that allowing multiple technologies to play to their strengths may be a better solution, and not necessarily even with a net increase in complexity.

Using two or three rotating hands to indicate the time is an excellent, elegant and proven solution, arguably more effective for a “quick glance” than the digital equivalent. However, for anything beyond that basic function the world of analogue horology has long had a very apt name: “complications”. Mechanical complexity ratchets up rapidly, for even the simplest of additional functions . Conversely even the cheapest of my watches has a stopwatch, alarm and perpetual calendar, and most support multiple time zones and easy or even automatic travel and clock-change adjustments. Spots of luminous paint make a watch readable in darkness, but illuminating a small digital display is more effective.

The hybrid approach also tackles the aesthetic challenge: while many analogue watches are things of beauty, most digital watches just aren’t. Hybrid watches (just like analogue ones) certainly can be hit with the ugly stick, but I’ve managed to assemble a number of very pretty examples.

The lesson for the software architect is simple: if the compromise of trying to do everything with a single technology is too great, don’t be afraid to embrace a hybrid solution. Hybrid architectures are a powerful tool in the right place, not something to be ruthlessly eliminated by purist “Thought Police”.

A Strong, Layered Architecture Promotes Longevity

Take a look at these three watches: a 1986 Omega Seamaster, a 1999 Rado Diastar, and a recent Breitling Aerospace. Very different, yes?

Sisters Under the Skin, or Brothers from Another Mother?

Visually, they are. But their operation is almost identical, so much so that the user manuals are interchangeable. Clearly some Swiss watchmaker just “got it right” in the late 1980s, and that solution has endured, with a life both within and outside the Swatch Group, the watch equivalent of the shark or crocodile. While the underlying technology has changed only slightly, the strong layering has allowed the creation of several different base models, and then numerous variants in size, shape and external materials.

This is a classic example of long-term value from investing in a strong underlying architecture, but also ensuring that the architecture allows for “pace layering”, with the visible elements changing rapidly, while the underpinnings may be remarkably stable.

It’s worth noting that basic functionality alone does not ensure longevity. None of these watches have survived unchanged, it’s the strength of the underlying design which endures.

Oh, and yes, the Omega is a full-sized mans’ watch (as per 1986)! More about fashion later…

Enabling Integration Unlocks New Value

The earliest dual mode watches were little more than a simple digital watch and a quartz analogue watch sharing the same case, but not much else except the battery (and sometimes not even that!). The cheapest are still built on this model, which might most charitably be labelled “Independent” – my Lambretta watch is a good example. There’s actually nothing wrong with this model: improve the capability of the digital part, the quality of the analogue part and the case materials and design and you have, for example, my early 1990s Citizen watches which are among my favourites. However as a watch user you are essentially just running two watches in one case. They may or may not tell the same time.

The three premium Swiss watches represent the next stage of integration. The time is set by the crown moving the hands, but the digital time is set in synchronisation. There’s a simple way to advance and retard both in whole hours to simplify travel and clock-change adjustments. Seconds display is digital-only to simplify matters. Let’s borrow a photography term and call this “Analogue Priority” – still largely manual, but much more streamlined.

“Digital Priority”, as implemented in early 2000s Seikos is another step forwards. You set the digital time accurately for your current location and DST status, and you have one-touch change of both digital and analogue time to any other time zone. The second hand works as a status indicator, or automatically synchronises to the digital time when in time mode.

However the crown has to go to the Tissot T-Touch watches. Here the hands are just three indicators driven entirely by the digital functions: they become the compass needle in compass mode, show the pressure trend in barometer mode, sweep in stopwatch mode, park at 12.00 when the watch is in battery-saving sleep mode. And they tell the time as well! Clearly full integration unlocks a whole set of capabilities not previously accessible.

Extremes of analogue/digital integration

So it is with software. Expose the control and integration points of your modules to one another, or to external access, and new value emerges as the whole rapidly becomes much more than the sum of the separate parts.

Provide for Adjustment Where Needed…

While I love the look of some watch bracelets (especially those with unusual materials, like the high-tech black ceramic of the Rado), adjusting them is a complex process, and inevitably ends up with a compromise: either too loose or too tight. Even if the bracelet offers some form of micro-adjustment and you get it “just right” at one point, it will be wrong as the wrist naturally swells and shrinks over time. Leather straps allow easier adjustment, but usually in quite coarse increments of about 1cm, so you’re back to a compromise again.

The ideal would be a bracelet with either an elastic/sprung element, or easily accessible micro-adjustment, but I don’t have a single example in my collection like that. I hear Apple are thinking about an electrically self-adjusting strap for the next iWatch, but that sounds somewhat OTT.

On the other hand, I have a couple of £10 silicone straps for my Fitbit which offer easy adjustment in 2mm increments. Go figure…

We could all quote countless similar software examples, of either a “one size fits all” setting which doesn’t really suit, or an allegedly controllable or automated setting which misses the useful values. The lesson here is to understand where adjustment is required, and provide some accessible way to achieve it.

… But Avoid Wasting Effort on the Useless

At the other end of the scale, several of my watches have “functions” of dubious value. The most obvious is the rotating bezel. In the Tissot, it can be combined with the compass function to provide heading/azimuth information. That’s genuinely useful. The Citizen Wingman has a functioning circular slide rule. Again valid, but something of a hostage to progress.

At least the slide rule does something, if you can remember how!

Do the rotating bezels of my Citizen Yachtsman, or the Breitling Aerospace have any function? Not as far as I can see.

Now I’m not against decorative or “fun” features, especially in a product like a watch which nowadays is as frequently worn as jewellery than for its primary function. But I do think that they need to be the result of deliberate decisions, and designers need to think carefully about which are worth the effort, and which introduce complexity outweighing their value. That lesson applies equally to software as to hardware.

… And Don’t Over-Design the User Interface

The other issue here is that unless it’s pure jewellery, a watch does need to honour its primary function, and support easily telling the time, ideally for users with varying eyesight and in varying lighting conditions. While I have been the Rado’s proud owner for nearly 18 years, as my 50-something eyesight has changed it has become increasingly annoying as a time-telling device, mainly due to its “low contrast” design. It’s not alone: for example my very pretty Citizen Yachtsman has gold and pale green hands and a gold and pale green face, which almost renders it back to a pure digital watch in some lights!

At the other end of the scale, the Breitling Aerospace is also very elegant, but an exemplar of clarity, with a high-contrast display, and clear markings including actual numbers. It can be done, and the message is that clarity and simplicity trump “design” in the user interface.

This is equally true of software. I am not the only person to have written bemoaning the usability issues which arise from loss of contrast and colour in modern designs. The message is “keep it simple”, and make sure that your content is properly visible, don’t hide it.

Fashion Drives Technology. Fashion Has Nothing To Do With Technical Excellence

All my watches are good timepieces, bar the odd UI foible, and will run accurately and reliably for years with an occasional battery change. However, if you pick up a watch magazine, or browse any of the dedicated blogs, there is almost no mention of such devices, or largely of quartz/digital watches at all.

Instead, like so much else in the world we are seeing a polarisation around two more “extreme” alternatives: manual wind and “automatic” (i.e. self-winding) mechanical watches, or “charge every day” (and replace every couple of years) smartwatches. The former can be very elegant and impressive pieces of engineering, but will stop and need resetting unless you wind or wear them at least every few days – a challenge for the collector! The latter offer high functionality, but few seem engineered to provide 30 years of hard-wearing service, because we know they will be obsolete in a fraction of that time.

Essentially fashion has driven the market to displace a proven, reliable technology with “challenging” alternatives, which are potentially less good solutions to the core requirements, at least while they are immature.

This is not new, or unique to the watch market. In software, we see a number of equivalent trends which also seem to be driven by fashion rather than technical considerations. A good, if possibly slightly contentious example, might be the displacement of server-centric website technologies, which are very easy to develop, debug and maintain, with more complex and trickier client-centric solutions based on scripting languages. There may be genuine architectural requirements which dictate using such technologies as part of the solution, e.g. “this payload is easy to secure and send as raw data, but difficult and expensive to transmit fully rendered”. Fine. But “it’s what Facebook does” or “it’s the modern solution” are not architecture, just fashion statements.

On a more positive note, another force may tend to correct things. Earlier I likened the Omega/Rado/Breitling design to the evolutionary position of a shark. Well there’s another thing about sharks: evolution keeps using the same design. The shark, swordfish, ichthyosaur, and dolphin are essentially successive re-uses of a successful design with upgraded underlying architecture. Right now, Fossil and others are starting to announce hybrid smartwatches with analogue hands alongside a fully-fledged smartwatch digital display.

In fashion terms, what goes around, comes around. It’s true for many things, watches and software architectures among them.

Conclusions

Trying to understand the familial relationships, similarities and differences in a group of similar artefacts is interesting. It’s also useful for a software architect to try and understand the architectural characteristics behind them, and especially how this can help some designs endure and progressively evolve to deliver long-term value, something we frequently fail to achieve in software. At the same time, it’s also salutary to recognise where non-architectural considerations have a significant architectural impact. Think about the components, relationships and dynamics of other objects in architecture terms, and the architecture of our own software artefacts will benefit.

]]>http://www.andrewj.com/blog/2017/architecture-lessons-from-a-watch-collection/feed/0Integration Or Incantation?http://www.andrewj.com/blog/2017/integration-or-incantation/
http://www.andrewj.com/blog/2017/integration-or-incantation/#respondSun, 29 Oct 2017 12:32:31 +0000http://www.andrewj.com/blog/?p=2029Continue reading →]]>I was travelling recently with Virgin Atlantic. I went to check in online, typed in my booking code and selected both our names, clicked "Next", and got an odd error saying that I couldn’t check in. I wondered momentarily if it was yet more pre-Brexit paranoia about Frances’ Irish passport, but there was a "check in individually" option which rapidly revealed that Frances was fine, it was my ticket which was causing the problem.

The web site suggested I ring the reservation number, which I did, listened to 5 minutes of surprisingly loud rock music (you never mistake being on hold for Virgin with anyone else), and got through to a helpful chap. He said "OK, I can see the problem, I will re-issue the ticket." Two minutes of more distinctive music, and he invited me to try again. Same result. He confirmed that we were definitely booked in and had our seat reservations, and suggested that I wait until I get to the airport. "They will help you there." Fine.

Next morning, we were tackled on our way into the Virgin area by a keen young lady who asked if we had had any problems with check in. I said we had, and she led us into what can best be described as a "krall" of check-in terminals, and logged herself into one. This displayed a smart check-in agent’s application, complete with all the logos, the picture of Branson’s glamorous Mum, and so on. She quickly clicked through a set of very similar steps to the ones I had tried, and then click OK. "Oh, that’s odd", she said.

Next, she opens up a green screen application. Well, OK, it’s actually white on a Virgin red background, but I know a green screen application when I see one. She locates my ticket, checks a few things, and types in the command to issue my pass. Now I’m not an expert on Virgin’s IT solutions, but I know the word "ERR" when I see it. "Oh, that’s not right either" says the helpful young lady "I’ll get help".

Two minutes later, the young lady is joined by a somewhat older, rather larger lady. (OK, about the same age as me and she looked a lot better in her uniform than I would, but you get the idea.) "Hello Mr Johnston, let’s see if we can sort this out". She takes one look at the screen and says "We actually have two computer systems, and they don’t always talk to each other or have the same information."

… which could be the best, most succinct summary of the last 25 years of my career I have heard, but I digress…

Back to the story. The new lady looks hard at both applications, and then announces she can see the problem (remember, all this is happening on a screen I can see as well as the two Virgin employees). "Look, they’ve got your name with a ‘T’ here, and no ‘T’ here" (pointing to the "red screen" programme).

Turning to the younger lady, she says "Right, this is how to fix it." "Type DJT, then 01" (The details are wrong, but the flavour is correct…) "Put in his ticket number. Type CHG, then enter. Type in his name, make sure we’ve got the T this time. Now set that value to zero, because this isn’t a chargeable change, and we can do a one letter change without a charge. Put in zero for the luggage, we can change that in a minute. Type DJQ, enter. Type JYZ, enter. OK, that’s better. Now try and print his pass." Back to the sexy new check in app, click a few buttons, and I’m presented with two fresh boarding passes. Job done.

Now didn’t we have a series of books where a bunch of older, experienced wizards taught keen you wizards to tap things with sticks and make incantations? The solution might as well have been to tap the red screen programme with a wand and shout "ticketamus"…

The issues here are common ones. Is it right to be so dependent on what is clearly an elderly and complex legacy system? Are the knowledge transfer processes good enough, or is there a risk that the next time the more experienced lady who knows the magic incantations might not be available? Why is such a fundamental piece of information as the passenger names clearly being copy typed, not part of the automated integrations? As a result, is this a frequent enough problem that there should really be an easier way to fix it? Ultimately the solutions are traditional ones: replace the legacy system, or improve its integrations, but these are never quick or easy.

Now please note I’m not trying to get at Virgin at all. I know for a fact that every company more than a few years old has a similar situation somewhere in the depths of their IT. The Virgin staff were all cheerful, helpful and eventually resolved the problem quickly. However it is maybe a bit of a management error to publicly show the workings "behind the green screen" (to borrow another remarkably apposite magical image, from the Wizard of Oz). We expect to see the swan gliding, not the feet busily paddling. On this occasion it was interesting to get a glimpse, and I was sympathetic, but if the workings cannot be less dependent on "magic", maybe they should be less visible?

]]>http://www.andrewj.com/blog/2017/integration-or-incantation/feed/0Singing With Each Otherhttp://www.andrewj.com/blog/2017/singing-with-each-other/
http://www.andrewj.com/blog/2017/singing-with-each-other/#respondSun, 08 Oct 2017 06:10:11 +0000http://www.andrewj.com/blog/?p=2025Continue reading →]]>We went to see The Hollies at G Live in Guildford last night. While the words and melodies were those we loved, and the instrumental performances were good, the trademark harmonies sounded, frankly, a bit flat, and I wondered if they had finally lost it.

Then, towards the end of the first set, they announced an experiment. They would sing a song around one microphone (“you know, like in the days when we only had one mike”). The three main vocalists moved together and sang Here I Go Again. Suddenly the sound was transformed. The magic was back. It sparkled. It flew. It disappeared, sadly, when the song ended and they moved back to their respective positions on the large stage.

If I had to characterise what happened, and I was being slightly harsh, I would say for short time they were singing together, but the rest of the time they were singing at the same time.

Now we know that G Live has an odd, flat, acoustic. We have seen experienced stand-up comedians struggle because they can’t hear the laughter, and other experienced musicians ask for monitor/foldback adjustments mid performance. However we seem to have really found the Achilles Heel of this otherwise good venue – it doesn’t work if you need to hear what other people are singing and wrap your voice around theirs.

Next time, guys, please just ignore the big stage and use one mike. We’ll love it!

]]>http://www.andrewj.com/blog/2017/singing-with-each-other/feed/0Collection, or Obsession?http://www.andrewj.com/blog/2017/collection-or-obsession/
http://www.andrewj.com/blog/2017/collection-or-obsession/#commentsTue, 15 Aug 2017 14:37:54 +0000http://www.andrewj.com/blog/?p=2021Continue reading →]]>I have decided to start another collection. Actually the real truth is that I’ve got a bit obsessive about something, and now I’m trying to put a bit of shape and control on it.

I don’t generally have an addictive personality but I do get occasional obsessions where I get one thing and then have to have more similar things, or research and build my kit ad infinitum, until the fascination wears off a bit. The trick is to make sure that it’s something I can afford, where ownership of multiple items makes some sense and where it is possible to dispose of the unwanted items without costing too much money.

Most of my collections involve clothing, where it makes reasonable sense to buy another T shirt, or bright jacket, or endangered species tie (of which I may well have the world’s largest collection). They can all be used, don’t take up too much space, and have some natural turnover as favourites wear out. Likewise I have a reasonable collection of malt whiskies, but I do steadily drink them.

Another trick is to make sure that the collection has a strong theme, which makes sure you stay focused, and which ideally limits the rate of acquisition to one compatible with your financial and storage resources. I don’t collect "ties", or even "animal ties", I collect Endangered Species ties, which only came from two companies and haven’t been made for several years. Likewise my jackets must have a single strong colour, and fit me, which narrows things down usefully.

The new collection got started innocently enough. For nearly 18 years my only "good" watch was a Rado Ceramica, a dual display model. About a year ago I started to fancy a change, not least because between changes in my sight, a dimming of the Rado’s digital display, and a lot of nights in a very dark hotel room I realised it was functioning more as jewellery than a reliable way of telling the time. So I wanted a new watch, but I wasn’t inspired as to what.

Then I watched Broken Arrow, and fell in lust with John Travolta’s Breitling Aerospace. The only challenge was that they are quite expensive items, and I wasn’t quite ready to make that purchase. In the meantime we watched Mission Impossible 5, and I was also quite impressed with Simon Pegg’s Tissot T-Touch. That was more readily satisfied, and I got hold of a second-hand one with nice titanium trim and a cheerful orange strap for about £200. This turned out to be an excellent "holiday" watch, tough, colourful and with lots of fun features including a thermometer, an altimeter/barometer, a compass, and a clever dual time zone system. That temporarily kept the lust at bay, but as quite a chunky device it wasn’t the whole solution.

The astute amongst you will have recognised that there a couple of things going on here which could be the start of a "theme". Firstly I very much like unusual materials: the titanium in all watches I’ve mentioned, the sapphire faces of the Breitling and the Rado and that watch’s hi-tech ceramic.

Second all these watches have a dual digital/analogue display. I’ve always liked that concept, ever since the inexpensive Casio watch which I wore for most of the 90s. Not only is it a style I like, it’s also now a disappearing one, being displaced by cleverer smartphones and smart watches. Of the mainstream manufacturers only Breitling and Tissot still make such watches. That makes older, rarer examples eminently collectable.

To refine the collection, there’s another dimension. I like my stuff to be unusual, ideally unique. Sometimes there’s a functional justification, like the modified keyboards on my MacBooks, but it’s also why my last two cars started off black and ended up being resprayed. Likewise, when I finally decided to take advantage of the cheap jewellery prices in Barbados and bought my Breitling I looked hard at the different colour options and ended up getting the vendor to track down the last Aerospace with a blue face and matching blue strap in the Caribbean.

Of course, if I’m being honest there’s a certain amount of rationalisation after the event going on here. What actually happened is that after buying the Breitling I got a bit obsessed and bought several and sold several cheaper watches before really formulating the rules of my collection. However I can now specify that any new entrant must be (unless I change the rules, which may happen at any time at the collector’s sole option ):

Dual display. That’s the theme, and I’m happy to stick to it, for now.

Functional and in good condition. These watches are going to be worn, and having tried to fix a duff one it’s not worth the effort.

Affordable. This is a collection for fun and function, not gain. While there’s a wide range between the cheapest and most expensive, most have cost around £200, and are at least second-hand.

The right size. With my relatively small hands and wrists, that means a maximum of about 44mm, but a minimum of about 37mm (below which the eyes may be more challenged). As I’m no fan of "knuckle dusters" most are no more than 11mm thick, although I’m slightly more flexible on that.

Beautiful, or really clever, or both. Like most men, a watch is my only jewellery, and I want to feel some pride of ownership and pleasure looking at it. Alternatively I’ll give a bit on that (just a bit) for a watch with unusual functionality or materials.

Ironically I’m not so insistent that it has to be a great "time telling" device. There are honourable exceptions (the Breitling), but there does seem to be a rough inverse relationship between a watch’s beauty and its clarity. I’m prepared to accommodate a range here, although it has to be said that most of the acquisitions beat the Rado in a dark room.

So will these conditions control my obsession, or inflame and challenge it? Time will tell, as will telling the time…

]]>http://www.andrewj.com/blog/2017/collection-or-obsession/feed/1Back to the Futurehttp://www.andrewj.com/blog/2017/back-to-the-future/
http://www.andrewj.com/blog/2017/back-to-the-future/#respondMon, 07 Aug 2017 20:59:35 +0000http://www.andrewj.com/blog/?p=2019Continue reading →]]>I’ve opined before about how Microsoft have made significant retrograde steps with recent versions of Office. However this morning they topped themselves when Office 2016 started complaining about not being activated, and the recommended, automated solution was to do a complete download and "click to run" installation of some weird version of Office 365 over the top of my current installation.

In the meantime, I’ve been working with a main client whose standard desktop is based on Office 2010, and, you know what, it’s just better.

I’ve had enough. Office 2016 and 2013 have been removed from the primary operating systems of all my machines. In the unlikely event that I need Office 2016 (and the only real candidate is Skype for Business), I’ll run it in a VM. Long live Office 2010!

I’m a drug dealer. I sell you a crack cocaine pipe complete with a packet of wraps for £220. It’s a good pipe (assuming that such things exist) – burns clean and always hits the spot (OK I’m making this bit up, it’s not exactly an area of first-hand knowledge.)

To make my business plan work the packet of wraps is half high quality crack cocaine and half icing sugar. You come back to me and I’m very happy to sell you another packet of wraps. This time the price is £340, again for half high quality crack and half icing sugar.

This business model is illegal and for a number of very good reasons.

OK here is a completely different business model, nothing at all like the last one:

I am a manufacturer of consumer electronics. To be specific I’m a Korean manufacturer of occasionally explosively good consumer electronics. I sell you a printer complete with a set of toner cartridges for £220. It’s a very good printer – quiet, reliable, lovely output (I’m on safer ground here.)

To make my business plan work I put a little circuit in each toner cartridge so that at 5000 pages it says that it’s empty even if it it’s still half full. You come back to me and I’m very happy to sell you another set of cartridges, this time the price is £340. Again each cartridge is wired to show empty even when it’s still half full.

For reasons I fail to understand this model is legal, certainly in the UK.

There is of course an answer but it feels morally wrong. I just put my perfectly good printer in the bin and buy a new one complete with toner cartridges. I have also found a little chap in China who for £40 will sell me a set of chips for the cartridges. Five minutes with a junior hacksaw and some blu-tack and I can double their life.

Maybe the answer is just to throw the printer away every time the cartridges are empty. Surely it is not sustainable for the manufacturer if everyone just does this. But it doesn’t feel right…

]]>http://www.andrewj.com/blog/2017/business-models/feed/1A "False Colour" Experimenthttp://www.andrewj.com/blog/2017/a-false-colour-experiment/
http://www.andrewj.com/blog/2017/a-false-colour-experiment/#respondThu, 06 Jul 2017 10:48:41 +0000http://www.andrewj.com/blog/?p=2013Continue reading →]]>This is a bit of an experiment, but I think it works. I started with an infrared image in its standard form: yellow skies and blue foliage. I then performed a series of fairly simple colour replacement operations in Photoshop Elements: yellow to red, blue in top half of image to dark green, blue in bottom half of image to pale green, red to blue. The result is a bit like a hand-coloured black and white image. I like it, do you?
]]>http://www.andrewj.com/blog/2017/a-false-colour-experiment/feed/0Infrared White Balancehttp://www.andrewj.com/blog/2017/infrared-white-balance/
http://www.andrewj.com/blog/2017/infrared-white-balance/#respondThu, 06 Jul 2017 09:39:53 +0000http://www.andrewj.com/blog/?p=2010Continue reading →]]>"I’m shooting infrared. My main output is RAW files, and any JPGs are just aides memoire. Between my raw processor and Photoshop I’m going to do some fancy channel mixing to either add false colour, or take it away entirely and generate a monochrome image. So I’m assuming my white balance doesn’t matter. Is that right?"

Nope, and this article explains why. If you’re struggling with, or puzzled by, the role of white balance in infrared photography, hopefully this will help untangle things.

]]>http://www.andrewj.com/blog/2017/infrared-white-balance/feed/0Liberation from the "Frightful Five"http://www.andrewj.com/blog/2017/liberation-from-the-frightful-five/
http://www.andrewj.com/blog/2017/liberation-from-the-frightful-five/#respondFri, 12 May 2017 07:41:46 +0000http://www.andrewj.com/blog/?p=2008Continue reading →]]>There’s an interesting NY Times article on our dependency on "Tech’s Frightful Five", which includes a little interactive assessment of whether you could liberate yourself, and if so in which order. I thought it would be interesting to document my own assessment.

FaceBook. No great loss. I’ve only started recently and I’m not a terribly social animal. I also have my own website and LinkedIn. Gone.

Apple. Momentary wrench. My only connection to Apple is my MacBook Pro laptop, which is a great bit of kit. However it runs Windows and I’m sure Dell or Sony could sell me a reasonable replacement, although I would really miss the large 16×10 Retina screen.

Alphabet/Google. Harder work, but straightforward. There are alternatives to Chrome as a browser, Google as a search engine, even Android as a phone/tablet operating system. It helps that Google has a bit of a track record of providing something you get to like, and then without warning disabling or crippling that rendering it of reduced or no value (think Android KitKat, Google Currents, I could go on). There’s a bit of work here, but it could be done.

And then I’m stuck. Like Farhad Manjoo Amazon has worked its way into a prime (or should that be "Prime") position in not only our shopping but also our viewing and reading habits. Yes, there are options, but the pain of transition would be substantial, and the loss of content (almost 400 Kindle books, Top Gear, Ripper Street and the Man in the High Castle among others) expensive. Amazon probably gets 4th place, but don’t ask me to do it! Steps 1-3 would leave me with an even heavier dependency than today on Windows and other Microsoft products and subsidiaries for all my day to day technical actions, and unless we’re going back to the Dark Ages I don’t see good alternatives, so Microsoft gets 5th by default, but it’s not really on the list. Well played, Bill.

Who are you most dependent on?

]]>http://www.andrewj.com/blog/2017/liberation-from-the-frightful-five/feed/0What Are Your Waypoints?http://www.andrewj.com/blog/2017/what-are-your-waypoints/
http://www.andrewj.com/blog/2017/what-are-your-waypoints/#respondSat, 22 Apr 2017 12:23:55 +0000http://www.andrewj.com/blog/?p=2004Continue reading →]]>How do you remember the waypoints and landmarks on a journey? What are the key features by which you can replay in your mind, or to someone else, where you went and what you did?

Like any good Englishman, I can navigate substantial sections of our sceptred isle by drinking establishment. This is, of course, a long tradition and officially recognised mechanism – it’s why British pubs have recognisable iconic signs, so that even if you were illiterate you could get yourself from inn to inn. It’s a bit more difficult today thanks to pub closures and the rise of pub chains with less distinguishable names, but it still works. Ask me to navigate you around Surrey, and there will be a lot of such landmarks in the discussion.

When I look back at other trips, especially to foreign parts, the mechanisms change. I can usually remember where I took favourite photographs, even without the GPS tagging, and I could immediately point to the locations of traumatic events whether in motion ("the Italian motorway with the big steel fences either side") or at rest ("the hotel with the sticky bathroom floor"). I also tend to hold in my head a sort of "moving map" picture of the journey’s flow, which might not be terribly accurate, but could be rendered more so quite quickly by studying a real map.

Frances, despite appearances to the contrary, navigates largely using food. Yesterday we had a typical example: "do you remember that lovely town square where we had breakfast in front of the town hall and we had to ask them whether they had real eggs because the powdered eggs were disagreeing with me? I think it was on the Washington trip." This was a challenge. "Breakfast" was probably right, so that narrowed things down a bit. "The Washington trip" was probably correct, but I have learned to treat such information with an element of caution.

At this point we had therefore to marry up two different reference systems, and try and work out where they overlapped. My first pass was to run the moving map of the Washington trip in my head, and call out the towns where we stayed. That eliminated a couple of stops, where we could both remember the breakfast arrangements (the very good restaurant at the Peaks of Otter Lodge, and a nice diner in Gatlinburg), but we were still missing an obvious match.

Then Frances said "I think we had to drive out of town for a bit because we’d had to change our route". Bingo! This now triggered the "traumatic event" register in my mind, specifically listening to a charming young lady in Nashville singing a song about the journey of a bottle of Jack Daniels, and suddenly realising I had put the wrong bloody Lynchburg on our route! Over dinner I had to do a quick replan and include Lynchburg Tennessee as well as Lynchburg Virginia in our itinerary. That meant an early start from Nashville next morning, heading south rather than directly east, and half-way to Lynchburg (the one with the Jack Daniels distillery) we stopped for breakfast because the offering at the hotel had looked very grim. Got there in the end.

(If you’re wondering, I do actually have a photographic record of this event. The young lady above is the one who sang the song with the critical routeing information.)

We’ve also had "that restaurant where we were the only white faces and the manager kept asking if we were OK" (Memphis, near Gracelands), and "that little store where they did the pulled pork sandwiches and the woman’s daughter lived in Birmingham" (Vesuvius, Virginia). In fairness to my wife, she can also accurately recall details of most of our retail transactions on each trip, including the unsuccessful ones. ("That town where we bought my Kokopeli material, and the old lady had to run across the street although there was no traffic"). Again there’s the challenge of marrying these up with my frame of reference, but the poor old lady in Cortez, Colorado, desperately trying to beat the count down timer on the pedestrian crossing, despite a traffic level of about 1 vehicle a minute, sticks in my mind as well, so that one was easy. Admittedly, I remember Cortez as "that nice town just outside Mesa Verde", but that’s me.

What’s your frame of reference?

]]>http://www.andrewj.com/blog/2017/what-are-your-waypoints/feed/0How Strong Is Your Programming Language?http://www.andrewj.com/blog/2017/how-strong-is-your-programming-language/
http://www.andrewj.com/blog/2017/how-strong-is-your-programming-language/#respondMon, 20 Mar 2017 10:05:02 +0000http://www.andrewj.com/blog/?p=1999Continue reading →]]>I write this with slight trepidation as I don’t want to provoke a "religious" discussion. I would appreciate comments focused on the engineering issues I have highlighted.

I’m in the middle of learning some new programming tools and languages, and my observations are coalescing around a metric which I haven’t seen assessed elsewhere. I’m going to call this "strength", as in "steel is strong", defined as the extent to which a programming language and its standard tooling avoid wasted effort and prevent errors. Essentially, "how hard is it to break?". This is not about the "power" or "reach" of a language, or its performance, although typically these correlate quite well with "strength". Neither does it include other considerations such as portability, tool cost or ease of deployment, which might be important in a specific choice. This is about the extent to which avoidable mistakes are actively avoided, thereby promoting developer productivity and low error rates.

I freely acknowledge that most languages have their place, and that it is perfectly possible to write good, solid code with a "weaker" language, as measured by this metric. It’s just harder than it has to be, especially if you are free to choose a stronger one.

I have identified the following factors which contribute to the strength of a language:

1. Explicit variable and type declaration

Together with case sensitivity issues, this is the primary cause of "silly" errors. If I start with a variable called FieldStrength and then accidentally refer to FeildStrength, and this can get through the editing and compile processes and throw a runtime error because I’m trying to use an undefined value then then programming "language" doesn’t deserve the label. In a strong language, this will be immediately questioned at edit time, because each variable must be explicitly defined, with a meaningful and clear type. Named types are better than those assigned by, for example, using multiple different types of brackets in the declaration.

2 Strong typing and early binding

Each variable’s type should be used by the editor to only allow code which invokes valid operations. To maximise the value of this the language and tooling should promote strong, "early bound" types in favour of weaker generic types: VehicleData not object or var. Generic objects and late binding have their place, in specific cases where code must handle incoming values whose type is not known until runtime, but the editor and language standards should then promote the practice of converting these to a strong type at the earliest practical opportunity.

Alongside this, the majority of type conversions should be explicit in code. Those which are always "safe" (e.g. from an integer to a floating point value, or from a strong type to a generic object) may be implicit, but all others should be spelt out in code with the ability to trap errors if they occur.

3. Intelligent case insensitivity

As noted above, this is a primary cause of "silly" errors. The worst case is a language which allows unintentional case errors at edit time and through deployment, and then throws runtime errors when things don’t match. Such a language isn’t worth the name. Best case is a language where the developer can choose meaningful capitalisation for clarity when defining methods and data structures, and the tools automatically correct any minor case issues as the developer references them, but if the items are accessed via a mechanism which cannot be corrected (e.g. via a text string passed from external sources), that’s case insensitive. In this best case the editor and compiler will reject any two definitions with overlapping scope which differ only in case, and require a stronger differentiation.

Somewhere between these extremes a language may be case sensitive but require explicit variable and method declaration and flag any mismatches at edit time. That’s weaker, as it becomes possible to have overlapping identifiers and accidentally invoke the wrong one, but it’s better than nothing.

4. Lack of "cruft", and elimination of "ambiguous cruft"

By "cruft", I mean all those language elements which are not strictly necessary for a human reader or an intelligent compiler/interpreter to unambiguously understand the code’s intent, but which the language’s syntax requires. They increase the programmer’s work, and each extra element introduces another opportunity for errors. Semicolons at the ends of statements, brackets everywhere and multiply repeated type names are good (or should that be bad?) examples. If I forget the semicolon but the statement fits on one line and otherwise makes syntactic sense then then code should work without it, or the tooling should insert it automatically.

However, the worse issue is what I have termed "ambiguous cruft", where it’s relatively easy to make an error in this stuff which takes time to track down and correct. My personal bête noire is the chain of multiple closing curly brackets at the end of a complex C-like code block or JSON file, where it’s very easy to mis-count and end up with the wrong nesting. Contrast this with the explicit End XXX statements of VB.Net or name-matched closing tags of XML. Another example is where an identifier may or may not be followed by a pair of empty parentheses, but the two cases have different meanings: another error waiting to occur.

5. Automated dependency checking

Not a lot to say about this one. The compile/deploy stage should not allow through any code without all its dependencies being identified and appropriately handled. It just beggars belief that in 2017 we still have substantial volumes of work in environments which don’t guarantee this.

6. Edit and continue debugging

Single-stepping code is still one of the most powerful ways to check that it actually does what you intend, or to track down more complex errors. What is annoying is when this process indicates the error, but it requires a lengthy stop/edit/recompile/retest cycle to fix a minor problem, or when even a small exception causes the entire debug session to terminate. Best practice, although rare, is "edit and continue" support which allows code to be changed during a debug session. Worst case is where there’s no effective single-step debug support.

Some Assessments

Having defined the metric, here’s an attempt to assess some languages I know using it.

It will come as no surprise to those who know me that I give VB.Net a rating of Very Strong. It scores almost 100% on all the factors above, in particular being one of very few languages to express the outlined best practice approach to case sensitivity . Although fans of more "symbolic" languages derived from C may not like the way things are spelled out in words, the number of "tokens" required to achieve things is very low, with minimal "cruft". For example, creating a variable as a new instance of a specific type takes exactly 5 tokens in VB.Net, including explicit scope control if required and with the type name (often the longest token) used once. The same takes at least 6 tokens plus a semicolon in Java or C#, with the type name repeated at least once. As noted above, elements like code block ends are clear and specific removing a common cause of silly errors.

Is VB.Net perfect? No. For example if I had a free hand I would be tempted to make the declaration of variables for collections or similar automatically create a new instance of the appropriate type rather than requiring explicit initiation, as this is a common source of errors (albeit well flagged by the editor and easily fixed). It allows some implicit type conversions which can cause problems, albeit rarely. However it’s pretty "bomb proof". I acknowledge there may be some cause and effect interplay going on here: it’s my language of choice because I’m sensitive to these issues, but I’m sensitive to these issues because the language I know best does them well and I miss that when working in other contexts.

It’s worth noting that these strengths relate to the language and are not restricted to expensive tools from "Big bad Microsoft". For example the same statements can be made for the excellent VB-based B4X Suite from tiny Israeli software house Anywhere Software, which uses Java as a runtime, executes on almost any platform, and includes remarkable edit and continue features for software which is being developed on PC but running on a mobile device.

I would rate Java and C# slightly lower as Pretty Strong. As fully compiled, strongly typed languages many potential error sources are caught at compile time if not earlier. However, the case-sensitivity and the reliance on additional, arguably redundant "punctuation" are both common sources of errors, as noted above. Tool support is also maybe a notch down: for example while the VB.Net editor can automatically correct minor errors such as the case of an identifier or missing parentheses, the C# editor either can’t do this, or it’s turned off and well hidden. On a positive note, both languages enforce slightly more rigor on type conversions. Score 4.5 out of 6?

Strongly-typed interpreted languages such as Python get a Moderate rating. The big issue is that the combination of implicit variable declaration and case sensitivity allow through far too many "silly" errors which cause runtime failures. "Cruft" is minimal, but the reliance on punctuation variations to distinguish the declaration and use of different collection types can be tricky. The use of indentation levels to distinguish code blocks is clear and reasonably unambiguous, but can be vulnerable to editors invisibly changing whitespace (e.g. converting tabs to spaces). On a positive note the better editors make good use of the strong typing to help the developer navigate and use the class structure. I also like the strong separation of concerns in the Django/Jinja development model, which echoes that of ASP.Net or Java Server Faces. I haven’t yet found an environment which offers edit and continue debugging, or graceful handling of runtime exceptions, but my investigations continue. Score 2.5 out of 6?

Weakly-typed scripting languages such as JavaScript or PHP are Weak, and in my experience highly error prone, offering almost none of the protections of a strong language as outlined above. While I am fully aware that like King Canute, I am powerless to stop the incoming tide of these languages, I would like to hope that maybe a few of those who promote their use might read this article, and take a minute to consider the possible benefits of a stronger choice.

Final Thoughts

There’s a lot of fashion in development, but like massive platforms and enormous flares, not all fashions are sensible ones… We need a return to treating development as an engineering discipline, and part of that may be choosing languages and tools which actively help us to avoid mistakes. I hope this concept of a "strength" metric might help promote such thinking.

]]>http://www.andrewj.com/blog/2017/how-strong-is-your-programming-language/feed/03D Photos from Myanmarhttp://www.andrewj.com/blog/2017/3d-photos-from-myanmar/
http://www.andrewj.com/blog/2017/3d-photos-from-myanmar/#respondSat, 11 Mar 2017 08:21:45 +0000http://www.andrewj.com/blog/?p=1996Continue reading →]]>I’ve just finished processing my 3D shots from Myanmar. If you have a 3D TV or VR goggles, download a couple of the files from the following link and have a look.

]]>http://www.andrewj.com/blog/2017/3d-photos-from-myanmar/feed/0Why I (Still) Do Programminghttp://www.andrewj.com/blog/2017/why-i-still-do-programming/
http://www.andrewj.com/blog/2017/why-i-still-do-programming/#respondMon, 06 Mar 2017 13:54:39 +0000http://www.andrewj.com/blog/?p=1993Continue reading →]]>It’s an oddity that although I sell most of my time as a senior software architect, and can also afford to purchase software I need, I still spend a lot of time programming, writing code. Twenty-five years ago people a little older than I was then frequently told me “I stopped writing code a long time ago, you will probably be the same”, but it’s just turned out to be completely untrue. It’s not even that I only do it for a hobby or personal projects, I work some hands-on development into the majority of my professional engagements. Why?

At the risk of mis-quoting the Bible, the answer is legion, for they are many…

To get the functionality I want

I have always been a believer in getting computers to automate repetitive actions, something they are supremely good at. At the same time I have a very low patience threshold for undertaking repetitive tasks myself. If I can find an existing software solution great, but if not I will seriously consider writing one, or at the very least the “scaffolding” to integrate available tools into a smooth process. What often happens is I find a partial solution first, but as I get tired of working around its limitations I get to the point where I say “to hell with this, I’ll write my own”. This is more commonly a justification for personal projects, but there have been cases where I have filled gaps in client projects on this basis.

Related to this, if I need to quickly get a result in a complex calculation or piece of data processing, I’m happy to jump into a suitable macro language (or just VB) to get it, even for a single execution. Computers are faster than people, as long as it doesn’t take too long to set the process up.

To explore complex problems

While I am a great believer in the value of analysis and modelling, I acknowledge that words and diagrams have their limits in the case of the most complicated problem domains, and may be fundamentally difficult to formulate and communicate for complex and chaotic problem domains (using all these terms in their formal sense, and as they are used in the Cynefin framework, see here).

Even a low-functionality prototype may do more to elicit an understanding of a complex requirement than a lot of words and pictures: that’s one reason why agile methods have become so popular. The challenge is to strike a balance, and make sure that an analytical understanding does genuinely emerge, rather than just being buried in the code and my head. That’s why I am always keen to generate genuine models and documentation off the back of any such prototype.

The other case in which I may jump into code is if the dynamic behaviour of a system or process is difficult to model, and a simulation may be a valid way of exploring it. This may just be the implementation of a mathematical model, for example a Monte Carlo simulation, but I have also found myself building dynamic visual models of complex interactions.

To prove my ideas

Part of the value I bring to professional engagements is experience or knowledge of a range of architectural solutions, and the willingness to invoke unusual approaches if I think they are a good fit to a challenge. However it’s not unusual to find that other architects or developers are resistant to less traditional approaches, or those outside their comfort zones. Models and PowerPoint can go only so far in such situations, and a working proof of concept can be a very persuasive tool. Conversely, if I find that it isn’t as easy or as effective as I’d hoped, then “prove” takes on its older meaning of “test” and I may be the one being persuaded. I’m a scientist, so that’s fine too.

To prove or assess a technology

Related to the last, I have found by hard-won experience that vendors consistently overstate the capabilities of their solutions, and a quick proof of concept can be very powerful in confirming or refuting a proposed solution, establishing its limitations or narrowing down options.

A variant on this is where I need to measure myself, or others, for example to calibrate what might or might not be adequate productivity in a given situation.

To prove I can

While I am sceptical of overstated claims, I am equally suspicious if I think something should be achievable, and someone else says “that’s not possible”. Many projects both professional and personal have started from the assertion that “X is impossible”, and my disbelief in that. I get a great kick from bending technology to my will. To quote Deep Purple’s famously filthy song, Knocking At Your Back Door, itself a exploration into the limits of possibility (with censorship), “It’s not the kill, it’s the thrill of the chase.”.

In the modern world of agile development processes, architect and analyst roles are becoming blurred with that of “developer”. I have always straddled that boundary, and proving my development abilities my help my credibility with development teams, allowing me to engage at a lower level of detail when necessary. My ability to program makes me a better architect, at the same time as architecture knowledge makes me a better programmer.

To make money?

Maybe. If a development activity can help to sell my skills, or advance a client’s project, then it’s just part of my professional service offering, and on the same commercial basis as the rest. That’s great, especially if I can charge a rate commensurate with the bundle of skills, not just coding. My output may be part of the overall product or solution or a enduring utility, but more often any development I do is merely the means to an end which is a design, proof of concept, or measurement.

On the other hand, quite a lot of what I do makes little or no money. The stuff I build for my own purposes costs me little, but has a substantial opportunity cost if I could use the time another way, and I will usually buy a commercial solution if one exists. The total income from all my app and plugin development over the years has been a few hundred pounds, probably less than I’ve paid out for related tools and components. This is a “hobby with benefits”, not an income stream.

Because I enjoy it

This is perhaps the nub of the case: programming is something I enjoy doing. It’s a creative act, and puts my mind into a state I enjoy, solving problems, mastering technologies and creating an artefact of value from (usually) a blank sheet. It’s good mental exercise, and like any skill, if you want to retain it you have to keep in practice. The challenge is to do it in the right cases and at the right times, and remember that sometimes I really should be doing something else!

]]>http://www.andrewj.com/blog/2017/why-i-still-do-programming/feed/0Travel Blogging and Photo Editinghttp://www.andrewj.com/blog/2017/travel-blogging-and-photo-editing/
http://www.andrewj.com/blog/2017/travel-blogging-and-photo-editing/#respondMon, 06 Mar 2017 11:40:33 +0000http://www.andrewj.com/blog/?p=1990Continue reading →]]>I’ve been asked a number of times recently how I manage to write my blog during the often hectic schedule of my trips. It is sometimes a challenge, but it’s something that I want to do, and so I make it a priority for any "down time". I don’t see it as a chore, but as a way of enhancing my enjoyment, re-living the best experiences, working through any frustrations, and building valuable memories. If I’m travelling without Frances then there’s a lot of overlap with my report home, and if we’re travelling together then drafting the blog has become an enjoyable joint activity for coffee stops and dinner times.

That said, there are a few tricks to make the task manageable, and I’m happy to pass on some of those I have developed.

There’s no great magic to the writing. The main ingredient is practice. However I do spend quite a lot of time thinking through what to say about a day, trying to draft suitable paragraphs in my mind. If it was good enough for Gideon it’s good enough for me :). It is useful to capture ideas and even draft words whenever you get an opportunity, even on the go: travel time in buses and coffee stops are ideal. I just start drafting an email to myself on my phone, which can be saved at any time, reopened to add more as the day goes on, and sent before I start writing the blog.

The other important tool is a blogging app on your device which works offline and can save multiple drafts locally. I use the excellent Microsoft Live Writer on my PC, and the WordPress app on my phone and tablet, but any decent text editor would do. I would strongly counsel against trying to do travel blogging directly onto an online service – you will just be too obstructed by connectivity challenges.

Images are the other part of the equation. It’s very easy to be overwhelmed by the sheer volume of images, especially if you shoot prolifically like I tend to do, and if you have a relatively slow processing workflow. The first trick is to shoot RAW+JPG, so you always have something which you can share and post, even if it’s not perfect. As I observed in a previous post, you don’t need perfect in this context, and it would be rare if you didn’t from a day’s shooting have a least one image good enough in camera to share.

However, as long as I have at least some time, I do try to perform a basic edit (filter) on my shots, and process at least the one or two I want to publish to my blog. That requires a robust but quick and efficient workflow. Different photographers work different ways, but the following describes mine.

Importantly, I don’t use LightRoom or the image management features in Photoshop. Neither do I use Capture One’s catalogue features. All my image management takes place directly in Windows, supported by the excellent XnView and a few tools of my own making. I find that this is both quicker, and puts me in direct control of the process, rather than at the mercy of a model which might not suit.

The first step is to copy (not move) the images off the memory card. If I have only used one card in a session, I find it perfectly adequate to just connect the camera via USB – this works quite quickly, and avoids fiddling with card readers. As long as I have sufficient cards I don’t re-format them until I’m home (just in case something happens to the PC), nor do I do much in-camera deleting, which is very cumbersome.

In terms of organisation I have a top-level directory on each laptop called "Pictures" under which is a directory called "Incoming". This is synchronised across all my computers, and holds all "work in progress". Under that I have two master directories for each year or major trip, and then subdirectories for each event. So for Myanmar I will have top level directories called "Myanmar 2017" (for output files and fully-processed originals) and "Myanmar 2017 – Incoming" (for work in progress). Under the latter I would typically have a directory for the images from each day’s shooting, e.g. "Lake Inle Day 2". On the "output" side I will typically have a directory for each location, plus one for all the originals (RAW files and Capture One settings), but I could easily also end up with others for video, and particular events or topics such as the group.

Having copied the pictures over to the right working directory, I fire up XnView. The first step is to run a batch rename process which sets each image filename to my standard, which includes the date (in YYYYMMDD format), the camera and the number assigned by the camera, so all shots from a given camera will always sort alphabetically in shot order, and I can immediately see when an image was taken and on which camera. After that I run a script which moves all "multi-shot" images into sub-directories by type (I shoot panoramas, HDR, focus blends and 3D images each using a distinct custom mode on the camera) and takes these out of the main editing workflow.

The next step is to "edit" the images, by which I mean filtering out the bad, poor, and very good. Because I have JPG files for each shot, I can set XnView to sort by file type, and quickly scan all the JPG files in full screen mode, tagging each (using shortcut keys) on the following scheme:

Two stars means "delete". This is for images which are beyond use: out of focus, blurred, subject not fully in the frame. These will be moved to the wastebasket, and once that’s emptied, they are gone forever.

Three stars means "others". This is for images which are technically viable but which I don’t think merit processing. The obvious candidates are things like alternative people shots where the expressions weren’t ideal (but I have a better shot) or where I took a few slightly different compositions and some obviously don’t work. However this is also where I park duplicates or the unwanted frames from high-speed sequences. When I get home the JPGs will be deleted and the RAW files moved to an old external hard drive to free up disk space.

Four stars means "OK". This is for technically and compositionally adequate images, albeit which may not be the best, or may need substantial processing work.

Five stars means "good". These are the images which leap out at a quick viewing as "yes, that’s going to work".

Having tagged the images in the working folder, I have another script which deletes the two star images, moves the "others", and creates a .XMP file marking the five star images with a colour tag which can be read by Capture One. I can also copy the in-camera JPG versions of the 5 star images as a starting point for my portfolio, although these will be replaced by processed versions later.

The thing about the tagging process is to keep going, quickly, but err on the side of caution (so tag borderline delete as 3 star, and borderline others as 4 star). I can usually work through at an image every one or two seconds, so the first filter of an intensive shoot of 500 images takes less than 20 minutes. At this point I have typically reduced the retained images by 40-60%, but that varies by subject matter and the percentage of rejects can be much higher for challenging subjects such as high-speed action but also people other than professional models, where a lot get rejected for poor expressions. The reason I’ve chosen the image at the top is that I love trying to capture hands at work, but that’s another subject with a high "miss" rate. I also find that I fairly consistently mark about 4-5% of shots as 5 star.

I don’t just delete the "others", because there is the occasional case where my selected shot of a group turns out to have a major flaw, and it’s worth reviewing the options. More importantly, for family events, weddings and the like there’s the occasional "didn’t anyone take a picture of Aunty Ethel?" I rescued a friend of mine from a serious family bust-up when it emerged that the official photographer at his wedding hadn’t taken a single photo of my friend, the groom’s parents! On the case, I found a shot in "others" which after processing kept everyone happy.

At this point, and only then, I start up Capture One and navigate to the target working directory. It takes a minute or two to perform its first scan, and then I can change the sort order to "colour tag", and there are the best of the day’s images, right at the top of the list ready to select a couple for the blog and process them. 90% of the time I restrict processing changes to the crop and exposure (levels and curves) – I wouldn’t usually select for the blog any image needing more than that. Finish the words, and I’m ready to post my blog.

From plugging in the camera to posting typically takes around an hour. There’s some scope for multi-tasking, so I can work on the words (or get a cup of tea) while the images are downloading from the camera, or while posting the images to my website (which in my case is a separate step from posting the blog). As a by-product, I have performed my first edit on the shoot, and have more or less the best images prioritised for further processing.

And I have an enduring and sharable record of what I did on my holidays!

]]>http://www.andrewj.com/blog/2017/travel-blogging-and-photo-editing/feed/0The Perfect is the Enemy of the Goodhttp://www.andrewj.com/blog/2017/the-perfect-is-the-enemy-of-the-good/
http://www.andrewj.com/blog/2017/the-perfect-is-the-enemy-of-the-good/#respondMon, 27 Feb 2017 10:40:37 +0000http://www.andrewj.com/blog/?p=1986Continue reading →]]>The Perfect is the Enemy of the Good. I’m not sure who first explained this to me, but I’m pretty sure it was my school metalwork teacher, Mr Bickle. Physically and vocally he was a cross between Nigel Green and Brian Blessed, and the rumour that he had been a Regimental Sergeant Major during the war was perfectly credible, especially when he was controlling a vast playing field full of chatty children without benefit of a bell or megaphone. However behind the forbidding exterior was a kindly man and a good teacher. When my first attempt at enamel work went a bit wrong, and some of the enamel ended up on the rear of the spoon, I was very upset. He kindly pointed out that it was still a good effort, and the flaw "added character". My mother, another teacher, agreed, and the spoon is still on her kitchen windowsill 45 years later.

I learned an important lesson: things don’t need to be perfect to be "good enough", and it’s better to move on and do something else good than to agonise over imperfections.

I also quickly found that this is a good exam strategy: 16/20 in all five questions is potentially top marks, whereas 20/20 in one and insufficient time for the others could mean a failure. The same is true in some (not all) sports: the strongman who is second in every event may go home with the title.

Later, in my training as a physicist and engineer, I learned a related lesson. There’s no such thing as an exact measurement or a perfectly accurate construction. I learned to think in terms of errors, variances and tolerances, and to understand their net effect on an overall result. When in my late 20s I did some formal Quality Management training the same message emerged a different way: in industrial QA you’re most interested in ensuring that all output meets a defined, measureable standard, and the last thing you want is an individual perfectionist obstructing the process.

Seeking perfection can easily lead to a very low (if high quality) output, and missed opportunities. It also risks absolute failure, as perfectionists often have no "Plan B" and limited if any ability to adapt to changing circumstances. "Very good", on the other hand, is an easy bedfellow with high productivity and planning for contingencies and changes.

I adopt this view in pretty much everything I do: professional work, hobbies, DIY, commercial relationships, entertainment. I hold myself and others to high standards, but I have learned to be tolerant of the odd imperfection. This does mean living with the occasional annoying wrinkle, but I judge that to be an acceptable compromise within overall achievement and satisfaction. Practice, criticism (from self and others) and active continuous improvement are still essential, but I expect them to make me better, not perfect.

The trick, of course, is to define and quantify what is "good enough". I then expect important deficiencies against such a target to be rectified promptly, correctly and completely. In my own work, this means allowing some room for change and correction, whether it’s circulating an early draft of a document to key reviewers, or making sure that I can easily reach plumbing pipework. If something must be "set in stone" then it has to be right, and whatever early checks and tests are possible are essential, but it’s much better to understand and allow for change and adjustment.

In the work of others, it means setting or understanding appropriate standards, and then living by them. After I had my car resprayed, I noticed a small run in the paint on the bonnet. Would I prefer this hadn’t happened? Yes. Does it prevent me enjoying my unique car and cheerfully recommending the guys who did the work? No. Professionally I can and will be highly critical of sloppy, incomplete or inaccurate work, but I will be understanding of odd errors in presentation or detail, providing that they don’t affect the overall result or number too many (which is in turn another indicator of poor underlying quality).

So why have I written this now, why have I tagged it as part of my Myanmar photo blog, and why is there a picture of the Buddha at the top? In photography, there are those who seek to create a small number of "perfect" images. They can get very upset if circumstances prevent them from doing so. My aim is instead to accept the conditions, get a good image if I can, and then move on to the next opportunity. At the Pa-Hto-Thar-Myar Pagoda I (stupidly) arrived without my tripod, and had to get the pictures resting my camera on any convenient support using the self timer to avoid shake, in this case flat on its back on my camera bag on the temple floor. Is this the best possible image from that location? Probably not. Am I happy with it? Yes, and if I have correctly understood Buddhist principles, I think the Buddha would approve as well.

It is in humanity’s interest that in some fields of artistic endeavour, there are those who seek perfection. For the rest of us, perfection is the wrong target.

]]>http://www.andrewj.com/blog/2017/the-perfect-is-the-enemy-of-the-good/feed/0Myanmar Musings (What Worked and What Didn’t)http://www.andrewj.com/blog/2017/myanmar-musings-what-worked-and-what-didnt/
http://www.andrewj.com/blog/2017/myanmar-musings-what-worked-and-what-didnt/#respondThu, 23 Feb 2017 14:02:00 +0000http://www.andrewj.com/blog/?p=1982Continue reading →]]>Well, I’m back! Apart from a mad dash the length of Bangkok airport which got us to our plane to the UK with only a couple of minutes to spare, the flights home were uneventful and timely. Here’s my traditional tail-end blog piece, with a combination of “what worked and what didn’t” and more general musings.

This was a truly inspiring photographic trip, with a combination of great locations, events and people to photograph. We had a very capable “leadership team” who got us to great locations in great light, and the Burmese people were only too happy to participate in the process. No praise can be too high for our local guide, Nay Win Oo (Shine), who is not only a great guide and competent logistician, but has a good feel for what makes great photography, and a real talent for directing the local people as models.

If I have a minor complaint, it’s the observation that the trip was largely focused on interiors and people to the occasional exclusion of landscapes and architecture. I had to declare UDI a couple of times to get a bit more of the latter subject matter in front of my lens. Bhutan was perhaps a better match to my own style, but that didn’t stop this trip being a great source of images.

Cameras and Shot Count

The Panasonic GX8 was the workhorse of the trip, and took approximately 3690 exposures. That’s about 20% higher than either Bhutan or Morocco, both of which were slightly longer trips, and reflects the more “interactive” nature of the photography, with a rather higher discard ratio than normal. As usual the total also includes raw material for quite a lot of multi-exposure images, mainly for 3D and panoramas. I expect to end up with 100-200 images worth sharing, which is about the norm.

I took around 84 stills on the Sony RX100, mainly “grab shots” from the bus, but it came into its own for video, and I have a number of great video clips, more than on previous trips. I also took a handful of images using the infrared-converted Panasonic GX7, but whether due to the subject matter or the lighting they weren’t terribly inspiring.

I used my Ricoh Theta 360-degree camera several times, mainly in the markets and at the group mealtimes. I’m treating this as “found photography” – I haven’t had much of a look yet at what was captured, and will look forward to exploring the output over time.

My equipment all behaved faultlessly. I used all the lenses a reasonable amount, with the Panasonic 12-35mm doing the lion’s share as expected, but the 7-14mm, 35-100mm and 100-300mm all getting substantial use. I didn’t use the camera on my new Sony Experia Ultra phone, but its excellent GPS was a vast improvement over the Galaxy Note’s poor performance in Bhutan.

I also did not use the Panasonic GX7 which I was carrying as a spare, but was able to lend it as a complete solution to another member of the group when her Canon L Series zoom lens started misbehaving. Having been burned previously I always carry a spare everything, and that’s a lot easier with the diminutive Panasonic kit.

Human Factors

While technology was broadly reliable, human systems were more challenged. The combined effects of the intensive schedule and the expected risk of tummy bugs led to as fairly high attrition rate. At least half the group missed a shoot or a meal, and a couple were quite ill for a couple of days. I was lucky that my own “wobble” was brief and started within a quick walk of a five star hotel. I would advise most travellers to think in terms of “when” not “if”, and definitely avoid all uncooked food.

Hotels and restaurants were clean, and even out and about most washrooms were acceptable. Similarly temple areas were kept clean, with the fact that all shoes are removed at the entrance a clear contributor. The challenge is in the more general areas, especially in the towns and cities, where any surface you touch may also have been touched by many others. Money is a particular challenge. All you can do is to keep sanitising your hands, but also bags, cameras, wallets and other items which you may have to touch with dirty hands.

Our Burmese travel agents certainly did everything they could to reduce stress. Once we arrived in Burma responsibility for our large luggage and travel documents began and ended with putting our bags outside the room at the appointed time. Then we just got on the bus, walked through the airport picking up a boarding pass as we passed Shine, and that’s about it! I could get used to travelling that way…

With someone else doing the “heavy lifting” (quite literally in the case of my case), you can get around with two phrases and 3 gestures:

Minga-la-ba, which is a polite “good day” exchanged between any two people who make eye contact. The choruses in the school and markets were fascinating! This can be used to cover a multitude of sins, and works very well as “please can I take your photograph?”

Che-su-ba, which means “thank you”. ‘Nuff said.

The smiley face and thumbs up, which work when you’re not close enough to use Minga-la-ba and che-su-ba.

A gesture consisting of the left hand held out at table level, palm up, with the right hand held about a foot above it, palm down. This is universally interpreted as “I would like a large Myanman beer, please”

Burmese Bizarre

Myanmar is a bit bizarre in a number of ways. Let’s start with the name. Myanmar (pronounce “mee…” not “my…”) is a relatively recent invention, and is not universally adopted. It doesn’t help that Aung San Suu Kyi (the popular and de-facto leader) tends to use “Burma” herself, and there’s no common adjective derived from Myanmar, whereas “Burmese” works, and is officially valid if it relates to the dominant ethnic group and language. It wouldn’t surprise me if “Myanmar” goes the way of “Zaire” and “Tanganyika”, and we’re all back to “Burma” in a few years.

The Burmese really do “drive on the wrong side of the road”. In another anti-colonial dictat a few years ago, one of the madder generals decided to change from the British practice, and instructed the country to drive on the right. On it’s own, that’s not a problem. It works fairly well for the Americas and most of Europe. However the Burmese are trying to do it with the same almost completely right-hand-drive vehicle supply as the rest of Asia and Australasia. So all of the drivers are unable to see round corners or larger vehicles in front, and every bus has a “driver’s assistant” who’s main job is to stop passengers being mown down by passing traffic as they disembark into the middle of the road!

At a daily level Myanmar is almost entirely cash-based, with effectively three currencies in circulation. Major tourist transactions are conducted in US Dollars. These must be large denominations and absolutely pristine – they may be rejected for a tiny mark or fold. Next down, most day to day transactions by tourists and the more wealthy are conducted in Kyat (pronounced “Chat”), in round units of 1000 Kyat (about 60p). 10,000K and 5,000K notes tend to also be quite tidy. Transactions with and between the poorer people are in tens or hundreds of Kyat and the money is quite different. It’s absolutely disgusting, clearly and literally passing through a lot of hands in its lifetime. It’s all slightly reminiscent of the two currency system in Cuba, but with one currency used two distinct ways.

Uniquely among the countries I have visited, Myanmar has no international GSM roaming. However we had good straightforward Wifi connectivity at reasonable speeds and without any obvious restrictions at all the hotels and in several other locations. I suspect this is a transitional state, as the enthusiastic adoption of mobile phones in the local population will inevitably drive a standard solution fairly rapidly.

One thing which did amuse me – one of the primary providers of Internet services is a company called SkyNet. Shine say’s they’ve all seen the films, so I’m assuming the founder is a Terminator fan…

The usual Asian approach of throwing people at any problem showed mixed results. Bangkok Airport is an enormous hub trying to run on small site processes which don’t scale just by adding people. The role of “bus driver’s assistant” does find employment for young lads with a helpful attitude but few exams. However we did have one very delayed meal where the problem seemed to be one of short staffing, despite a lot of people milling around the restaurant with nothing to do, most of the order taking, cooking and serving was being done by one or two individuals who were run ragged. It will be interesting to see how the approaches vary as the economy grows.

Guide books describe the food as “a rich fusion of unusual flavours” and “a repertoire of ingredients not found in any other cuisine”. Yeah, right. I’ll admit that I was being a bit cautious and avoided some of the more unusual fish and hot curry dishes, but basically it was Chinese or Thai food with a few local variations (more pineapple), alongside a number of Indian, Italian and Anglo-American favourites. One member of our group survived almost the whole trip on chicken and cashew nuts, and I’ll admit to a couple of pizzas!

To Sum Up

]]>http://www.andrewj.com/blog/2017/myanmar-musings-what-worked-and-what-didnt/feed/0The World’s Worst Panorama – 2017http://www.andrewj.com/blog/2017/the-worlds-worst-panorama-2017/
http://www.andrewj.com/blog/2017/the-worlds-worst-panorama-2017/#respondWed, 22 Feb 2017 17:17:10 +0000http://www.andrewj.com/blog/?p=1979Continue reading →]]>As per tradition, I’ve compiled a group photograph from a series of hand-held shots taken by the members of the group in turn, in low light and high alcohol conditions. I’m moderately pleased with this year’s which was taken using the Sony RX100.

Please just don’t try and match up the beer bottles or count the legs too closely!

]]>http://www.andrewj.com/blog/2017/the-worlds-worst-panorama-2017/feed/0The Oldest Established Permanent Floating Crap Game in New Yorkhttp://www.andrewj.com/blog/2017/the-oldest-established-permanent-floating-crap-game-in-new-york/
http://www.andrewj.com/blog/2017/the-oldest-established-permanent-floating-crap-game-in-new-york/#respondSat, 18 Feb 2017 23:37:02 +0000http://www.andrewj.com/blog/?p=1972Continue reading →]]>I am slightly disappointed to find that the "floating market" is actually on solid ground, and only "floating" in the same sense as the "floating crap game" in Guys and Dolls. However it’s still a bustling, vibrant place, with lots of both photo and retail opportunities! It’s Saturday, and we’re in a part of the world where many people don’t yet have ready access to refrigeration, so most of the locals buy fresh food every day or two. It’s definitely fresh: some of the fish come wriggling out of buckets, and some of the chickens are plucked squawking from baskets just before becoming quarters…

Another observation is that for anyone used to Chinese food, there’s nothing that unusual. Chillies aside, there’s nothing I wouldn’t eat, provided it was prepared cleanly and cooked well.

Despite expectations to the contrary expressed widely within the group, I manage to find a carved elephant plaque which will go nicely alongside the animal-themed masks from Venice and Bhutan. As they say in Apollo 13, "Failure is not an option"

Once back at the hotel we say goodbye to the very friendly and helpful staff and start the journey back to Yangon. The initial trip across the lake, lunch, and the climb up to Heho airport are uneventful and much more enjoyable as we arrived in fog and mist, whereas we now have a glorious sunny day and can see much more of what’s going on. The trouble starts when Shine announces an extra stop, to visit a paper manufacturing workshop, and it becomes apparent that our flight is going to be significantly delayed. At 5pm the other flights have all departed and the shops and cafes in the tiny terminal put up their shutters and quit for the night.

I discover there is a hidden step down into the gents. That’s right, I went headlong into a haha at Heho airport. He he.

Well after 6pm we are still waiting for our flight, very much on the "last one out turn the lights off" basis. There’s a loud cheer when the flight finally lands. We get to Yangon a couple of hours behind schedule and we have an early start. Oh well, this trip has been consistent in several ways.

After breakfast we go to a different area of the lake, to watch more leg-rowing fishermen but who use a different style of net (and who are quite obviously really trying to catch fish), and then the "island builders". Essentially they harvest "lake weed" (mainly a type of water hyacinth) and place it on the "floating gardens", which are essentially just vast vegetation bundles bound together with bamboo, but on which some of the islanders live. These are very productive agricultural resources, for growing lots of things but tomatoes do particularly well. After about 10-15 years a particular area is left to disintegrate and return to the lake, and they start on another one.

This visit is followed by one of the more peaceful moments of the whole trip, drifting without engines down a "side street" of one of the villages. Great reflections, and observations of village life. It’s intriguing to see one crew demolishing one of the stilt houses, and another one building a new one. Their boats are all tied up neatly underneath, not unlike a row of white Transit vans at an equivalent site in the UK.

Then it’s a trip to weaving centre, where they create beautiful cloth of cotton, silk and from the lotus plant, which grows on the lake. Photographically it’s a bit of a challenge given the high dynamic range of the lighting, but everyone is very friendly and accommodating, and we make appropriate use of the well-stocked shop.

After lunch and a break, we gather in our longhis for the group photograph. I have also supplemented mine with a rather nice cotton top from the weaving shop, and look every inch the Burmese gent, once I’ve been reminded to remove my Italian mountain shoes and socks!

Another hour on the lake at sunset is pleasant, and Shine has persuaded one of the waitresses from the hotel to model for us. Tomorrow morning we visit the floating market, then start the long journey home.

]]>http://www.andrewj.com/blog/2017/drifting-along/feed/1A Broader Viewhttp://www.andrewj.com/blog/2017/a-broader-view/
http://www.andrewj.com/blog/2017/a-broader-view/#respondFri, 17 Feb 2017 00:26:00 +0000http://www.andrewj.com/blog/?p=1966Continue reading →]]>I really shouldn’t complain. I know the sleep deprivation thing is a bit annoying, but it’s just become a running joke. On the other hand, I am getting the opportunity to see and photograph some rather magnificent sites. Here, and with a rough nod to the title, is what I made of the Bagan plain at sunset.

We’ve been having a debate in the group about how different people see and make images. My temptation, which matches my usual professional role of taking complicated things and trying to put some unifying structure onto them, is to try and somehow capture the essence of a whole scene. Others have a perfectly valid but different approach of working out from details of interest. This is an example of mine.

]]>http://www.andrewj.com/blog/2017/a-broader-view/feed/0A New Twisthttp://www.andrewj.com/blog/2017/a-new-twist/
http://www.andrewj.com/blog/2017/a-new-twist/#respondThu, 16 Feb 2017 15:02:24 +0000http://www.andrewj.com/blog/?p=1963Continue reading →]]>The "Light and Land Burma Sleep Deprivation Experience" (TM) gains a new twist. While theoretically we have an extra hour and a half in bed, at almost exactly 4.43 am the little boats start powering past the hotel, single-cylinder engines going full chat. I manage to hold on until about 5.30 and then get up. At breakfast I suggest the tour is re-labelled "Burma, on even less sleep than the guys who built the railway". This is acknowledged as humorous and not inaccurate, but not in the best possible taste. Sorry.

However, such complaints seem churlish when the day gets going. The first stop is the local junior school (from kindergarten to about 12). Yet again, as on the Bhutan trip, we are welcomed in to photograph the students and their activities, something which would be almost inconceivable in Britain. We get lots of shots of happy little faces. Every year Phil presents a book of shots from the previous year, and then takes a cover photo of a group of kids with the book on display. Next year’s book should include a couple of my photos, and the cover will include a record of four years of visits.

After that it’s back in the boat again, and to the local village, where our first stop is a workshop run by the Kayan people. These are the group where the women wear brass rings around their neck and legs, which is now a dying tradition but we are lucky enough to meet and photograph a couple of older ladies, and a couple of younger practitioners who are also producing great weavings. The group goes on to photograph some novices at the nearby monastery school, but I prefer to get some exteriors of the village and its canals in wonderful light.

After lunch, we return to the hotel for our afternoon break. This is great in theory but the traffic on the lake is really busy, and we’re bang in the middle of it, so it’s rather like being buzzed by small military helicopters continuously for 2 hours. It’s a blessed relief to get back in the boats for the afternoon shoot.

This is quite magical. Our guide, Shine, has arranged to meet with half a dozen of the famous "leg rower" fishermen. Under his able direction, they perform over an hour of positively balletic moves in front of the setting sun, creating perfect silhouettes and also providing intriguing close-ups. My only slight concern is that we are in danger of creating communities in which modelling talent trumps, for example, the actual ability to catch fish. However for now we are the beneficiaries, and if it keeps at least the basis of the skill alive in a changing world, that’s maybe of some value.

]]>http://www.andrewj.com/blog/2017/a-new-twist/feed/0Land, Sea (Well, Lake) and Airhttp://www.andrewj.com/blog/2017/land-sea-well-lake-and-air/
http://www.andrewj.com/blog/2017/land-sea-well-lake-and-air/#respondThu, 16 Feb 2017 00:04:45 +0000http://www.andrewj.com/blog/?p=1960Continue reading →]]>Today we have a welcome opportunity to sleep a bit later. Unfortunately the Pavlovian conditioning has well and truly kicked in and I wake up at 4.43, although I do manage to get back to sleep for a bit longer before the Mandalay traffic makes sleep infeasible.

The first leg of our journey is uneventful, but I do wonder why Mandalay airport has to be over an hour from the city. At least I get a bit more practice trying to shoot motorbikes from the bus, although with limited results.

"Mandalay International Airport" does have the air of a vanity project – no busier than the others, and while there are fully equipped gates for large jets they are completely empty, and the small turboprop planes which comprise the bulk of the traffic have to park way out on the apron, serviced by transfer buses. The other regional airports feel a lot more sensible.

Our flight to the splendidly named Heho Airport in Shan State is delayed a bit, but smooth once it gets under way. The drive down from the airport (which is on a high plateau a few hundred metres above Lake Inle) is quite unlike any scenery we’ve seen so far, and reminiscent of Southern Bhutan.

After an impressively quick lunch stop (my pizza takes less than 10 minutes) we’re off across the lake by yet another form of transport – essentially a teak gondola with a big single-cylinder outboard engine. Inle lake is a large body of relatively shallow inland water, with a combination of permanent and floating islands, on both of which the locals have established settlements, with full agriculture and so on. The crossing of the lake takes about an hour and is colder and windier than expected, but the hotel location, on stilts in the middle of the lake, is great.

We have a few minutes to check in, and then go off to our first shooting location, a village which is home to a couple of necropolis – an ancient one several centuries old in which the memorials are now crumbling, and a new one in which new buildings are still being created. I favour the latter as an area of great shapes, colours and light, but others focus on the older monuments, and still others on photographing the locals. We all end up paying K500 (about 30p) for the official camera permit, and about K5000 (a bit less than £3) for the unofficial camera permit, purchased from the young lady vendors in the form of a cotton scarf.

I don’t know whether it’s good karma, but in four hotels I have now been in rooms 201, 202, 203 and 204.

]]>http://www.andrewj.com/blog/2017/land-sea-well-lake-and-air/feed/0Capture and Visualisationshttp://www.andrewj.com/blog/2017/capture-and-visualisations/
http://www.andrewj.com/blog/2017/capture-and-visualisations/#respondWed, 15 Feb 2017 00:16:15 +0000http://www.andrewj.com/blog/?p=1957Continue reading →]]>Today was not quite as restful as planned, and tummy grumbling slightly – this trip is quite hard work. That said, it’s another excellent day of photography.

After an early start – quel surprise – we go back to the old teak bridge first thing, and photograph locals coming and going, and then fishermen casting their nets. We then shoot (& I film) the farmed ducks being led to the lake for the day. It’s fascinating that a group of several hundred ducks can be trained to follow a farmer from their pen to the lake, and then back at the end of a day’s "grazing". Phil has the idea of putting my little Sony RX100 in movie mode at ground level in the ducks’ path and it works quite well. When I’ve sorted the video out I’ll post it for review.

On the way back to the hotel, I start thinking about whether one can really plan travel photos or not. Photography textbooks are all full of a concept called "pre-visualisation", the concept of seeing the finished image in your head before pressing the shutter button. Set aside wrangles about semantics and whether "pre" has any role here (surely this is just "visualisation", or "envisioning"?) I suspect that this is a concept with limited value in our modern photographic environment. Firstly with live view and the ability to set picture styles and aspect ratios in camera, you can get close to the expected look of an image, and you probably only need to "visualise" when that’s not possible and you need to plan post processing work. However the main issue is that travel photography is more about "found" images. You may research a bit about your target locations, but the individual images are still tricky to plan.

As an exercise, I have set myself a target of capturing something about Mandalay transport. Shine, who originates from the city, has told us that Mandalayans are born riding motorbikes, and that certainly seems to be the case. I have started collecting images which represent this. I rather like the following one, but what I really want, which I have seen several times and "visualised", is an image of a bike with two attractive women sitting side-saddle on the back! Getting good images from the bus is tricky, but I’m working on it.

After a late breakfast and lazy lunch break we are back on the bus, first to visit where they carve all the alabaster Buddhas and other religious icons. This is done on a massive scale, out of a number of small workshops but with the total volume being very impressive. After that we visit the banks of the Ayarwaddy (Irawaddy) river, where there are substantial migrant worker villages. Essentially most of the "heavy lifting" of moving goods around in Burma, whether by boat or other methods, is done by these people who move seasonally depending on the state of the rivers. They are very friendly, and we are welcomed into their village to take photos, but like many similar communities sanitation is clearly a bit of a challenge, and coupled with my slightly fragile state I’m happy to bail fairly quickly to the bar of the posh hotel over the road.

There we seem to have crashed the local Valentine’s day event. There’s a definite over-supply of roses, so much so that Phil and Geoffrey (not, as far as we are aware, any sort of an item) get one each, and that simply demands a photo, doesn’t it. I may post said photo, depending on how heavily I’m bribed with beer.

Slightly later start tomorrow, and we move on again to Inle Lake. Fingers crossed.

After breakfast we go to Bagan airport and got the flight to Mandalay, which took 25 minutes ground to ground, followed by a bus drive of well over an hour through the city to the hotel.

Late morning consists of a trip to the Maha Muni Temple in central Mandalay. This is a splendid golden construction, but I am reminded of Noel Coward’s famous song about Mad Dogs and Englishmen when I nearly burn my feet walking around the outer courtyards. The central area under the pagoda is an open grid of columns and arches, with highly polished tile floors which generate great light and reflections.

The Maha Muni is a busy place, with constant comings and goings by pilgrims, monks, nuns and lots of local visitors as well as tourists. Playing "catch a monk", trying to photograph a monk well-positioned against the background is entertaining and quite challenging. One of the primary activities is for young novice monks and nuns undergoing initiation – most Burmese children spend at least a few weeks in training as a standard part of education. I get a great shot of a tiny princess preparing for her initiation, and a rather fetching smile from a pretty older novice who passes us in her group.

Lunch is pizza in the back of the Mercedes showroom next to the hotel. Unexpected. Delicious.

In the afternoon we head for the U Bein bridge, the longest teak bridge in the world. Unfortunately we hit bad traffic. Mandalay is a busy city of around 1.5M people, most of whom seem to be simultaneously on motorbikes, and the traffic does seem to be subject to random delays, especially around the frequent and poorly managed roadworks. It doesn’t help that the good hotels are near the old Royal palace to the east of the centre, but the airport and most attractions are to the west.

The bridge provides another "good game" (shades of Bruce Forsyth) – attempting to catch a couple of locals, ideally monks, perfectly positioned between the bridge uprights without any other people in shot, while working from a rowing boat at extreme zoom range in the middle of the lake. I prove to be quite good, not sure why.

Fingers crossed for a decent nights sleep tonight.

]]>http://www.andrewj.com/blog/2017/on-the-road-to-mandalay/feed/0Cheerfully Manichttp://www.andrewj.com/blog/2017/cheerfully-manic/
http://www.andrewj.com/blog/2017/cheerfully-manic/#respondSun, 12 Feb 2017 16:15:31 +0000http://www.andrewj.com/blog/?p=1951Continue reading →]]>Sunday. We started the day very early (again!), with a pre-dawn shoot at one of the temples, which ended with watching the balloons take off in the rising sun.

After breakfast we went into Bagan’s main market town (Nyaung U as Bagan city is in the middle of the archaeological zone and very restricted in development) for some market photography and what would be described as "retail therapy" if there was any element of choice or relaxation in it, which there wasn’t. I got a few items with a bit of an elephant theme for fun.

I would describe Nyaung U as “cheerfully manic” – a lot going on, but not as frantic as a larger Asian city like Kathmandu, for example. In sharp contrast to Yangon the main mode of transport seems to be the motorcycle. The number of attractive women riding around without helmets with their waist-length hair almost in the oily bits is quite large, but they seem to be sufficiently practiced to avoid the obvious problems.

It’s not easy to capture "cheerfully manic" in a photo. I’m not sure whether the above does the trick.

After lunch I got another hour in the sun, which was almost but not quite without incident. You would think that the accumulated engineering skill of the human race would allow repeatable design of items such as the sun lounger, but apparently not. The Burmese design looks superficially similar to the western one, so much so that you could be forgiven for assuming that moving the back support beyond its final notch would just lay the bed flat. Unfortunately this is not the case – in the Burmese design this action disconnects the bed from the back "feet", turning the lounger into a see-saw with its centre of gravity (net of an adult human) outside its base. I watched with a combination of amusement and horror as the elderly gentleman beside me attempted said adjustment, and was then gently deposited head-first onto the pool deck. Fortunately no harm was done, but honestly. Gravity 1, human mechanical sympathy 0.

After that we had another hour scheduled for photographing dimly-lit temple interiors, but I declared UDI and went off to photograph the exteriors in late afternoon light. We finished up an another temple where you could get onto the roof to watch the sunset, a bit of a heaving mass of humanity but we got a few decent shots regardless.

We have another early start tomorrow (although not quite as bad as the last couple of days) and fly to Mandalay.

]]>http://www.andrewj.com/blog/2017/cheerfully-manic/feed/0Brilliant Balloons, Terrific Temples, and a Hip-Hop Heffalump!http://www.andrewj.com/blog/2017/brilliant-balloons-terrific-temples-and-a-hip-hop-heffalump/
http://www.andrewj.com/blog/2017/brilliant-balloons-terrific-temples-and-a-hip-hop-heffalump/#commentsSun, 12 Feb 2017 02:29:03 +0000http://www.andrewj.com/blog/?p=1948Continue reading →]]>There’s a pattern starting to emerge for this trip: late meals, short sleeps, and then amazing visual experiences which make it all worthwhile. After a somewhat slow dinner last night and a very early alarm this morning I woke with a bit of trepidation, but I shouldn’t have worried. This was going to be a hard day to top.

The reason for this morning’s early start was a balloon flight over Bagan. This is an area of a few tens of square miles with roughly 4,000 ancient temples and pagodas, many of which date back to the 11th Century AD, although some are later. Most are in very good repair, although some have been clumsily restored in recent years, and ironically it was those which were badly damaged in an earthquake last year – the older unrestored ones weathered the ‘quake without problems. The balloon flight drifts gently over the area, allowing you a unique bird’s eye view of the temples and the landscape, juxtaposed with the other balloons in the air at the same time.

This was my fourth balloon flight, and quite possibly the best yet, even given that the last one was a mass ascent at the Albuquerque Balloon Fiesta in 2012, itself a magical experience for different reasons. Our flight today lasted over an hour, and included both high vantage points, but also drifting over the fields at a height where we could have picked some of the produce. The air was a bit hazy at first, but as the sun came up the contrast improved and I think I have some magical shots.

We had two breakfasts: a glass of champagne at the landing site, then back to the hotel for some more traditional fayre. After that we were out again, to visit one of the temples. I had misunderstood the instructions, and didn’t take my tripod, which was a bit of a challenge given that we were photographing inside by available light… However necessity is the mother of invention and I got some unique shots using the altar and my camera bag as a base, using the camera’s timer to fire the shutter without any shake. I’m very pleased with the results.

After lunch we had a couple of hours to ourselves. I spent mine by the pool, drinking what has to be one of the best pina coladas I have drunk in recent years. In the Caribbean they have taking to making such drinks with a pre-made mix which doesn’t taste of much. In Bagan they had clearly liquidised some real pineapple chunks, and the results where excellent.

4pm rolled through, and we set off to a "mystery event". Our Burmese guide, Shine, had rounded up some local villagers to act as models: "local people doing local things" as Steve Pemberton might describe it. I’m not quite sure the young lad who was playing the novice monk quite understood things, but the old ladies realised quite rapidly that they could earn money just sitting in the sun smoking cheroots, balancing baskets on their heads and so on, as long as they didn’t collapse into hysterics. Shine oversaw the whole thing, directing the action through a megaphone like a budding Steven Spielberg, and a great time was had on both sides.

The penultimate stop was the top of a temple facing into the sunset, and we got some great shots of the local architecture bathed in end of day light. Then it was on to our dinner appointment, which included a cabaret. After the dimly-lit fiasco of "Bhutan Culture Night", I had relatively low expectations, but it was brilliant. The dance moves and costumes were fairly traditional, but the well-lit stage and fairly modern "fusion" music certainly weren’t, and the better for it. I have some great shots and video. The pretty ladies and handsome young men performing traditional routines were fine, but I’m afraid the evening’s prize has to go to the elephant dance, performed by a couple of blokes (probably) in a pantomime elephant costume, to what can best be described as "hip hop". Hilarious, and almost worth the price of the trip on its own.

The only problem with today is that I don’t know how Clive, Phil and Shine can top it…

]]>http://www.andrewj.com/blog/2017/brilliant-balloons-terrific-temples-and-a-hip-hop-heffalump/feed/4Early Startshttp://www.andrewj.com/blog/2017/early-starts/
http://www.andrewj.com/blog/2017/early-starts/#commentsFri, 10 Feb 2017 12:15:36 +0000http://www.andrewj.com/blog/?p=1945Continue reading →]]>Just in case there’s any risk of our body clocks getting back in line, we have a 5am start to return to Swedagon Pagoda before sunrise. This is essentially a reverse of last night, with the buildings initially under artificial light and then in the morning "golden hour", but with the significant benefit that it’s very quiet, with only locals and dedicated pilgrims and photographers, until well after 8.

I realise that I’m tending to take a lot of the same shots as last night, and force myself to just sit on some steps with the 100-300mm lens mounted, and train my eyes again to look for details rather than the "big picture". However, I’ve come to the conclusion that I don’t "see" in the traditional 70-200mm range. I’m happy trying to capture big vistas with wide-angle lenses, up to the short telephoto range, and then looking for details at what most people would regard as extreme telephoto, but I take relatively few shots in the middle. That’s something I need to work on.

After breakfast we have a couple of hours to ourselves, which I spend on sorting out emails and getting the blog running, then we’re off again, on one of the many separate flights which comprise this trip. We stop for lunch at a Chinese restaurant which has an impressive menu but where the waiters’ English skills are less comprehensive. I order a small portion of roast duck, but what turns up appears to be almost a whole bird. Glad I didn’t order the large portion!

The flight up from Yangon to Bagan is uneventful. Despite having much less in the way of paperwork and jet engines, Air KBZ runs promptly to time… We are now staying in a hotel with the wonderful name of the Amazing Bagan Resort!

Another dawn start tomorrow, just in case. This time it’s our balloon trip over the plains of Bagan. More tomorrow. For now, here’s a picture of two nuns meditating – peace be with you!

]]>http://www.andrewj.com/blog/2017/early-starts/feed/1In the Air Again!http://www.andrewj.com/blog/2017/in-the-air-again/
http://www.andrewj.com/blog/2017/in-the-air-again/#respondFri, 10 Feb 2017 05:20:05 +0000http://www.andrewj.com/blog/?p=1940Continue reading →]]>I’m off on my travels again – another photographic trip with Light and Land, this time to Myanmar (formerly Burma).

Having recently downloaded a copy of Canned Heat’s Greatest Hits I was tempted to call this blog “On the Road Again”, but that’s not correct for this trip. It appears that outside the main centres Myanmar’s roads are pretty non-existent (despite managing to host a very good Top Gear special a few years ago), and most of the medium as well as long-range travel on this trip will be by air, hence the title. However we’ve not got off to the best of starts, and I’m hoping that’s not an omen…

Things start on Tuesday, the day before travel, when I received a flurry of emails late in the morning explaining that my outbound flight to Bangkok is being rescheduled by 3 hours, and as a result I’d be on a rather later connecting flight to Yangon (formerly the Burmese capital of Rangoon). That isn’t too much of a trial, as Frances is able to re-arrange to accommodate the later drop-off, and it means that we avoid rush hour on the M25. As a result we have an easy trip to the airport and arrived in plenty of time. At check-in I meet Julia, who was also on the Bhutan trip, and it is no great hardship having a natter and looking at photos over lunch. Unfortunately when we get to the gate, things started to look a bit more problematic, and it becomes clear that there are going to be further delays. We finally get away about an hour and a quarter later than the rescheduled time.

The flight is smooth and uneventful, apart from sleep being impossible due to the old lady next to me listening to the entertainment that I could hear her film soundtrack from her headphones, with mine on (and I’m quite deaf)!

The process for dealing with a delayed, full A380 at Bangkok airport is a number of Thai Airways employees scattered throughout the terminal, each with routing instructions and meal vouchers for a subset of the passengers. I am beginning to wonder how this can work, when the second person I ask for directions turns out to have my name on her list, and my lunch voucher. Impressive, or just good luck??

The flight to Yangon is rostered onto an airbus A330, capacity over 300, despite the fact that there are only a handful of passengers who only just outnumber the crew. Loading takes about 5 minutes, and is complete a good quarter of an hour before departure time. However that doesn’t stop departure being delayed by a further 25 minutes, for no reason which was ever explained to us. I’ve come to the conclusion that Thai Airways regard the clock as a broad guideline rather than anything more. Oh well, if you can’t face these things with reasonable equanimity you shouldn’t be doing international travel…

Arrival in Myanmar was straightforward, and it was good to meet up with the rest of the group, and particularly Clive Minnit and Phil Malpas, the group leaders. This will be the third of Clive and Phil’s trips I’ve been on, and I have great expectations based on the previous ones. It takes a while to get across Yangon – it’s a busy city of a similar size and population to London, and there’s a fair amount of traffic at rush hour – but it was noticeably different from the mania often portrayed of this part of the world, and which I experienced in reality in Kathmandu. There’s none of the milling bikes, mopeds and overcrowded buses. Yangon seems to be “London busy” rather than “Asian busy”, if that makes sense. It will be interesting to see how Mandalay compares.

We only have about half an hour to unpack the cameras before setting out again, and I’m starting to feel somewhat ragged, but that all evaporates when we got to the Shwedagon Pagoda. This is actually a “pagoda complex” over several acres, where the huge central golden pagoda has been progressively surrounded by hundreds of other pagodas, temples and shrines. We arrive just as the sun was starting to paint these fascinating structures in late afternoon light, and stay until an hour after sunset, by which time everything is artificially lit. The enormous difference from Bhutan is that the Burmese don’t mind you photographing inside the temples, and you’re free to photograph them as well as long as you don’t actually disturb someone’s meditation. Talk about a “target rich environment”!

I’m slightly stunned by the wealth of visual information, and not quite sure where to start, so these two images are just a taster. More tomorrow!

]]>http://www.andrewj.com/blog/2017/in-the-air-again/feed/0Software Design Decodedhttp://www.andrewj.com/blog/?bookreview=software-design-decoded
http://www.andrewj.com/blog/?bookreview=software-design-decoded#respondTue, 07 Feb 2017 07:57:09 +0000http://www.andrewj.com/blog/?p=1937Continue reading →]]>This is a delightful little book on the perennial topic of how a software architect should think and behave. While that subject seems to attract shorter books, this one is very concise – the main content is just 66 two-page spreads, with a well-chosen and often thought-provoking illustration on the left, and a couple of paragraphs on the right. However just as with The Elements of Style, brevity indicates high value: this book provides the prompt, the detail can be elsewhere.

The book should be valuable to many: If you want to be an expert software designer, this book provides an overview of the skills and knowledge you need to develop. If you want to recruit such a person, this provides a set of key indicators and interview prompts. If you are in one of those software development organisations which believes that quality architecture can somehow emerge by magic from the unguided work of undifferentiated coders, this might make you think again.

If you are, or think you are, a software architect, this book should act in the same way as a good sermon: it will remind you of what already know you should be doing, and act as a prompt against which you can measure your own performance and identify areas for improvement. It reminded me that I can sometimes be slow to listen to the views of others, or evidence which may change a design, and slow to engage with new technologies, and I will try to act on those prompts.

This book resolutely promotes the value of modelling in software design. Formal models and analysis have their place, but so do informal models, sketches, and ad-hoc notation. The key point is to externalise ideas so that they can be shared, refined and “tested” in the cheapest and most effective of ways, on paper or a whiteboard. We are reminded that all these are hallmarks of true expert software designers. Code has its place, to prove the solution or explore technicalities, but it is not the design.

The book also promotes the value of richness in these representations. Experts should explore and constantly be aware of alternatives, and model the solution at different levels of abstraction, in terms of both static and dynamic behaviours. Continuous assessment means not only testing, but simulation. If required, the expert should build his or her own tools. While solving simple problems first is a good way to get started, deep, early understanding of the problem space is essential, and experts must understand the whole context and landscape well enough to make and articulate design prioritisations and trade-offs.

I thoroughly recommend this book. It may seem slight, but it delivers a powerful reminder on the process of design, and the necessary, different thought processes to succeed with it.

]]>http://www.andrewj.com/blog/?bookreview=software-design-decoded/feed/0Enlightenmenthttp://www.andrewj.com/blog/2017/enlightenment/
http://www.andrewj.com/blog/2017/enlightenment/#respondWed, 01 Feb 2017 07:02:07 +0000http://www.andrewj.com/blog/?p=1925Continue reading →]]>I have to confess, this post is a conflation of two fairly separate topics, and I struggled to find a common theme, but I think I’ve just about pulled it off. Apologies if you disagree.

I’m just working through some photos I took last year, including a trip to Greenwich. When I first started using the latest generation of Panasonic cameras and Capture One software, I publicly questioned whether we still needed HDR techniques. The answer, I have discovered, is still very much "yes", but maybe only in more extreme circumstances than in earlier years. The dynamic range between the day-lit buildings outside the Painted Hall, the splashes of direct sunlight inside, and the dark shadows away from that direct lighting was considerable, and no single image could cover them. To process this I took a series of images covering a 4 stop base range, and then applied Capture One’s highlight and shadow correction to them, squeezing probably another two stops in each direction, before feeding into Photomatix to merge into one. I’m pleased with the result, and happy that it justifies keeping those tools in my software "kit".

This post is also a bit of a test of another returning technical capability. I very much mourned the passing of Google Currents in 2012. If you don’t remember, this was a beautiful news and feed reader with two key capabilities: offline working, and presenting the headlines of available stories as a mix of text and highlighted images, in the idiom of a paper magazine. However, Google killed it off in favour of the brain-dead "News-stand" app which has neither of these features. At the time I struggled to find a replacement. Feedly offers roughly equivalent feed management capabilities and equally pretty content presentation, but it doesn’t work offline, which is a key capability for me, as I often catch up on news in low-connectivity environments. The available independent off-line readers were not a great bunch, but I settled on Press, which handled content caching very well but was never very inspiring in terms of the presentation of content, or its reading environment. For reasons I haven’t ascertained, it recently stopped displaying the headline images from my own feed, which is rather annoying.

I have occasionally tried to find a more complete replacement for Currents, and last night, 5 years on, I may finally have found one. It’s called Paperboy, and it may do the trick. Like Press, it runs on top of Feedly to allow common feed management across multiple apps, and it looks like it has similar offline capabilities, but the display and reading environment is much more like the lamented Currents. However, I need to check how it handles my own feed, and that means making sure I have a new post. So that’s the other purpose of this item.

I’ll let you know how it works.

]]>http://www.andrewj.com/blog/2017/enlightenment/feed/0What Are We Losing?http://www.andrewj.com/blog/2017/what-are-we-losing/
http://www.andrewj.com/blog/2017/what-are-we-losing/#respondFri, 27 Jan 2017 21:56:36 +0000http://www.andrewj.com/blog/?p=1923Continue reading →]]>We’ve been watching "The Man In The High Castle". Despite all the horrors of Fascism this depicts, I find the single most perturbing image to be that of a Supersonic Transport, recognisable The Concorde, with a swastika on the tail. Why?

I was proud, am proud, to be of a generation where old allies, old rivals, old enemies could work together to create some of mankind’s greatest engineering achievements. Concorde. The Channel Tunnel. CERN. Suddenly, almost inexplicably, these appear to be icons of mankind’s past, not its current achievement. Great icons of peace they appear unattainable in the new post-truth, me-first reality of 2016+ realpolitic.

Those who voted for Brexit, for Trump, who apologise for Putin need to think and explain. What are we losing, and why?

]]>http://www.andrewj.com/blog/2017/what-are-we-losing/feed/0Dozy Androidhttp://www.andrewj.com/blog/2017/dozy-android/
http://www.andrewj.com/blog/2017/dozy-android/#respondSun, 22 Jan 2017 08:35:04 +0000http://www.andrewj.com/blog/?p=1920Continue reading →]]>I’ve just spent a good couple of hours sorting out a problem with my new phone, which has no good reason to exist. In fairness to Sony, it’s nothing to do with them: the issue sits squarely with Google and yet another "improvement" to Android which turns out to be nothing of the sort.

A watch-based alarm doesn’t work very well for me – my hearing is just not good enough. Seeking to reduce the amount of gadgets I carry, I have therefore for many years relied on phones and their PDA predecessors to fulfil the function of alarm clock, especially when I’m travelling. It’s not a difficult role, and I have not had to complain about it. Until now.

In my normal weekly cycle I don’t have much need for a clock as I wake naturally at about the right time each day. This makes the operation of such a function even more critical, as it has to be absolutely reliable on days which are exceptions, and I don’t get much opportunity to do much advance "testing" of what I assume is something that should "just work". However, I do have the alarm set every day when I’m working away from the home, and although I couldn’t be absolutely sure I was coming to suspect that it wasn’t going off at the right time. The first couple of times I assumed "user error": incorrect settings, volume too low etc., but I had eventually eliminated those, and confirmed the behaviour: the alarm didn’t go off at the programmed time. It went off after I had woken up and clicked the button to wake up my phone’s screen.

This is about as useful as a chocolate fireguard, and about as welcome as a fart in a spacesuit.

A bit of Googling confirmed that the problem is quite widespread. I’ve read stories of people with new phones being late for work or missing important appointments. Others describe a similar problem with other programs including not getting notified promptly of night-time messages or similar: potentially quite a problem for those "on call". Fortunately I caught the problem before it caused me any trouble, but that might not have been the case, as I have an upcoming trip with about 8 flights and several other dawn starts.

The web is full of useless "solutions" like factory resetting the phone, but after eliminating those, I tracked down the cause of the problem. With Android 6 ("Marshmallow"), Google introduced something called "Doze" mode. This is a deep sleep mode which kicks in if the device is at rest, screen off, and no significant ongoing activity like an active data transfer. You know, like it tends to be at night. In this state, the system not only slows down processing, but also suspends the bulk of normal background activity. This includes, for no articulated good reason, suspending timers and related event triggers. So your alarm application doesn’t know what time it is, and doesn’t fire. Your messaging app doesn’t know when to poll for incoming events. Simple, core functions of your smartphone just cease to work.

Allegedly, if you change the code of your alarm or other app to use a "different kind" of timer, that should work, but after testing four or five I concluded that this is just not true, certainly on my phone. In any case, I usually just use the stock Android "clock" app, and surely they would have remembered to update that, wouldn’t they? You can also nominally turn off Doze for selected applications, but as far as I can see it makes bugger all difference.

It turns out that the root problem is that in at least some Android 6 implementations, Doze mode actually disables the underlying operating system events on which the other timers are based. It doesn’t matter how sexy your alarm app is, or whether Doze knows about it or not, if the underlying timers are blocked!

There’s a heap of advice on the web about how to disable Doze for individual apps (tried that, doesn’t work), but not about how to disable it completely. I’d tried all sorts of settings without success. However I finally found a useful little app called Disable Doze, which does what it says on the tin, and turns Doze off completely. Allegedly (according to Google) this would result in my phone discharging its battery at a terrifying rate and ending up doing a Galaxy Note 7 impersonation, but I can confirm that with Doze off in light use my phone is still only consuming about 10% battery per day. The only noticeable effect so far is that alarms and notifications work again.

My worry is that until Google acknowledge their mistakes, they may come up with another "improvement" which disables this fix. I don’t know what tests Google perform in this area, but they are clearly inadequate. This really is a "0 out of 10" effort, a true "breaking change".

However for now things are looking good, and hopefully this blog will help alert others to the problem and the fix.

]]>http://www.andrewj.com/blog/2017/dozy-android/feed/0Normal Service Of This Joke Will Be Resumed Shortlyhttp://www.andrewj.com/blog/2017/normal-service-of-this-joke-will-be-resumed-shortly/
http://www.andrewj.com/blog/2017/normal-service-of-this-joke-will-be-resumed-shortly/#respondSat, 21 Jan 2017 14:19:02 +0000http://www.andrewj.com/blog/?p=1918Continue reading →]]>When I was a lad, there was a joke. It went:

"It must have been tough in the old days."

"Why?"

"They had to watch TV by candlelight."

Last night we were just sitting down to dinner and our evening’s viewing, and the power went off, for almost two hours. In lieu of candles we lit the gas fire and an oil lamp. Not happy to abandon our entertainment, we powered up the older MacBook, popped in our X Files DVD, and got on with our watching.

That’s right – we watched TV by candlelight.

But there’s a twist. It worked, because of late-noughties technology. DVDs and a laptop with a large screen and disk player slot. If we were reliant on 2017 technology, we would have been scrod: no disc player in the newer laptops, no access to streaming services (mains powered internet router and so on), no access to the mains-powered server which holds our recorded TV.

Normal service will therefore be resumed imminently.

]]>http://www.andrewj.com/blog/2017/normal-service-of-this-joke-will-be-resumed-shortly/feed/0A "Found" Quadtychhttp://www.andrewj.com/blog/2017/a-found-quadtych/
http://www.andrewj.com/blog/2017/a-found-quadtych/#respondFri, 06 Jan 2017 08:01:04 +0000http://www.andrewj.com/blog/?p=1913Continue reading →]]>The blog has been looking a bit light on pictures recently. Meanwhile I’m beavering away trying to finish tidying up the Bhutan pics before I’m off to Burma in February. This morning I discovered a series of four similar close-ups on supporting "gargoyles" (I suspect that’s not quite the right term in the Bhutanese context, but close enough) which I never originally envisaged as a multi-shot combination, but which I think actually work quite well as a "quadtych" (which is exactly the right term, apparently).
]]>http://www.andrewj.com/blog/2017/a-found-quadtych/feed/0A catholic Taste in Films?http://www.andrewj.com/blog/2017/a-catholic-taste-in-films/
http://www.andrewj.com/blog/2017/a-catholic-taste-in-films/#respondTue, 03 Jan 2017 07:31:32 +0000http://www.andrewj.com/blog/?p=1910Continue reading →]]>I’ve always wondered about the phrase "a catholic taste", meaning "broad". Surely the way in which the Catholic religion (like most others) prescribes and proscribes certain behaviours and materials acts to limit rather than broaden an individual’s tastes? Apparently the phrase derives from Catholicism being positioned as "the universal religion", and hence "a catholic taste" (with a small "c"), means "a universal taste". There may be a bit of "getting the problem out of the way in the title" going on, but that’s the official version.

However our two visits to the cinema in the last couple of days certainly challenge this interpretation. Although the two films are at opposite ends of almost any cinematic spectrum, there was an odd and unexpected common thread in our viewing which bears a bit of introspection.

On Sunday, we went to see Assassin’s Creed. This is an energetic sci-fi and action movie based on the video game of the same name. While it’s not a great film, some of the parkour "chase and fight" sequences are amazing. Apparently it was done under "Bond" rules: if they could find someone mad enough to do a stunt for real, they went for it. There are also some pretty impressive sets, backdrops and costumes. The core action takes place in Andalucía in time of the Spanish Inquisition, Columbus and the Moor withdrawal from Spain. Without giving too much away, the plot revolves around a long running war between the Catholic church, in the form of The Templars, seeking ways to suppress human free will, which they see as driving the excesses of human violence, and The Assassins, who oppose them in the name of freedom. The Templars’ position, paving the road to hell with the best of intentions, is a clever plot device, and leads to some surprisingly insightful discussions of the human condition, such as an exchange between two senior modern-day Templars debating whether they need further methods of mass control when Materialism seems to be working very well…

Yesterday, we went to see Silence. I suspect few people will see both films, and probably not very many middle-aged couples, but hey, we have "a catholic taste", don’t we? By any objective measure this is the complete opposite of Assassin’s Creed: a thoughtful historical piece rather than a game-inspired action fest, slow and considered rather than frenetic, emotional and psychological rather than active, arguably a bit too long and indulgent rather than arguably a bit curt at the end, Oscar-worthy rather than one for the Razzies. However, we then get an unexpected thematic resonance. Silence portrays the attempts of the Catholic church to introduce Christianity to Japan, and how after some initial success this was met by a brutal backlash under the the Japanese establishment’s own inquisition. While the Christians are portrayed as the heroes of the piece, they are shown as arrogant and wilfully ignorant of the Japanese religion, culture, language and institutions. While the Japanese inquisitors are shown to be brutal at times, they are also shown to be capable of subtlety, humanity, humour and leniency. By the end of the film, while you may be impressed by the strength of the Christians’ faith, you ultimately admire and have some sympathy for the Japanese establishment’s psychological as much as physical defence of its own culture. And that is basically the same plot line as Assassin’s Creed.

Neither of these films will become favourites of ours, but I’m glad we saw them both and I find the odd thematic similarities fascinating and thought provoking. In particular, both challenge the conceit of any religion which sets itself up as the "universal" moral guide. In this particular case, a "catholic taste in film" has turned out to have something of an "anti-Catholic" theme, with two films both challenging the very concept of universal catholicism. Go figure…

Take Apple. I’m really very happy with my 2015 MacBook Pro, even though it was bloody expensive for what it is. The limited soldered in memory is a bit frustrating at times, but otherwise it performs very well. I have never said "you know what? I would happily forgo all the connectivity if only it was a shade thinner". Instead I have started to see intermittent physical connectivity problems with the HDMI socket, which makes me extremely wary if its successor replaces the key USB sockets with smaller, flimsier ones. I can’t see the new MacBook being a good solution for me.

Maybe I’m just an old codger, but given that the device is virtually attached to my wrist about 90% of every working day I think I qualify as a "Pro" user, and I have things like "legacy" projectors plugged in a lot of the time. If I were Apple I would have two ranges of MacBooks, each in several sizes: the Air - as light and slim as possible, with minimal connectivity or upgrade options; and the Pro, slightly thicker and heavier if needs be, but with a good selection of well engineered ports, and options to upgrade components like the RAM and SSD.

OK, let’s stop picking on Apple. What about Samsung?

Regular readers will know I was a fan of the original Galaxy Note, although it suffered with an odd memory architecture and a lack of TRIM support (which helps flash memory to be reused efficiently) and gradually got into a state where it slowed to glacial speed and couldn’t install application updates. In the meantime I had purchased the original Note 10.1", which was an excellent device apart from having to import a 32GB one from America, so I had no qualms replacing the Note with a Note 2.

That was an excellent phone, but sadly I dropped it, and it was never quite the same again.

So about two years ago I replaced the Note 2 with a Note 3, and the now ageing Note 10.1 with the 2014 edition. That’s when the rot set in.

The Note 3 was rubbish. From day one I could never keep the screen clean, and the GPS never worked reliably. It was never happy working with headphones – you had to waggle the plug to get a good contact, and even then the volume sometimes changed without warning, or the phone would go into "Hello Google" mode without warning. After not much more than a year battery life was poor, and despite always being carried in a case the top bezel stated to look quite tatty as the "chrome" paint wore off. Despite being a simple passive component, the stylus had stopped working and had to be replaced. Thanks to Samsung’s refusal to provide regular software updates It was also stuck on Android 4.4 "KitKat", with all its inexplicable limitations.

At the same time the Note 10.1 had developed a sudden reduction in battery life, rendering it unusable for long flights. I replaced it first, with a Galaxy Tab S2. That works but has its own challenges, like a 4×3 screen and speakers both on the same short edge, so not great for games or videos.

The phone was more of a problem. I really fancied another Galaxy Note as I like their unique support for a fine-pointed stylus. Unfortunately the Note 4 was apparently not much different from the 3, with the same failings in areas like GPS. The Note 5 had no SD support, a real issue given Samsung’s refusal to sell phones in the UK with decent internal storage specs. There was no Note 6.

Then came the Note 7, or #explodyphone. I’ve worked through a long career helping clients to define their non-functional requirements, and it’s not often that "I’d like it not to be on fire" crops up. Not often, but oddly enough not never either. I did help select new field devices for the National Grid gas engineers about 10 years ago, and they had fairly tough gas safety requirements, which led to us at one point having to submit a phone and OtterBox for destructive testing including setting them on fire… However, that’s pretty much an edge case, and I think we have a right to expect suppliers of normal consumer handheld devices to take that requirement as read.

You do wonder if there’s some weird competition between Apple and Samsung, and Samsung looked at the "bendy" iPhone 6, and said "you think that’s bad, just watch the professionals and learn…"

Brand loyalty being what it is, I did have one more go with Samsung, and got my hands on a Galaxy S7 Edge. Unfortunately my copy had a rare but not unknown fault where the home and back buttons trigger themselves randomly, making the device unusable. I did persevere through to the end of setup, by which time I had also concluded that the usable screen, excluding the edges, is too small for me. It went back.

In desperation I spent an hour wandering the phone shops of Liverpool, seeing a lot of the same options. Just on the verge of giving up I discovered the Sony Experia XA Ultra. This is a cheerful phone with a 6" display. It’s supposedly a notch below the Galaxies and iPhones, but I can’t see much to support that assertion. The screen size is a very good match for the Galaxy Note, battery life is fine, GPS snaps to a fix if you can see a sliver of sky, and the headphone socket just works. Predictably I have gone for the bling version in "lime gold", but there is a boring black option as well.

So far so good for the Sony, but back to my original topic, if Sony can do this with a mid-range device, why are Samsung and Apple getting it so wrong?

]]>http://www.andrewj.com/blog/2016/mojo-not-within-normal-operational-parameters/feed/0A Splash of Colourhttp://www.andrewj.com/blog/2016/a-splash-of-colour/
http://www.andrewj.com/blog/2016/a-splash-of-colour/#respondWed, 07 Dec 2016 06:59:10 +0000http://www.andrewj.com/blog/?p=1899Continue reading →]]>No deep philosophical observations today, but with the weather swinging between cold and misty, and mild and murky, I thought it would be nice to brighten things up a bit. I’m working through the remaining shots from Bhutan, before another planned trip in the New Year, and this shot from our arrival on the first day cheered me up a bit. I hope it also works for you.
]]>http://www.andrewj.com/blog/2016/a-splash-of-colour/feed/0Night-Time Photography with the Sony RX100 Mk IVhttp://www.andrewj.com/blog/2016/night-time-photography-with-the-sony-rx100-mk-iv/
http://www.andrewj.com/blog/2016/night-time-photography-with-the-sony-rx100-mk-iv/#respondWed, 30 Nov 2016 15:59:41 +0000http://www.andrewj.com/blog/?p=1895Continue reading →]]>Last night was crisp, clear, cold and very still – theoretically ideal conditions for photographing the lights at Albert Dock with reflections in the water. I couldn’t get out any earlier, but did manage to take my Sony RX100 with me on the way to a dinner meeting.

Unfortunately I was well past "blue hour" so there was no light whatsoever in the sky or its reflection. This presented a bit of a problem, in that it’s a real challenge to a camera’s dynamic range, and the tendency is to over-expose the highlights (lights). The RX100 also insisted in the longer views in defaulting to ISO 6400 (because of the low overall light levels), and in the cold I didn’t have the patience to fix this properly.

The result is that the best shots were those with a reasonable level of foreground light, like the one above. The image quality is excellent, as is the control of the highlights, especially considering it was taken on a small sensor camera in what would be low light by most standards. However I did have success with a couple of longer shots, typically where there was an illuminated building to lift the overall luminosity. The one below is a decent example.

The moral of the tale – try and get out a bit earlier, and set the auto-ISO limit a bit lower!

]]>http://www.andrewj.com/blog/2016/night-time-photography-with-the-sony-rx100-mk-iv/feed/0Taking the All-Round Viewhttp://www.andrewj.com/blog/2016/taking-the-all-round-view/
Thu, 24 Nov 2016 07:02:23 +0000http://www.andrewj.com/blog/?p=1873Continue reading →]]>Apologies if it’s been a bit quiet here recently, but I’ve been submerged under a tidal wave of new (to me) technologies, and it hasn’t left much space in this bear’s brain for blogging. In the last month or so I’ve had to get my head around OpenLDAP, C#, Java development (OK, I’ve done that before, but not for about 8 years), microservices, Java Server Faces, Primefaces, and that’s just for one client. The other’s been a bit quiet, but even there I’ve had to outline and prove the concept of how to interface with an external expert systems framework.

However, that hasn’t stopped me “investing” in a few new toys. After the Cornwall trip I decided that with my changing eyesight I needed an infrared camera with an electronic viewfinder, and commissioned the guy in the USA who supplied the Panasonic GF3 to source and convert a GX7. Setting aside a nearly two-week delay through customs, mainly due to ParcelForce insisting on sending the charge note by second-class post (grr…), this turned up very promptly and works beautifully. It does appear to be a bit more fussy than the GF3 regarding whether autofocus will work in low-contrast scenes, but as I’m not likely to be using it to capture fast-moving action that’s not a major issue.

More recently, I’ve also plumped for a 360 degree camera, the Ricoh Theta S. This is a fun little gadget about the size of a small chocolate bar, with a lens on each side, and takes a 360 degree panorama in a single click of the button. It will do both video and stills, but the latter is probably more immediately interesting from my viewpoint.

There are some interesting dynamics to using this device. Firstly, it’s a return to much more of a “click and wait” process, on a shorter timescale than but otherwise not dissimilar to film photography. You can use it tethered to a phone or tablet, but a much more natural way to use it is to look for an interesting scene, hold it above your head and click, then look later at what you captured. This requires a discipline of “pre-visualisation” as Ansel Adams called it, but with the variation that you can’t just focus on what’s in front of you, but also need to be aware of what’s behind, above and below as well. A line of subjects on the horizon won’t produce a very good 360 panorama if you have an ugly or boring sky, ground or scene behind you. My usual policy of “getting high” may work fairly well, although that will produce images with much of the interest below the horizon line.

On the other hand, you do get a fascinating opportunity for what I call “post exploration”. Having downloaded the images, you can explore round them, looking at details which were invisible to you at the point of clicking, and trying to find a perspective which makes an interesting shareable static image. I’m becoming quite fascinated by the “small world” perspectives like the above, but there’s a lot of scope to go back to a favourite image and explore it again.

This process does also mean that I’ve had to join the selfie culture. At best, there are going to be a lot of shots of my thumb and the top of my bald head. However there’s a temptation to hold the camera lower and include yours truly in shot, so you have been warned

Editing is a bit tricky, as so far I haven’t found very good tools for the PC. There are reasonable tools for the tablet, which provides a fast and flexible way to view and explore the image, but the two-way export process if you want to return a cropped image (like the one above) to the PC is a bit fiddly. My search continues.

I went for the Ricoh Theta S, a slightly more expensive option, as reviews promised better image quality. It’s not bad, but like most small-sensor point and shoots there’s not much dynamic range, and so far I’m getting a lot of shots with blown highlights and muddy shadows. If there was ever a device which would benefit from in-camera HDR then this is it. There may also be some settings to explore, but given the very simple user interface I don’t hold out much hope in that direction. If I really get into this I’ll just have to find a grand for a Panono…

If you’re viewing this on a phone or tablet, have a go at exploring round the following by sliding and twisting (I haven’t worked out how to enable pinch to zoom, but I’m working on it.) Please let me know what you think.

]]>Taking the Long Viewhttp://www.andrewj.com/blog/2016/taking-the-long-view/
http://www.andrewj.com/blog/2016/taking-the-long-view/#respondWed, 12 Oct 2016 16:13:00 +0000http://www.andrewj.com/blog/?p=1866Continue reading →]]>I’m aware that I’m a slightly lazy photographer. I’m not a great one for pre-dawn starts or rushing out the minute the weather changes, and I do tend to walk around with a single zoom lens on my camera making the scene fit the lens rather than rushing to change it every shot. The other thing which can happen is I get "stuck" seeing lots of shots with a similar dynamic, rather than looking for variations.

On our recent trip to Cornwall, I kept on seeing potential panoramas, and made lots of them. A few, like this one, I’m quite pleased with, although others were middling. I took almost no 3D shots. A week later I was in Winkworth Arboretum, and I could only see potential 3D shots, almost nothing else.

This may not be a problem. There are plenty of people who focus their photography on a single subject and style, and try to become the real experts in that, like that German couple (Bernd and Hilla Becher) who just took low-contrast photos of water towers. However I do try to be more diverse, but don’t always succeed. I’m not sure what the cure is, or even whether a cure is strictly necessary. If I’m working on a more formal basis a shot list can help, but I think mainly I just need to spend more time shooting and training my eye to see the shots. Here goes…

]]>http://www.andrewj.com/blog/2016/taking-the-long-view/feed/0Just Get On the Train!, Updatedhttp://www.andrewj.com/blog/2016/just-get-on-the-train-updated/
http://www.andrewj.com/blog/2016/just-get-on-the-train-updated/#respondWed, 12 Oct 2016 16:08:34 +0000http://www.andrewj.com/blog/?p=1864Continue reading →]]>Regular readers may remember that I classify films and plays according to whether they are about talking about getting on a train (i.e. deep and meaningful journeys into the soul), or actually getting on the train (/boat, /plane, /nuclear power station etc.). It should not surprise you that my own collection has rather more of the latter.

]]>http://www.andrewj.com/blog/2016/just-get-on-the-train-updated/feed/0Form vs Function – a Tail :) of Three Micehttp://www.andrewj.com/blog/2016/form-vs-function-a-tail-of-three-mice/
http://www.andrewj.com/blog/2016/form-vs-function-a-tail-of-three-mice/#respondFri, 30 Sep 2016 15:36:23 +0000http://www.andrewj.com/blog/?p=1862Continue reading →]]>Just in case you think some of my recent posts have been a bit anti-Microsoft, here’s one in which (spoiler alert!) they win!

Call me old-fashioned, but I very much prefer using a mouse to a trackpad or its relatives, and since my earliest experiences with Windows 3.0, I’ve tended to go for Microsoft mice by preference. Over the years they gained additional buttons and a wheel, lasers replaced the ball, and wireless connections replaced wires, but the core ergonomics and functionality have been maintained and gradually improved. About 2005 this resulted in the Microsoft wireless mouse, of which we have had several, colour matched to different PCs.

However when I started using a MacBook as my primary PC, I had a couple of challenges with this strategy. Firstly, while it may be pure vanity I like to have a mouse which visually matches my laptop, and the somewhat "chunky" Microsoft options didn’t really float my boat. More importantly with the limited set of ports on a MacBook I couldn’t afford to tie up a USB port with the mouse or (worse) risk damaging one if I forgot to unplug the wireless dongle, something I have experienced on other PCs. As the MacBook runs with BlueTooth and internal wireless permanently powered on, a BlueTooth solution seemed sensible.

A visit to PC World didn’t reveal many options. Apart from the Apple mouse (the ergonomics of which I don’t particularly like) most mice seemed to be either wired, WiFi based and/or very chunky. Then I discovered the HP Z5000, an elegant thin white slab, with BlueTooth, two buttons and a wheel. Great!

Or so I thought… Time revealed two problems. One is ergonomic: the wheel is the same smooth white plastic as the body, and if your fingers are at all wet or slippery it is completely impossible to scroll accurately. The other is electronic, with the PC and mouse periodically becoming "disconnected" and requiring some random mouse movement or, occasionally, cycling the mouse’s power to re-establish connectivity. For reasons not immediately apparent, this appears to become worse when working in bright ambient outside light, just the conditions under which you can’t afford intermittent loss of the mouse’s position.

After working with these limitations for a year, we finally gave up after our last holiday, and decided enough was enough. Research suggested a new option, in the form of the HP Z8000.

This is a piece of gorgeous industrial design: a thin black slab edged in brushed aluminium which is a very good match to the MacBook’s own finish. The top surface is a capacitative touch panel – tap to click the mouse, swipe forward and back to simulate the wheel scrolling normally, or left and right to simulate a horizontal scroll. It also allegedly has much improved power management and connectivity. Wonderful! Well worth the £40+ asking price.

Or so I thought… To start with there’s no evidence whatsoever that HP have addressed the connectivity problems. If anything, they are worse. More of an issue is that the touch panel just doesn’t work very well. If you are very careful and precise with all your movements it’s just about usable in a program like Microsoft Word. However if the software supports any form of horizontal scrolling (e.g. XnView, or Windows Explorer in "tile" mode), then you end up with a working context which jumps about constantly and randomly. With some programs, such as CaptureOne, it becomes almost unusable.

Back to Amazon, and I discover this gem:

Yes, it’s a Microsoft "Designer" BlueTooth mouse. Price about £16, although it does vary. Just a lump of black plastic, although at least it’s now thin enough to work alongside the MacBook. Textured scroll wheel and two obvious buttons, each with a definite "action". Picks up the control points in CaptureOne without issue. And so far not a single random connectivity problem.

Function trumps form, substance beats style, in mice if not always in men!

]]>http://www.andrewj.com/blog/2016/form-vs-function-a-tail-of-three-mice/feed/0The One Manhttp://www.andrewj.com/blog/?bookreview=the-one-man
http://www.andrewj.com/blog/?bookreview=the-one-man#respondFri, 30 Sep 2016 14:34:32 +0000http://www.andrewj.com/blog/?p=1852Continue reading →]]>Overall this is a cracking WWII thriller, set around the concept of an Allies break in into Auschwitz to rescue a specific prisoner who holds information vital to the Manhattan Project. Andrew Gross has done a great job of capturing the horror and brutality of life in the labour camp, in the constant shadow of the mass exterminations. He weaves into this some believable characters including a Polish Jew who had successfully escaped from occupied Europe, and is then prevailed upon to return to carry out an almost impossible mission, and his nemesis in the form of a side-lined Abwehr Colonel.

Both the set up of the situation and key players in the first half of the book and the suspenseful execution in the second ploy keep hold your attention turning pages right until the conclusion. The core material seems to have been well researched and is based on some well-documented history including Neils Bohr’s daring escape from the Nazis, and Denis Avey’s extraordinary excursion from the Auschwitz POW camp into the death camp to establish a first-hand record of the horrors.

It’s therefore a great shame that this is to some extent spoiled by a number of frustrating and wholly unnecessary errors in the timeline. Other reviewers have observed how the timelines for the key characters don’t quite “add up”. Beyond that there are completely incorrect factual references. The camp commandment goes to a meeting in May or June 1944 with Heinrich Himmler, fair enough, and Reinhard Heydrich, which would be a bit more of a challenge as he was assassinated in June 1942. The central character observes preparations for D-Day, counting the Stirling bombers out and back in again, and is pleased to benefit from the “newly introduced” Mosquito for the mission. The Mosquito was introduced in late 1940, and the Stirling was almost entirely eclipsed by the Lancaster and Halifax after 1943. Why add these incorrect references, when the book would have been fine without those details altogether?

I enjoyed this story, and will probably read some more of the author’s work, but it did leave me feeling a bit annoyed, and for no good reason.

]]>http://www.andrewj.com/blog/?bookreview=the-one-man/feed/0The Colour Nazishttp://www.andrewj.com/blog/2016/the-colour-nazis/
http://www.andrewj.com/blog/2016/the-colour-nazis/#respondWed, 21 Sep 2016 09:49:57 +0000http://www.andrewj.com/blog/?p=1850Continue reading →]]>Once upon a time, not so long ago, there was a movement obsessed with removing colour, especially those whose skin colour or religious preference was different to their own. This went to great extremes, caused the greatest of all wars, and we are all aware of the terrible atrocities done as a result. It is one of the horrors of our current time that those beliefs, which we thought had been consigned to history, seem to be getting some renewed attention and following.

If faced with political extremism, the predominantly liberal groups who control and shape our technology would typically be horrified and opposed. However at the same time they are forcing on us fashions and design paradigms which in their own way are just as odious, impacting the richness of our experience, and limiting rather than improving our ability to interact with technology.

I refer, of course, to the Colour Nazis. The members of this movement probably don’t think of themselves that way, and if forced to adopt a label would choose something much more neutral, but it is becoming apparent that some of their thinking is not that different.

This is not the first time I’ve complained about this. In 2012 I wrote "Tyranny of the Colour Blind, or Have Microsoft Lost Their Mojo?". The trouble is that things are getting worse, not better. Grappling with Office 2016 I’m coming to grips with some really dramatically stupid decisions which can only be explained by a Nazi zeal to remove the colour from our technological interactions.

Here’s a quick test. Find Open, Save and the Thesaurus in Office 2003:

Now let’s try Office 2010:

Not too bad. The white background actually helps by increasing contrast, and the familiar splashes of colour still draw your eye quickly to the right icons, although the Thesaurus is a bit anonymous. Now let’s try Office 2016:

The faded grey on a grey background colour scheme has wiped out most of the contrast, and you’d be struggling to make these out if you have ageing sight in a poor working environment. The pale pastel yellow of "Open" is still just recognisable, but the "Save " button has turned to a weird pale purple, and the Thesaurus is completely anonymous. I’d have to go hunting by hovering over each and reading the tooltip. (Before anyone shouts, I know I’ve used an add-in menu here to get a like-for-like comparison, but all this is equally true for the full-sized ribbon controls.)

Now let’s look at a really stupid example. One of Word’s great strengths is the ability to assemble and review tracked changes from multiple reviewers. In Word 2010 each will be assigned a distinctive colour, and I can very quickly see who’s who:

OK that works well. Let’s see what they’ve done in Office 2016:

WTF! One place where colour has a specific role as an information dimension, and they’ve actually taken it away. In the document the markup does use some colour, but in the form of a few pale pastel lines. Instead the screen is cluttered up with the name of the author against every single change, which makes it unreadable if multiple authors have made changes to a single page.

I am always among the first to remind designers not to rely on colour, as it doesn’t work well for about 8% of the population, or in some viewing conditions. But that’s no reason to remove it. Instead you should supplement it (e.g. make icons both distinctive colours and shapes), or allow the users a choice. Word 2016 should allow me to choose whether to use colour or explicit names in markup balloons, and I wouldn’t be having this rant.

There is apparently a name for this fad, "Complexion Reduction" (see Complexion Reduction: A New Trend In Mobile Design by Michael Horton). The problem is that its advocates seem to have lost sight of some key principles of human-computer interaction. One of these is that for normally-sighted people there’s a clear hierarchy in how we spot or identify things:

Colour. If we can look for a splash of colour, that’s easiest. That’s why fire extinguishers are red, or the little red coat was so poignant in Schindler’s List.

Shape / position. We manage a lot of interactions by recognising shapes. That’s why icons work in the first place. We even do this when the affordance supplies text as well. If you’re a native English speaker and reader you will inevitably have tried to move a door the wrong way, because "PUSH" and "PULL" have such similar shapes, and your brain tries shapes first, text second.

Text. When all else fails, read the instructions. That’s not a joke, it’s a real fact about how people’s brains work. If I have to go hunting in a menu or reading tooltips, then the designer has failed miserably.

Sadly I don’t know if there’s any way to influence this. These decisions are probably being made by ultra-hip youngsters with ironic beards and 20 year old eyes who don’t really get HCI. I’d just like one of them to read this blog.

]]>http://www.andrewj.com/blog/2016/the-colour-nazis/feed/0Microsoft : Busy Fixing What Ain’t Brokehttp://www.andrewj.com/blog/2016/microsoft-busy-fixing-what-aint-broke/
http://www.andrewj.com/blog/2016/microsoft-busy-fixing-what-aint-broke/#commentsMon, 29 Aug 2016 07:24:58 +0000http://www.andrewj.com/blog/?p=1837Continue reading →]]>There’s an interesting, but intensely annoying, behaviour by the big software companies, which as far as I’m aware has no parallel in other areas of production for consumer consumption. We’ve all been used, since the mid-20th century, to the concept of "planned obsolescence" to make us buy new things. While you might argue that this is not great in terms of use of resources, it’s accepted by consumers because the new thing is usually better than the old one. There might be the odd annoyance (as captured by Weinberg’s New Law, on which I’ve written before), but by and large if I buy a new camera, or car, or TV there are enough definite improvements to justify the purchase and any transition pain. In addition I only usually have to make a change either because the old thing has reached the end of its economic life, or the new thing has a new feature I really want.

It’s not that way with core software, and especially Microsoft products (although they are not the only offenders). The big software providers continue to foist endless upgrades on us, but I can’t see any evidence of improvement. Instead I can actually see a lot of what is known in other trades as "de-contenting", taking away useful capabilities which were there before and not replacing them.

Windows 10 continues to reveal the loss of features which worked well under Windows 7, with unsatisfactory or no replacements. I mourn the loss of the beautiful "aero" features of Windows 7 (with its semi-transparent borders and title bars) and a number of other stylistic elements, but there are some serious functional omissions as well. I couldn’t work out why my new laptop kept on trying to latch onto my neighbour’s Wifi, rather than use my high powered but secure internal service, and discovered that there’s now no manual mechanism to sort WiFi networks or set preferences. There is, allegedly, a brilliant new automated algorithm which just makes it automatic and no bother to the user. Yeah, right. Dear Microsoft, IT DOESN’T ***** WORK. Fortunately in the way of these things I’m not the only one to complain, and literally in the last couple of weeks a helpful Belgian developer has released a tiny utility which replaces the ability to list and manipulate the WiFi networks known to a Windows 10 machine (https://github.com/Bertware/wlan10). That’s great, and the young man will be receiving a few Euros from me, but it shouldn’t have to be this way. By all means add an automatic sequencer to the new system, but leave the manual mechanism as well.

However, my real object of hate at the moment is Microsoft Office. Since I set up the new MacBook with Windows 10 it’s never been entirely happy with the combination of versions I want to use: Office 2010, plus Skype for Business 2016. (Well actually I’d really prefer to use Office 2003, but I’m over that by now :)) I’ve had the odd problem before, having to install Visio 2016 because Visio 2010 and Skype/Lync 2016 keep breaking each other. I’m not sure how that’s even possible given the "side by side" library architecture which Microsoft introduced with Windows XP, but somehow they managed it, and they clearly don’t care enough about the old versions to fix the issue.

I could live with that, but a couple of weeks ago more serious problems set it. There was an odd "blip", and then OneNote just showed blank notebooks with the ominous statement "There are no sections open in this notebook or section group". That looked like a major disaster, as I rely on OneNote both to organise my work and to-do lists on a daily basis, and as a repository of notes going back well over 10 years. However a quick check online, and on other devices revealed that my data was fine. I lost a good chunk of a working day to trying to fix the problem, including a partial installation of Office 2016 to upgrade to OneNote 2016. That’s a lot more difficult that it should be, and something Microsoft really doesn’t want you to do. Nothing worked. By the end of the day I was so messed up I did a system restore to the previous day, hoping that would restore my system state and fix the original problem. At first glance this appeared to fix Office, although OneNote was still showing blank notebooks. However I then had a moment of inspiration and went online to OneDrive.com, and clicked the "edit in OneNote" option. This magically re-synced things, and got my notebooks re-opened on the laptop. Success?

Unfortunately not. Things seemed OK for a few days, but then I started getting odd error messages, and things associated with Outlook and the email system started breaking. Apparently even a complete "System Restore" hadn’t completely restored the registry, and my system couldn’t work out which version of Outlook was installed. An office repair did no good, and eventually I decided to bite the bullet and upgrade to Office 2016. Even that wasn’t trivial, and took a couple of goes but eventually I got there, and my system is now, fingers crossed, stable again.

And that would be fine if Office 2016 was actually a straightforward upgrade from its predecessors, maintaining operational compatibility under a stable user interface, but that’s where I came in. The look and feel, drained of colour and visual separation, is in my opinion poorer than before but I’ll probably get used to it. I’ve got an add-in (the excellent Ubit Menu) which gives me a version of the ribbon which mimics the Office 2003 menus, and which I also used with Office 2010, so I can quickly find things. But what that can’t do is fix features which Microsoft have just removed.

Take Outlook for example. I really liked the "autopreview" view on my inbox folders. Show me a few lines of unread emails, so I can both quickly identify them and, importantly, scan the content to decide whether they need to be processed urgently and if any can just be deleted, but hide the preview once I’ve read them. Brilliant. Gone. I have multiple accounts under the same Outlook profile, which is how Microsoft tell you it’s meant to work, and in previous versions I could adjust the visual properties of the folder pane at the left so I could see all the key folders at once. Great. Gone. Now I’m stuck with a stupid large font and line separation which would be great if I was working on a tablet with my fingers and a single mail account, but I’m not. Dear Microsoft, some people still use a ****** PC and a mouse…

Or take Word. Previous "upgrade" Office installations carefully preserved the styles in the "Normal" template, so that opening a document in the new version preserved its layout. Not this time. I’ve had to go through several documents with detail page layouts and check each one.

None of this is a disaster, but it is costing me time and money and it wouldn’t be necessary if either Microsoft didn’t keep forcing us to upgrade, or if they made sure to keep backwards compatibility of key features. It’s also not just a Microsoft problem: Adobe and Apple are equally guilty (witness features lost from recent versions of OSX, or the weird user interface of Acrobat XI). The problem seems to be that the big software companies don’t seem to have a business model for just keeping our core software "ticking over", and they confuse change with improvement, which is proving to not be the case now that these systems are functionally mature and already do what people need them to do.

I’m not sure what the answer is, or even if there is an answer. We can’t take these products away from the companies, and we don’t want them to become moribund and abandoned, gradually decaying as changes elsewhere render them unusable. Maybe they need to listen harder to their existing customers, and a bit less to potential "captures", but I’m not convinced that’s going to happen. Let the struggle continue…

]]>http://www.andrewj.com/blog/2016/microsoft-busy-fixing-what-aint-broke/feed/1Conversion Challengeshttp://www.andrewj.com/blog/2016/conversion-challenges/
http://www.andrewj.com/blog/2016/conversion-challenges/#respondFri, 12 Aug 2016 17:31:32 +0000http://www.andrewj.com/blog/?p=1833Continue reading →]]>I have an interesting challenge, as one of the projects I am working on want to stop their environments to save costs, but I need ongoing access to the data. I have a dump from an Oracle database, but I need to convert to SQL/Server which is much more portable. The solution looks like an excellent little product from "Intelligent Convertors", who have a whole suite of these tools. I’ll try it and let you know how I get on.

]]>http://www.andrewj.com/blog/2016/conversion-challenges/feed/0A Bit Stretched!http://www.andrewj.com/blog/2016/a-bit-stretched/
http://www.andrewj.com/blog/2016/a-bit-stretched/#respondSat, 30 Jul 2016 06:11:59 +0000http://www.andrewj.com/blog/?p=1829Continue reading →]]>Apologies if there hasn’t been much activity on the blog lately. I’m deep into the invention of the expert system I wrote about previously, and that’s filling the relatively small brain of this bear, and not leaving much space for other creative activities. However, I am gently working on a couple of longer articles I hope to share with you soon.

Meanwhile, I am working here and there to catch up on the photographic backlog. Frances and I had a couple of days in Prague about a month ago, and predictably I took a fair few photographs. What was interesting was the dynamic of the type of shots: I did relatively little close-up or 3D photography, but the opportunity to generate big panoramas positively abounds, especially if, as I did, you get up to the top of several of the towers open to the public. I’ve recently switched my panoramic development to Kolor’s Autopano Giga, which coupled with Capture One makes the whole process very quick and painless, effortlessly adjusting and stitching even images taken with a moving camera (moving from the waist, rather than rotating the camera around its optical centre as per correct technique), and those requiring substantial perspective correction.

The attached was taken from a point where the main entrance of the opera house filled the frame, and the two sides stretched away from me down two streets orthogonal to each other. It was also taken late at night, hand-held by available light but the Panasonic GX8 has made a decent job of managing highlights even if the sky does fall away to black. I think it works.

]]>http://www.andrewj.com/blog/2016/a-bit-stretched/feed/0Fashion Makes Doing IT Harderhttp://www.andrewj.com/blog/2016/fashion-makes-doing-it-harder/
http://www.andrewj.com/blog/2016/fashion-makes-doing-it-harder/#respondWed, 06 Jul 2016 19:56:13 +0000http://www.andrewj.com/blog/?p=1827Continue reading →]]>I’m about to start building an expert system. Or maybe I might call it a "knowledge base", or a "rule based system". It’s not an "AI", as at least in its early life it won’t have any self-learning capability, but will just take largely existing guidance from master technicians, and stick some code behind it to deliver the right advice at the right time. Expert system is a good term, or so I thought…

It’s a while since I built a rule engine, and I’ve never truly designed an expert system before, so I thought it might be a good idea to do some reading and understand the state of the art. That’s when the the trouble started. My client recommended a book on analysis for knowledge based systems, which I managed to track down for 1p + postage (that should have warned me). I got through most of the introduction, but statements such as "these new-fangled 4GLs might be interesting" and "we don’t hold with this iterative development malarkey" (I paraphrase slightly, but not much) made me realise that the "state of the art" documented was at least a generation old. The book has a few sound ideas about data structure, but pretty much everything it says about technology or process is irrelevant.

Back on Amazon, and I tried searching for "expert system", "knowledge base" and "rule based system". That generates a few hits, but nothing of any substance younger than about 12 years old, nothing on Kindle, and prices varying dramatically between a few pence and the best part of £100, both indications of "this is an old, rare book" and neither tempting me to make a punt. It doesn’t help that the summaries tend to be a list of technologies I’ve never heard of, and few seem to be focused on re-usable concepts and techniques.

OK, I thought. There’s obviously just a new term and I don’t know it. Wikipedia wasn’t much help, observing that the term "expert system" has largely gone out of use, and offering two opposing views why. Either expert systems became discredited and no-one does them any longer (I don’t believe that), or they just became "business as usual" (quite possible, but a good reason why you might write a book about them, not the opposite). No indication of the "modern" term, and few recent references.

Phone a friend. I emailed a couple of friends both of whom are quite knowledgeable in a breadth of IT topics hoping that one of them might say "Oh yes, we now just call them XXX". Nope. Both suggested AI and one suggested "cognitive computing", but as I’ve already observed, that’s a fundamentally different topic. Beyond that both were just suggesting the same terms I’d already tried.

Googling a practical question such as "rule based systems in .NET" produces a few hits and suggests that the state of technology support is pretty good. For example, Microsoft put the "Windows Workflow Foundation" into .NET in about 2008, and this includes a powerful rule engine which is perfectly reusable in its own right. So the technology is there, but again there’s not much general information on how to use it.

This appears to be a case where fashion is getting in the way. If something works, but is not "in", then authors don’t want to write about it, and editors don’t actively commission material. If the "thing" is something where the technology has improved, but not in a "sexy" way, then it goes unreflected in deeper or third party literature. Maybe that explains why Oracle seem driven to rename all their technologies every couple of years, it’s their way of attracting at least a modicum of interest even if it does confuse the hell out of developers trying to work out what has changed, and what really hasn’t.

So be it. I’m going to build a rule-based expert system knowledge base, and I don’t care if that’s not the modern term. It’s just frustrating that no-one seems to have written about how to do this with 2015 technology…

]]>http://www.andrewj.com/blog/2016/fashion-makes-doing-it-harder/feed/0Does Your Broadband Beat a Carrier Pigeon?http://www.andrewj.com/blog/2016/does-your-broadband-beat-a-carrier-pigeon/
http://www.andrewj.com/blog/2016/does-your-broadband-beat-a-carrier-pigeon/#respondFri, 06 May 2016 09:35:33 +0000http://www.andrewj.com/blog/?p=1825Continue reading →]]>There’s a famous quote "never underestimate the bandwidth of a station wagon full of tapes bowling down a highway". Musing on this I decided to try and estimate the bandwidth of a carrier pigeon, given modern storage technology. According to Wikipedia, a racing pigeon can maintain about 50 miles an hour over moderate distances. So let’s feed our pigeon, strap a 64GB micro SD card to each leg, and send him from Bristol to London,which should take about 2 hours.

128GB in 2 hours is roughly 1GB/minute, or say 160 Mbps (megabits per second). That’s about the effective transfer rate for USB 2, and is getting on for Gigabit LAN speed. It’s about 50 times faster than the best I get from BT Broadband, and probably over 100 times faster than the sustained broadband bandwidth over a week, which is about how long 128GB would take to transfer. Plus remember that that’s the download speed, and upload is another factor of ten slower…

Now I would be the first to admit that there are some limitations to the "pigeon post" architecture, especially in terms of range. The latency also precludes chatty protocols. But in terms of sheer transfer bandwidth Yankee Doodle Pigeon has "broadband" beaten hands down!

]]>http://www.andrewj.com/blog/2016/does-your-broadband-beat-a-carrier-pigeon/feed/0Going Greener!http://www.andrewj.com/blog/2016/going-greener/
http://www.andrewj.com/blog/2016/going-greener/#respondWed, 04 May 2016 06:09:42 +0000http://www.andrewj.com/blog/?p=1820Continue reading →]]>After talking about it for over a year, I decided that my transport needed to be “greener”, and finally bit the bullet on the respray. This is “Vivianite Green”, actually an official Mercedes colour in the late 90s, but for some reason Mercedes seem to have almost completely abandoned cheerful colours in their factory output. Hopefully I can be a small part of rectifying that deficiency. Put your sunglasses on!
]]>http://www.andrewj.com/blog/2016/going-greener/feed/0All Tide Uphttp://www.andrewj.com/blog/?bookreview=all-tide-up
http://www.andrewj.com/blog/?bookreview=all-tide-up#respondMon, 25 Apr 2016 10:47:35 +0000http://www.andrewj.com/blog/?p=1817Continue reading →]]>Like it’s predecessor, Man Up!, this is a knock-about farce based around the capable but somewhat cursed sports agent, Patrick Flynn. This time the key protegé is a nymphomaniac Russian tennis player, but otherwise the cast of gangsters, hit-men (& -women) and scam artists hasn’t changed much. So much the better for that. Several of the key characters miraculously make it through from the first book to the second, and if you want to understand how then you first need to read the author’s even more farcical short story Icy Hot.

This style of comedy writing is difficult to pull off, and can mis-fire, but Alex Cay seems to have it off pat. The body count continues to be high, but sometimes (not always) with a slapstick element which invokes a lighter cartoonish tone. The sex scenes are moderately graphic, but provide both the prime driver for several of the female characters and a fair element of the humour. However as long as you are comfortable with a fairly adult style then you will enjoy and frequently laugh out loud at this outlandish tale.

It’s always encouraging when someone takes note and acts on a review. The author personally asked me to review his first book, and I happily did so noting that I’d like to see a change of location, fewer detailed American sports references, and a couple of stylistic tweaks. He has delivered on all those requests, and that makes the book all the more readable. Thanks for listening, Alex!

A great holiday read. I look forward to the next instalment.

]]>http://www.andrewj.com/blog/?bookreview=all-tide-up/feed/0The Eerie Silencehttp://www.andrewj.com/blog/?bookreview=the-eerie-silence
http://www.andrewj.com/blog/?bookreview=the-eerie-silence#respondSat, 23 Apr 2016 09:54:47 +0000http://www.andrewj.com/blog/?p=1813Continue reading →]]>This book is a review, at the 50 year point, of the Search for Extra-Terrestrial Intelligence (SETI), and a consideration of how it may evolve in the future, by the scientist who heads several of its key committees. It’s a wide-ranging discussion which provides some answers for Enrico Fermi’s great challenge (“Where is everybody?”), and prompts the reader to consider how much we really know given how much our knowledge has advanced and changed since SETI was established in the early 1960s.

The early part of the book is focused on the current evidence for other forms of intelligent life, considering what we know of its genesis, the evidence (or rather profound lack thereof) for any second start either on earth or in the solar system, and whether evolution will naturally or regularly produce intelligent, scientific and technical species. Here Davies takes a fairly negative view, although he acknowledges that we have simply failed to uncover evidence from our earth-based viewpoint, and that “absence of evidence is not evidence of absence”.

The latter part looks at the potential forms of a “galactic diaspora”, accounting for our vastly increased knowledge of alternative information carriers, information systems, machines and engineered probes including the conventional, the biological and those based on nano-technology. Again there’s no evidence yet, but this section explains that alien signals or probes might just be too different, or too small, for us to detect. The conclusion is that we need SETI to avoid being athropocentric, and especially not “1960s radio astronomer centric”.

The final chapters explain the current state of preparation for First Contact (which seems to consist mainly of international committees sending telegrams to each other, and may not be up to the arrival of city-sized spaceships over the capital cities of the UN Security Council :)). The author also discusses what form of messages we should choose if and when we do send any ourselves. The assertion that only key mathematical and physical theorems are guaranteed to bridge all scientific species is a sound one, but maybe misses the point that the Pioneer plaques and similar are just as much an expression of our humanity to ourselves as a serious attempt to communicate with minimum ambiguity.

While the book is inspiring and thought-provoking, it’s also a bit frustrating in places. Davies asserts correctly that the Earth is progressively becoming “radio silent” to long-distance observers, but blames this entirely on the move to put major long distance communication channels into cables. A more complete explanation is that our world is full of vastly more wireless communication that 50 years ago, but as we adopt spread-spectrum and encryption technologies and get better at using low power and highly directed signals the “overspill” into space is much more difficult to detect. Similarly he presents an explanation of Galactic Inflation I haven’t read before (the absence of magnetic monopoles), but fails to present the more common justifications.

In considering alterative technologies Davies binds himself with our current science, despite the fact that there is significant evidence (the failure to unify General Relativity and Quantum Physics, the lack of any real explanation for Dark Matter and Dark Energy) that there are things about the Cosmos we just don’t understand, and which an alien civilisation (or a future humanity) may exploit. While Davies correctly advises against wishful thinking, it would be prudent to accept that just as our own understanding has changed vastly in the last 100 years, it will likely change again in the future, perhaps opening up valid options for, for example, super-light speeds.

However, those criticisms aside, this is an enjoyable, intriguing and well worth-while book. In the final few pages Davies himself observes that there is a contention between the official views of Davies the relatively cautious scientist and Davies the philosopher, human being and SETI enthusiast, and some of the challenges come from presenting and navigating those different viewpoints, which overall is done very well. I thoroughly enjoyed this book, and recommend it.

]]>http://www.andrewj.com/blog/?bookreview=the-eerie-silence/feed/0Creating 3D Images for On-Screen Displayhttp://www.andrewj.com/blog/2016/3d-photography/
http://www.andrewj.com/blog/2016/3d-photography/#respondMon, 18 Apr 2016 10:21:51 +0000http://www.andrewj.com/blog/?p=1810Continue reading →]]>There’s a significant dearth of information on the internet regarding how to create high-resolution 3D images for display on a suitable TV. While many of us regularly enjoy watching visually stunning 3D movies both in cinemas and also on television, if you try and research creating your own 3D images you are led either into the highly technical space of professional production, or at the other extreme you end up reading a lot of rubbish about squinting at pairs of postage-stamp images to "try and get a 3D effect".

While I don’t want to be unkind, the latter is completely out of touch with our target environment, a 3D-enabled large screen television. Such devices are now relatively common, and there ought to be a recognised process for creating suitable images for them. As it turns out, it’s perfectly possible and relatively easy to create stunning 3D images which will display at the full resolution of the target television. With a little discipline and practice you can do so reliably with any camera, and even hand-held.

]]>http://www.andrewj.com/blog/2016/3d-photography/feed/0Influxhttp://www.andrewj.com/blog/?bookreview=influx
http://www.andrewj.com/blog/?bookreview=influx#respondFri, 15 Apr 2016 10:29:21 +0000http://www.andrewj.com/blog/?p=1807Continue reading →]]>Daniel Suarez is billed as the new Michael Crichton. While a few of his novels have come onto my radar, this is the first I have read. Based on this showing there’s a great deal of promise, but the fairly derivative nature of the plot suggests that at least for now the pure inventiveness of Crichton has yet to be matched.

The basic precept is this: imagine that many of the key inventions we have been patiently awaiting for the last 50 years – controlled fusion, quantum computing, reliable cloning, a generic cure for cancer – have actually been found, but are hidden from the world at large. What warped power and societal structures would that drive? It’s a great precept, although here it’s turned into a recognisable and predictable plot, with a heroic inventor on the run, while dark forces try to suppress inventions on behalf of the status quo. In some ways it’s reminiscent of Chain Reaction, and by pure coincidence I had also just read Catalyst by Boyd Morrison, which while markedly less futuristic tells a similar tale.

My other slight gripe is that this suffers in a few places from “techno-babble”, short sections which appear to just be a dumping-ground for a large number of technical terms, which just about boil down to “magic”. I know the author is trying to establish the BTC’s technological superiority, but that’s adequately done by the more detailed examples in the main flow of the text.

That said, this is a clever piece, challenging preconceptions and frequently, even literally, turning them on their heads. As a techno-thriller it’s well written, keeping the reader’s attention fully engaged from the first page, and I will certainly be reading more of Suarez’s books.

]]>http://www.andrewj.com/blog/?bookreview=influx/feed/0Mother Tonguehttp://www.andrewj.com/blog/?bookreview=mother-tongue
http://www.andrewj.com/blog/?bookreview=mother-tongue#respondWed, 13 Apr 2016 10:24:07 +0000http://www.andrewj.com/blog/?p=1803Continue reading →]]>This is an amusing and enjoyable romp through the history of the English language, and a delight for closet linguisticists like myself. Bill Bryson takes us on a fascinating and funny tour of the history of the English language, how it became a (arguably the) world language, how its usage, spelling and grammar vary with time, location and context, and how it continues to develop. However like this reader it’s older than you think…

Amazon have been pushing this book hard recently, and I downloaded the book in Kindle format in the expectation that it was a relatively new work, with an apparent publication date of 2009. However reading the opening chapter I got a strange sense of deja vu, and realised I had read it before, but evidently long before the advent of either e-reading or publishing and cataloguing my own reviews. I reckon I last read this not long after its original publication in 1990, so about a generation ago! It has rewarded a re-read, but has left me thinking how much better a book it might be for an refresh.

A lot has changed in the last 25 years which directly affects our use of language, and particularly English. Foremost in my mind are the end of the Cold War, the rise of the Asian economic powerhouses presenting relatively direct services to the rest of the world, and, above all, the development of the Internet and mobile technologies. The latter have brought the expectation that pretty much any two humans, anywhere, may have both the wish and the technical means to communicate, and across national boundaries will usually use English to do so. Technology has both led and enabled big changes to how we use language, and we increasingly design our messages and evolve our language around the constraints and possibilities of the transmission and consumption platforms. “Thanx”, “R U OK” and “GR8” don’t appear in this book, but they belong there.

It would be great to understand whether the wider use of English is driving greater homogenisation of usage and acceptance of obvious simplifications, or whether we are just further “baking in” the idiosyncrasies, and adding a new layer on top. Does the availability of online resources such as dictionaries and thesauruses drive the wider adoption of correct usage, or is this outweighed by the need for simplification of the message? Do tools such as spell checking, predictive text and automated translation increase or decrease individual language skills?

In fairness to Bill Bryson, he does recognise some of these challenges in his final chapter, and makes many of the right calls on general direction, but the book itself is now a period piece the other side of major technological and geopolitical changes.

Despite the fact that Bryson wrote this book when he had been living in Yorkshire for many years, it has a bit of an American focus, typically assuming that the reader knows the American usage but needs the British explaining. Once you’ve tuned into this it’s fine, but it can throw British (and I suspect other) readers slightly at first. Other slight downsides are that like some of Bryson’s other books it’s arguably a bit too long, and in the last third some of the examples get a bit repetitive, and also some other reviewers suggest that the fact checking, especially around non-English languages, is perhaps a bit suspect.

Having said all that, the books remains highly readable, full of wonderful anecdotes and nuggets of knowledge, and if you accept its horizon, well fills a role which I don’t think is met by any other book which I have read. Enjoy it, but acknowledge and forgive that it’s slightly showing its age.

]]>http://www.andrewj.com/blog/?bookreview=mother-tongue/feed/0Twin Tales of Sporting Daring-Dohttp://www.andrewj.com/blog/2016/twin-tales-of-sporting-daring-do/
http://www.andrewj.com/blog/2016/twin-tales-of-sporting-daring-do/#respondMon, 04 Apr 2016 05:56:38 +0000http://www.andrewj.com/blog/?p=1801Continue reading →]]>The 1988 Winter Olympics brought us not only one, but two heart-warming stories of sporting heroism by unconventional outsiders. The story of the Jamaican Bobsleigh Team was told promptly in the wonderful 1993 Disney picture Cool Runnings, but we’ve had to wait nearly 30 years to see the other tale, that of Eddie the Eagle, on the silver screen.

Part of the challenge is that the dramatic conventions of such films force their screen renderings to be quite similar. In reality the situations were somewhat different. Until the wheels (or at least the runners) literally came off the Jamaicans had built up a real prospect of a good place, powered by a team three of whom could run 100m in less than 10s. Eddie Edwards had his utter determination to take part, and had built up a decent competition record on skis, but was only ever likely to come last. The new film acknowledges this, but otherwise echoes the earlier one in many ways, with the same drunk and disgraced former athlete as coach, the condescending officials who see the outsiders as challenging the dignity of their sport, parents who are split on whether to support their sons or not, fellow athletes who are initially rude but who come to respect the outsiders’ determination, and so on.

When two films, by co-incidence , tackle the same subject at the same time it’s inevitable that they are compared and one (Deep Impact, Olympus Has Fallen) falls into the shadow of the other (Armageddon, White House Down). While I get the impression that the makers of the new film didn’t want to wait nearly a generation to make it, maybe by doing so they have both reduced this effect (except from old codgers like yours truly), and will perpetuate these great sporting tales into a new audience who might not otherwise have been aware of them.

Comparisons and conventions aside, Eddie the Eagle is an excellent film. It captures both the flights and thumps of ski jumping, and modern filming techniques allow you to be there on the skis with the jumpers. However it excels in telling the human stories, with Edward’s determination against the odds beautifully portrayed, as is the growing admiration of those who both supported and opposed him. I have two abiding memories of the Calgary Olympics. One is of four black guys carrying their broken bobsleigh over the finish line, and the other is of an interview about Eddie with the slightly cold and aloof Finnish ski-jumping champion Matti Nykänen who the reporter was expecting to be rude and dismissive. Instead the young Finn was warm and supportive of Edward’s right to be there, and pretty much put the seal of approval on his attempt at the 90m hill. In the film that same support is portrayed in an elevator conversation between the two men, and brought my memories flooding back.

The film is also very funny, and that triggered another personal element. We went to see it yesterday in Guildford, and a large extended family had clearly block-booked the central seats next to ourselves. I noticed that when the same writer’s name was shown twice in the credits, there was a little Mexican wave by the kids, and thought "oh, that Simon Kelton must have someone in", but then sat down to enjoy the film and laughed as loud as I normally do when so entertained. Afterwards, one of the family group came up to me and asked "was it you who was laughing so loudly?" I confirmed that it was, and he introduced himself as the writer. It’s not often I can personally express my thanks to an entertainer, and it was great on this occasion to get the chance.

It’s a good film. Go and see it. And afterwards, try and catch up with Cool Runnings.

]]>http://www.andrewj.com/blog/2016/twin-tales-of-sporting-daring-do/feed/0Does a Photograph Portray the Subject, or the Photographer?http://www.andrewj.com/blog/2016/does-a-photograph-portray-the-subject-or-the-photographer/
http://www.andrewj.com/blog/2016/does-a-photograph-portray-the-subject-or-the-photographer/#respondMon, 28 Mar 2016 07:45:16 +0000http://www.andrewj.com/blog/?p=1796Continue reading →]]>Mike Johnston (no relation) over at The Online Photographer has recently run a number of articles discussing the extent to which the photographer adjusts the “look” of a photograph (see What Should a Photo Look Like?) His primary examples were a set from a recent New York Times online photo essay, Cuba on the Edge of Change.

While it’s a fine article, the photos, with one slight exception showing a bride on the way to her wedding, all portray a dark, crumbling, slightly grim Cuba. The following is a good example:

Image from New York Times, photographer not identified

There’s nothing wrong with this photo. Some might say it’s a very good image. However it has been deliberately selected, as have all the others in the article, to show and reinforce the image of a struggling, poor, backward Cuba which is the common American image of the country. The low-key lighting is part of this “story”, and the look of the photos has been adjusted to enhance that.

I went to Cuba in 2010. Yes, I saw decay, old buildings which had not been well repaired, and I certainly saw poverty. I did see a few, not many, people surviving by begging. But that’s not my enduring memory of the country, and doesn’t fill the best of my images. I saw a country full of happy, reasonably healthy and well fed people who were managing to stay cheerful in a difficult economic situation. My pictures are full of smiles, kids running around, and, yes, lots of bright colours and a high key look. That reflected the Cuba I wanted to portray.

The picture at the top more accurately portrays the Cuba I saw than the NYT one, but I’m a positive sort of chap, and I was on a very enjoyable holiday. I don’t know whether the NYT journalist and photographer (or photographers, it’s not clear) had had a worse experience, or were just trying to illustrate a narrative that was already in their minds, but I’m willing to bet the latter.

So to my mind the question is not “what sort of look do you want in your photos”? Your photos will reflect a composite of the subject, true, but also the photographer’s own outlook. Inevitably the photographs will be both taken and prepared coloured with the effects of that outlook just as much as, maybe even more than, the original beams of light.

]]>http://www.andrewj.com/blog/2016/does-a-photograph-portray-the-subject-or-the-photographer/feed/0My Travel Pagehttp://www.andrewj.com/blog/2016/my-travel-page/
http://www.andrewj.com/blog/2016/my-travel-page/#respondThu, 10 Mar 2016 16:03:48 +0000http://www.andrewj.com/blog/?p=1791Continue reading →]]>Some things don’t scale. You start off doing something, but before you know it it’s outgrown its usefulness and needs to change. So it is with website design…

I started off with lists in a couple of places on this site of blogs or albums related to trips I’ve done. However as the list has grown they were getting a bit unwieldy and out of step with one another. I have therefore practiced what I preach, and "re-factored" them to a new "index" page, at www.andrewj.com/travel

Take a look, and let me know what you think.

]]>http://www.andrewj.com/blog/2016/my-travel-page/feed/0Camera History Updatehttp://www.andrewj.com/blog/2016/camera-history-update/
http://www.andrewj.com/blog/2016/camera-history-update/#respondTue, 16 Feb 2016 06:51:23 +0000http://www.andrewj.com/blog/?p=1781Continue reading →]]>As part of a general tidy-up, I’ve updated my camera history page, with a new photo of the "fleet". It may amuse you, especially as the count has crept back up again! "Photography" is a combination of many separate hobbies, and I’m definitely engaged in the "buying and selling cameras" sub-division.
]]>http://www.andrewj.com/blog/2016/camera-history-update/feed/0