Category Archives: Thoughts on the World

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 Continue reading

Tuesday, June 17, 2014 in Agile & Architecture, Android, Code & Development, Thoughts on the World

Busy Bee…

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 Continue reading

Thursday, May 29, 2014 in Micro Four Thirds, Photography, Thoughts on the World

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. Continue reading

Thursday, April 10, 2014 in Agile & Architecture, Android, Apps, Code & Development, My Publications, Thoughts on the World

The Concert for Jon Lord

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 Continue reading

Tuesday, April 8, 2014 in Thoughts on the World

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 Continue reading

Sunday, March 30, 2014 in Thoughts on the World

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 Continue reading

Tuesday, March 18, 2014 in Thoughts on the World

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 Continue reading

Tuesday, March 4, 2014 in Agile & Architecture, Thoughts on the World

Ansel Would Be Proud?

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 Continue reading

Saturday, March 1, 2014 in Photography, Thoughts on the World

Scarily Good

My new phone (I upgraded to a Galaxy Note 2 as I was running up against memory limitations on the Note 1) has a potentially useful but also quite scary feature. There’s a service running on it called “Google Now”. Continue reading

Friday, January 31, 2014 in Thoughts on the World

Getting Ahead of the Curve – Update

When I bought the Panasonic GX7 on the day of release I realised there might be a short delay before it was fully supported by third party software. A few weeks on and there was support from Adobe and some Continue reading

Tuesday, December 24, 2013 in Photography, Thoughts on the World

Morocco – What Worked and What Didn’t

As a tail piece to my Morocco blog, and as a service to anyone else considering a photo trip there, here are a few notes on what worked, what didn’t, and how you might increase your own chance of a Continue reading

Sunday, December 1, 2013 in Micro Four Thirds, Morocco Travel Blog, Photography, Thoughts on the World, Travel