Category Archives: Thoughts on the World

An Experiment

Readers of longer standing may remember the agonising when I had to replace my 2009 Toshiba laptop, as there had been yet another shift in screen aspect ratio standards, and in order to preserve a decent vertical screen size, I ended up buying a massive Alienware M17X laptop for my main work machine. It’s still a great machine, but “portable” is not an appropriate adjective…

This means I need another laptop for travel. For a while I soldiered on with the old Toshiba Satellite Pro, sticking a large SSD in and upgrading to Windows 7. This works fine, but inevitably software tends to expand to match hardware capabilities, which means running the latest versions of compute-intensive software such as Capture One starts to feel challenging on older hardware. The major nail in the coffin came in Barbados this year, when we discovered that The Crane had upgraded most of the televisions to new models with only HDMI inputs, and the Tosh only has a VGA output. This put a significant crimp in our television watching.

Back home, and the search for a new travel laptop began. One of the interesting challenges is that while I need an HDMI output for plugging into newer televisions, I also definitely need a VGA output on what will be a business tool, for plugging into projectors. However in about the past year Intel in their “wisdom” have decided that newer PCs should not have VGA outputs, despite the vast number of VGA-only projectors still in daily business use. After some agonising I found a deal from Dell for an “outgoing stock” 2013 model Latitude E5530, which has a Core i7 processor (of which more later), and, importantly, both VGA and HDMI ports.

Setting it up was refreshingly easy, as I purchased a 750GB SSD and simply cloned the old travel laptop onto this disk, stuck it into the new machine, and updated a few drivers. I have a fairly complex file replication scheme set up on all my laptops using the excellent SyncBack SE, which allows my work to just flow smoothly backwards and forwards between them, so that I can work on the Alienware M17X if I’m driving somewhere, or switch to the Dell if I’m travelling by other means. As a business computing arrangement it works pretty well. Recently I’ve been splitting my time between home, the Midlands, central London, Cologne and Berlin, and it’s served its primary purpose.

Unfortunately, there are some limitations. Firstly, although the Dell has a Core i7 processor, it turned out to be a dual core version. I didn’t spot this when I bought the machine, as I didn’t realise such things even existed! While it’s not a limitation if I’m doing normal business computing, it does affect my ability to do some tests with virtualisation or performance simulations, which have been an element of my recent work. Coupled with the relatively slow integrated graphics, it’s significantly slower when I’m processing images for my photography.

However the main issue is the stupid slitty “widescreen” display, which is only 768 pixels deep. This makes it almost unusable for some programs, such as Capture One, and a bit of a challenge even for working on large spreadsheets, project plans, or documents where I want to see an overview of a page. Coupled with a disappointingly dim screen which is very sensitive to viewing angle, it’s effectively unusable for my photography.

The result is that I’ve started lusting after alternatives. There is, of course, one hardware supplier who “get” the need for a sensible screen aspect ratio, and also have display technology which produces bright, colour accurate images tolerant of quite a wide viewing angle range. I am talking about Apple. One of my colleagues has a three year old 15″ Macbook Pro, and while I’m no lover of OSX, the screen is exactly what I need.

So that got me thinking, maybe the answer is a hybrid solution: Mac hardware running Windows :)… Yesterday I bit the bullet and purchased a 2011-era 15″ Macbook Pro, with a four core i7 processor. I will do my usual trick of installing maximum RAM and a big SSD, and it should more or less match the Dell for performance and portability, plus deliver a bit more style to boot. The interesting challenge is whether I can pull off my trick of just installing a clone of my existing laptop set-up, or whether I will have to re-install everything with a more complex dual-boot solution managed by OSX. I’ll also have to get used to running Windows on an Apple keyboard, which may be interesting.

Let the experiment commence!

Posted in PCs/Laptops, Thoughts on the World | Leave a comment

Goodbye Dr. Love

John Holt at the Barbados Reggae Festival, 2014
Camera: Panasonic DMC-GX7 | Date: 26-04-2014 04:14 | Resolution: 3424 x 3424 | ISO: 3200 | Exp. bias: -66/100 EV | Exp. Time: 1/100s | Aperture: 5.6 | Focal Length: 300.0mm | Lens: LUMIX G VARIO 100-300/F4.0-5.6

I was very sad this morning to hear of the passing of the great reggae singer, John Holt. Help Me Make It Through The Night is very possibly my favourite reggae love song, and the contrast between his sweet voice and the electric brass section always sends shivers down my spine. We were lucky enough to see John perform several times at the Barbados Reggae Festival, most recently this April, by which time he was probably already ill, but it took nothing from his performance. A great musician, who will be sadly missed.

View featured image in Album
Posted in Barbados, Thoughts on the World | Leave a comment

Don’t Judge A Book By Its Cover

This week I am supporting the TRW presence at Automechanika in Frankfurt. Due to a cock-up on the packing front by the team leader this morning found us short of a wireless router essential to connect our demonstration vehicle to the Internet. An attempt to source one at the airport failed, and this morning Anne and I were sent out to procure a replacement.
Our hotel is close to a small commercial area, and we quickly identified a number of promising stores, which unfortunately shared a relatively late opening time of 10am. 9am therefore found us wandering forlorn with only bakeries and pharmacies able to serve.
Right at the end of the street we found Zam Zam’s Party Emporium, and in desperation ambled inside. There amongst the balloons, fancy dress costumes and greeting cards, on a shelf above the till, was not one but a choice of six different wireless routers!
35min later we were on our way, problem solved. Dixons 0, Zam Zam 1. Result!

Posted in Thoughts on the World | Leave a comment

Caught by The Law!

Don’t get too excited. Those of you hoping to see me carted off in manacles and an orange jumpsuit will be sadly disappointed…

No, the law to which I refer is Moore’s Law, which states effectively, if you need reminding, that computing power doubles roughly every eighteen months.

Recently I’ve been doing some work to model a system in which two sub-systems collaborate by exchanging a very large number of relatively fine-grained web services. (I know, I wouldn’t have designed it that way…) The two partners disagree about how the system will scale, so it fell to me to do some modelling of the behaviour. I decided to back my analysis up with a practical simulation.

Working in my preferred environment (VB.Net) it didn’t take long to knock up a web service simulating the server, and a client which could load it up with either synchronous or asynchronous calls on various threading and bundling models. To make the simulation more realistic I decided that the service should wait, with the processing thread under load, for a given period before returning, to simulate the back-end processing which will occur in reality. The implementation should be simple: note the time when the service starts processing, set up the return structures and data required by my simulation, check the time, and then if necessary sit in a continuous loop until the desired total time has elapsed.

It didn’t work! I couldn’t get the system to recognise the time taken by the internal processing I had done, which threw out the logic for the loop. Effectively the system was telling me this was taking zero time. The problem turned out to be that I had assumed all processing times should be measured in ms. 5ms is our estimate of the average internal processing time. 6ms is our estimate of the round trip time for the web services. It seemed reasonable to allow a few ms for the processing in my simulation. Wrong!

It turns out that VB.Net now measures time in Ticks, which are units of 100ns, or one tenth of a microsecond. So I rewrote the timing logic to use this timing granularity, but still couldn’t quite believe the results. My internal processing was completing in approximately 1 Tick, or roughly 10,000 times faster than I expected.

Part of this is down to the fact that my simulation doesn’t require access to external resources, such as a database, which the real system does. But much of the difference is down to Moore’s Law. The last time I did something similar was around 10 years ago, and my current laptop must at least 100 times faster.

The moral of the story: beware your assumptions – they may need a refresh!

Posted in Agile & Architecture, Code & Development, PCs/Laptops, Thoughts on the World | Leave a comment

Webkit, KitKat and Deadlocks!

I don’t know what provision Dante Alighieri made, but I’m hoping there’s a special corner of Hell reserved for paedophiles, mass murderers and so-called engineers from big software companies who think there might ever be a justification for breaking backwards compatibility. I suspect that over the past 10-15 years I have wasted more computing effort trying to keep things working which a big company has broken without providing an adequate replacement, than is due to any other single cause.

The latest centre of incompetence seems to be Google. Hot on the heels of my last moan on the same topic, I’ve just wasted some more effort because of a major Google c**k-up in Android 4.4.X, AKA KitKat. My new app, Stash-It!, includes a web browser based on the “Webkit” component widely used for that purpose across the Android, OSX and Linux worlds. On versions of Android up to 4.3, it works. However when I released it out into the wild I started getting complaints from users running KitKat that the browser had either frozen altogether, or was running unusably slowly.

It took a bit of effort to get a test platform running. In the end I went for a VM on my PC running the very useful Androidx86 distribution (as the Google SDK emulator is almost unusable even when it’s working), and after a bit of fiddling reproduced the problem. Sometimes web pages would load, sometimes they would just stop, with no code-level indication why.

After various fruitless attempts to fix the problem, I discovered (Google.com still has some uses) that this is a common problem. In their “wisdom” Google have replaced the browser component in KitKat with one which is a close relative of the Chrome browser, but seem to have done so without adequate testing or attention to compatibility. There are wide reports of deadlocks when applications attempt any logic during the process of loading a web page, with the application just sticking somewhere inside the web view code. That’s what was happening to me.

The fix eventually turned out to be relatively simple: Stash-It feeds back progress on the loading of a web page to the user. I have simply disabled this feedback when the app is running under KitKat, which is a slight reduction in functionality but a reasonable swap for getting the app working… However it’s cost a lot of time and aggro I could well have done without.

Can anyone arrange a plague of frogs and boils for Google, please?

Posted in Agile & Architecture, Android, Code & Development, Thoughts on the World | Leave a comment

Busy Bee…

Busy bee in the Loseley Park gardens
Camera: Panasonic DMC-GX7 | Date: 25-05-2014 15:12 | Resolution: 3274 x 3274 | ISO: 200 | Exp. bias: -33/100 EV | Exp. Time: 1/500s | Aperture: 8.0 | Focal Length: 35.0mm | Location: Loseley House | State/Province: England | See map | Lens: LUMIX G VARIO 12-35/F2.8

I’m sorry things have been quiet on the blogging front recently. I got back from my very restful holiday in Barbados expecting to take some time to find new work. Within two hours, before I could do anything, I had a query out of the blue from an ex-colleague I hadn’t seen for 10 years, and I was back under contract in a couple of days. (OK, technically that qualifies as “some time”, but you know what I mean…) I can’t say too much, but it’s a very exciting web- and service-based initiative in the automotive sector, which is new to me. It’s very interesting, but hard work between learning a new business, sorting out a problem project, and travelling backwards and forwards between the UK and Germany.

Hopefully normal service will be resumed when things settle down, but no sign yet!

Between last weekend’s storms, Frances and I managed to capitalise on the one sunny and dry session to visit Loseley Park. I took the Panasonic GX7 and the Lumix G Vario 12-35mm/F2.8 lens. This is far and away the best “normal” lens I have ever owned. Despite its relatively small size it really is just like a series of high quality prime lenses in a single box, sharp at all lengths and apertures and with vanishingly little aberration, even before processing. If and when I get a Panasonic GH4 the pairing will also provide me with a “rainproof” micro four thirds kit.

Photographing other busy bees at work requires a bit of patience, as they are constantly on the move, and I had my share of blank frames! However when I did get the subject in frame and in the focus zone, the hit rate was fairly high. Even though the 12-35mm is not a dedicated macro lens, you can see individual pollen grains on the bee’s back, which can’t be bad.

Enjoy these, and I hope you are busy enough, but not too busy.

View featured image in Album
Posted in Micro Four Thirds, Photography, Thoughts on the World | Leave a comment

My First Android App: Stash-It!

After a couple of months of busy early morning and late night programming, my first Android app has finally been released. Please meet Stash-It!

Stash-It! responds to an odd side-effect of the difference between the iOS and Android security models. On the iPad, there are a large number of applications which offer an “all in one” approach to managing a group of related content. These are a bit frustrating if you want to share files transparently and seamlessly between applications, but there are times when you want to manage a group of files securely, and then the iOS approach is great.

Android is the original way around. The more open file system and component model encourages the use of specialist applications which do one job well, but it can be a challenge to keep related files of different types together, and hide them if you don’t want private client files or the like turning up un-announced in your gallery of family photos!

Stash-It! tries to plug this gap, by providing an “all in one” private file manager, tabbed browser and downloader for Android. You can get all these functions independently in other apps, but Stash-It! is the only one which brings them together in one place. It’s the ideal place to keep content you want safe from prying eyes: financial and banking records, health research, client documents. I suspect a few will even use it for a porn stash, but that’s not its only use! 🙂

There are built in viewers for most common image and movie formats, plus PDF and web files, so you don’t have to move these outside the application to view them. However when you do need to use an external application Stash-It! has a full suite of import and export functions to move your files or open them with other applications.

It took a while to design the security model. Stash-It! encrypts the names of files so that they can’t be read, and won’t be visible to the tablet’s gallery and similar applications, but the content of your files is untouched, so there’s little risk of losing data. Hopefully this strikes a sensible balance between privacy and risk.

Even if you’re not too worried about privacy Stash-It! is a great place to collect material related to as particular project, with all your different file types and web research in one place. You can bookmark web links, but also positions in video files or PDF documents. Web pages can be saved intact for reference or offline reading. Again you can do a lot of these things in separate apps, but I believe Stash-It! is the first one to bring all these functions together where you might want them.

I’ve got a lot of ideas in the pipeline to improve it further, but its now time to test the market and see whether I’ve spotted a gap which needed plugging or not.

Take a look and let me know what you think!

 

Here’s the Google Play Page. You can also read the helpfile.

Posted in Agile & Architecture, Android, Apps, Code & Development, My Publications, Thoughts on the World | Leave a comment

The Concert for Jon Lord

Deep Purple Mark 3.5 + orchestra giving "Burn" some wellie!
Camera: Canon PowerShot S120 | Date: 04-04-2013 20:41 | Resolution: 3785 x 2524 | ISO: 800 | Exp. bias: 0 EV | Exp. Time: 1/25s | Aperture: 5.7 | Focal Length: 26.0mm

Last Friday we attended a wonderful concert celebrating the life and music of the late Jon Lord, “musician and gentleman”. This unique event filled the Royal Albert Hall, both in front of and the stage, which as befits the man who dedicated himself to merging orchestral and rock music, was largely filled by an impressive 80 piece orchestra, with only a small space at the front for the soloists and rock musicians.

After a few emotional introductions, the concert started with the first movement of the Concerto For Group And Orchestra, which led into a first half entirely devoted to Jon’s orchestral music. The highlight was undoubtedly a stunning rendering of Sarabande. The last time we saw Jon Lord was at the Sunflower Jam 2011, when he did a spine-chilling version with a solo violinist. This was quite different, as conductor and musical arranger Paul Mann used the full power of the group and orchestra at his disposal, and re-cast Sarabande as a rolling battle between the strings, and everyone else.

The second half followed a very different vein, with a focus on Jon’s rock music. Things got off to an excellent start with Paul Weller re-creating The Artwoods and running through a couple of their rocking 60s numbers – which I have on 8-track cartridge! Next up was the music of Paice Ashton Lord. Ian Paice and original bassist Bernie Marsden were supplemented by Don Airey, and a young Irish singer, Phil Campbell, who did great justice to the lyrics and vocals of the late Tony Ashton.

The focus then moved on to Deep Purple Mark 3/4, firstly with an orchestral version of Soldier of Fortune, then with the arrival of original bassist and backing vocalist Glenn Hughes, Bruce Dickinson joining on vocals, and a second keyboards slot filled by Rick Wakeman. This set included the ballads This Time Around and You Keep On Moving from the under-appreciated post-Blackmore album Come Taste The Band, for which Hughes and Lord obviously shared writing duties, but the crescendo was Burn. This was a great choice – a true Purple anthem which we will never hear from the current Glover/Gillan line-up, it showcases Hughes’ falsetto vocals which are undiminished from the 70s, and it has two organ solos, one each for Wakeman and Airey… Add an enthusiastic full orchestra and, I swear, the Albert Hall’s enormous pipe organ, and the sound was felt as much as heard.

Finally, the stage re-filled with the current Deep Purple line-up. They started their set with a couple of more recent tracks, including their own tribute to Jon Lord, Above and Beyond. They then got stuck into a selection of more classic tracks. Some, like Black Night, were played straight by the band, but appropriately most were re-cast to exploit the orchestral musicians. The two which particularly stick in my memory are Perfect Strangers, with the haunting riff perfectly suited to a large string section, and a unusual but very effective version of Lazy, with the lead guitar part played largely by a violin!

The culmination of the evening was an “all hands” version of Hush, featuring the full orchestra and for which many of the other solo musicians were invited back on stage. With more than 10 rock musicians and almost 80 orchestral ones this threatened to lift the Albert Hall’s famous roof, and clearly great fun was being had by all. Those who have criticised Jon Lord’s attempts to merge rock and orchestral music could not have been proven more wrong.

All in all, a fitting tribute to the great man.

View featured image in Album
Posted in Thoughts on the World | Leave a comment

Scarily Bad

Reversing the scarily effective performance of Google Now, I just had a dangerous experience with Google Voice Typing. I attempted to make a note in a busy café with a lot of background noise. After I stopped talking it sat and tried to take in some of the other sounds as well, and then tried to parse what it had heard.

The result: one four letter word, a colloquial term for excrement! That’s not what I said…

Posted in Thoughts on the World | Leave a comment

RIP Google Currents

Regular readers may be aware that I became very fond of a Google app called Currents. This took RSS-enabled news feeds, and presented them as attractive “magazines”. For feeds with significant image content (like most of the photography blogs I follow) Currents did a remarkable job.

Beyond making news reading sexy, Currents delivered two other pieces of distinct value: an easy to read default two-column layout on larger tablets, and a “stack” widget which allowed you to quickly swipe through the day’s news, aggregated chronologically, and click through to read the items of most interest.

However, I am writing this in the past tense. Currents is no more. An “update” a couple of weeks ago quietly moved my feed list over to the execrable “Google Play Newsstand” and uninstalled Currents. The replacement is clumsy, with none of Currents’ visual flair. An uninspiring reading experience is exacerbated by a useless widget which removes the brilliant former “flip through” capability.

Unfortunately this is not the first such aberration by Google. It’s less than six months since they killed off both the Reader app (maybe not such a great loss) and the sadly-missed iGoogle (which ironically was killed off allegedly because most users prefer Google’s tablet apps!) Now they are forcing us towards a dreadful replacement for the best of those apps, and I’m not happy…

This also comes on the back of various screw-ups regarding Chrome: the ready plain-text disclosure of stored passwords, the broken scrollbars, menus spaced ridiculously widely on normal PC displays. I could go on, and on, and on…

The arrogance of Google’s developers appears to be exceeded only by their stupidity or blindness to the faults in their “improvements”. When they deign to respond to a torrent of public displeasure, they do so by claiming that it’s our fault for not understanding the brilliance of their ideas, not by listening and responding to customer feedback.

I really don’t understand why Google are behaving this way, but it does seem that having emulated Microsoft’s successes of the 90s, Google are now determined to repeat their mistakes of the noughties, breaking compatibility, destroying things which worked well, and systematically driving customers into the arms of competitors. Apple might get away with treating customers with disdain, but Google have neither their shiny hardware nor the fans’ love for the blessed St. Jobs.

For now I’m sticking with Android and probably Chrome, but I’m genuinely interested in making sure the market starts to develop high quality alternatives, before Google rip their remaining carpets out from under us. If you know of a proper non-Google replacement for Currents please let me know.

Posted in Thoughts on the World | Leave a comment

What Do I Mean by "Agile Architecture"?

A little while back I was approached by EITA Global, a global provider of on-line training, and we have now agreed that I should present for them a webinar entitled "Agile Architects, and Agile Architecture". The current plan is for this run on 8th April. I’ll keep you all posted with any changes.

As part of my preparation, I decided to do a literature scan to see how this topic may have moved on since the last time I did some significant work on it, a couple of years ago. I have to say that based on my initial research I’m not that impressed… I don’t know whether to be flattered or slightly perturbed that AgileArchitect.org comes up squarely at the top of a Google search. There are a few decent web articles around, although most are several years old and I’d seen them before. The Google search also turns up several dead links.

Amazon turned up a couple of loosely-related books, and the most obvious candidate appeared to be "Lean Architecture: for Agile Software Development" by James O. Coplien and Gertrud Bj�rnvig. I’ve now read a couple of chapters, but my first impression is not very favourable. I may be rushing to judgement, in which case I’ll apologise later, but the book seems to somehow equate "architecture" with "code structure" with "project structure", which isn’t right at all, missing a number of the most important dimensions of any true architecture.

This led me to ask myself a very basic question. "What do I mean by ‘Agile Architecture’?". In Coplien and Bj�rnvig’s book they seem to answer "an architecture which facilitates agile development". That may be one definition, but it isn’t mine.

I think the confusion arises from the difference between "agile" applied to a process (e.g. software development), and applied to a product. In the former case, the Agile Manifesto undoubtedly applies. In the latter, I’m not so sure. I think that for a product, and especially its architecture, the primary meaning of "agile" must be "able to respond to change". The larger the change which can be handled quickly and cheaply, the more agile the architecture. An architecture which has been built in a beautifully run agile project but which needs new code the first time a business rule changes is fragile, not agile. The system which can absorb major changes in the business rules without a single line of code is genuinely agile. The integration architecture which allows multi-million pound system A to be upgraded with no impact on adjacent multi-million pound system B, or which allows the company to be restructured just by re-configuring its services, is the most agile of all.

I’m slightly worried that "agile" may have become a "reserved word", and this "architecture in the large" definition may run counter to accepted practice. Is that right, or am I reading too much into a few examples?

Posted in Agile & Architecture, Thoughts on the World | 4 Comments

Ansel Would Be Proud?

The Beech Avenue near Kingston Lacy
Camera: Canon EOS 7D | Lens: EF70-300mm f/4-5.6 IS USM | Date: 28-02-2014 14:55 | Resolution: 5184 x 3456 | ISO: 400 | Exp. bias: 0 EV | Exp. Time: 1/30s | Aperture: 10.0 | Focal Length: 180.0mm (~291.6mm) | See map | Lens: Canon EF 70-300mm f/4-5.6 IS USM

I had a day off today from work, chasing contracts and Android development, to focus on photography and writing. The core was a workshop with the famous and venerable landscape photographer Charlie Waite, at the even more famous and venerable Beech Avenue near Kingston Lacy.

It was a good group, and we had an excellent day of discussion about photography, how we do it, why we do it, and what we need to improve. Unfortunately as for so many others this Winter the weather let us down, and we managed a grand total of about one hour on location, getting buffeted by strong winds, pelted by rain and battling a combination of ambient temperature and wind chill which together netted out the wrong side of freezing. I ended up using the same gear and clothing as I was using at the top of Kerlingfjotll (“Bitch Mountain”) in Iceland – not what I was expecting from the Dorset Beech Avenue.

I went prepared for intensive activity, with a total of about 48GB storage across two cameras, or enough for well over 1500 shots. I took…  34, including about half a dozen “technical test shots”. Ansel Adams used to complain that 35mm film photography was in danger of leading to an excess of quantity over quality of photography. Had he survived to see digital, while he would undoubtedly have mastered the technology quickly and effectively himself, his concerns about quality vs quantity would have multiplied manifold! At least today I kept the quantity down.

Quality did suffer a bit. I had hoped after Charlie’s pep talk to go out with camera tripod mounted and take a slow, considered approach to photographing the avenue. Instead i took a series of fairly hurried “grap shots” mopping everything down between shots. Inevitably the rain has also reduced contrast and clarity of the trees in the distance.

However I’m not unhappy with this shot. The composition is exactly what I wanted, I like the tonal range (although ironically I’ve actually toned down the saturation!), and clarity is OK, if not perfect. I might try a black and white version as well…

View featured image in Album
Posted in Photography, Thoughts on the World | Leave a comment