Sunday 30 December 2007

First Half Marathon

I had a 7 mile run before Christmas and developed a bit of a stinker of a cold the day after - Christmas eve....crappy timing I know.

Anyway, I have spent sometime over Christmas chewing on Vit C tablets, Satsumas and good healthy things to get the cold cleared up.

Today I felt pretty good - probably too early but what the heck, I went out for the full half marathon distance attempt.

It was hard.

I hung on for the last 2 miles with as much walk as run but I did it.

A pleasing way to end the year and I have now covered over 300 miles with the Garmin.

Hopefully the time will come down as I walk less for the last three miles. I will keep posting on '08.

Sunday 16 December 2007

moving swiftly on...

11 miles felt surprisingly good. A better route for sure. Not pancake flat but certainly easier than last week. So, 11 miles and sub 2hours. I feel like a half marathon might actually be doable!

What *is* working well is the 'different run each week' thing. I'll be back doing the lido run next week - two laps to keep up the endurance but easier on the legs being softer terrain on the whole.

Monday 10 December 2007

That was ten miles then

Crumbs it's a long way innit!?

Not setting any records other than personal ones but I'm quite happy with a new mile stone (ten of 'em to be exact) in my running career.

Next stop....11 miles duh!

Tuesday 27 November 2007

perplexed and amused wednesday

and avoiding capital letters for no good reason....

the tube train pulled into chancery lane this morning at my usual unearthly hour of just after 07:00. i stood by the door ready, as usual, to make escape velocity. i noticed a yoof standing in almost the optimal position for efficient ingress/egress of walking freight....almost as he was positioned exactly equidistant from either side of the doors: right in the middle in other words.

only when human traffic spewed forth (as it does every time a train stops anywhere) from the recently opened doors did the surprised look illuminate his visage accompanied by a hasty lateral shuffle. (hmmm writing style too floury this morning) now was this man-child genuinely surprised or is the nations juvenile population rising early from their sleep just to engage in some bazaar form of new brinkmanship in order to 'feel more alive'...something to stir the grey matter before a day of dynamism and cut and thrust pushing their personal envelopes and crossing new boundaries?

nah, the chap was a fuckwit.

Monday 26 November 2007

1 year on

I've had my Garmin for a year now and have covered 262 miles - distinctly average compared to the worlds best Marathon runner who trains 150 miles per week! An average pace of 10 minutes per mile is just that - very average. The most interesting stat IMHO is the elevation (and corresponding decent) I have covered - over 52 thousand feet! No wonder I get short of breath when I'm pounding ;-)

Still, I can honestly say it has bee 262 miles of great fun and aim to do many more (s)miles.

Having said that I have slightly sore legs after 8 miles yesterday. That's not the worst thing though - some sort of blister thingy is hurting more than my legs. Might be something to do with wearing Skins - they do reduce muscle soreness - recommended kit.

Thursday 1 November 2007

Mosely you muppet

Hamilton 'may be negative for F1' says legendary idiot, charlatan and piss poor leader of spineless corrupt lackeys (FIA) Max Mosely....twat.

He is concerned that Lewis Hamilton may whitewash F1 next year and cause another 'Schumacher Effect'. Consider the three-way (four if you include Massa for most of the season) chase for the title this year and I think you'll see the evidence suggests otherwise you gormless nazi.








DriverRace Wins
Massa      3
Hamilton      4
Kimi      6
Big Baby      4



By mid season this year, all drivers were on three race wins...close enough for the FIA Chief Chump?

To top it all off in a lame attempt (no doubt) to 'spice' up F1 some more (Bernie says hi and thanks btw) Mosley vomits further fountains of ludicrous prose:

It would be surprising if Hamilton didn't know something of what was going on [in spy-gate], but I've got absolutely no evidence that he had

So shut the eff up you brainless dolt.

Next season has the potential to be even closer, Hamilton, Massa, Big baby Spaniard, Rosberg, Kubica and Vettel are all going to be serious challengers for race wins of not all in the hunt for the title.

Sunday 21 October 2007

No opprobrium here!

What rubbish sporting results we had this weekend. I emphasise that the results were rubbish and take nothing away from Lewis Hamilton or the Rugger boys. To say their progress was unexpected would be a massive understatement but the ultimate results were not what were hoped for.

Still, looking at it half full (perhaps a little unsportingly?), at least The big Spanish Baby (Alonso) didn't win - nor the French....bejaysus they were proper stuffed. The big hit on Chabal was a peach! I'll be looking for that on you tube for sure.

That try WAS a try you muppet useless TMO - get some decent glasses moron!

To summarise - both rugger teams were well mateched - the poms gave away too many cheap three pointers so that's why they lost.

McLaren have been dreadful strategists for the last two (most important) races of the year - that's why they lost.

Still, take nothing away from the main protagonists - they were awesome.

Let's hope Mr Bonhomme can do the job then!

Tuesday 16 October 2007

Go Poms!

In the final of the world cup for the second time running!

Will Ham da Man finish what he started finally?

This is going to be an awesome weekend of sport.

Then we just have to get the Red Bull Air Races won and that's a pretty decent year of results.

Monday 8 October 2007

My God - it's full of stars!

Enjoy the views from the Skirrid mountain found just outside Abergavenny in Wales:









The walking available in this region is sublime. Also known for great mountain biking and flying (Shobdon is where I had my first trial lesson), you can feel the fresh air cleansing your lungs after time in the city. The pace of life, outlook and attitude is just so refreshing. Don't rush - there really is all the time you need!






Staying in The Old Rectory is a treat within a treat! The welcome is genuine and appreciated. I thoroughly recommend a stay here.





The local 13th Century pub, The Hunters Moon is worth a visit for sure. Walking back to The Old Rectory in the evening (night, closing time-ish) will show city folk what night time really means. There are no street lights - it is dark! Take a look at a proper night sky - so many stars! Stunning. If you are lucky and happen to be walking back at the right time of year you might see the local glow worms - weird little fellers but neat.

Full photo gallery

Sunday has meaning

Top Gear was back on Sunday and gosh it was fun! I have to say Jeremy's Lambo was the pick of the bunch - the Porsche was nice bu tnot in green thanks. I felt sorry for James May in the horrid Aston. Horrid in the contaxt of those great roads though. It probably makes sense on a track but I would still go for the Italian exotica depiste the 9mpg consumption figures - gulp.

Anyhow, those cars and those roads make me want to sell everything I own and go do just that for 1 week and then go bankrupt...perhaps the least sustainable dream I've ever had.

Roll on Sunday...

Tuesday 2 October 2007

Rhythm has no vowels

Just struck me as odd.

A bit like an eastern european fellow who races motorcycles - goes by the surname of Smrz.

Someone get him a vowel for Xmas please.

Hurrah!

TopGear back on on Sunday!

Monday 1 October 2007

Faster! Harder!

s'funny - I have an oldie but goldie scooter song on the shuffle to run to now. It's hard not to 'sing' along when this comes on.

Please though, don't judge me on what I choose to listen to whilst running ;-)

Respect to the man in the ice cream van! (try about 3:26 in)

Sunday 30 September 2007

A change is as good as a rest

Running has been hard recently. After my last trip to Budapest I came home feeling refreshed, relaxed and full of beans so I went out and ran and ran and ran. It ended up being my longest run ever at 14 and a bit km. I was pleased but could tell it was a couple of km too far. I had started a niggle. I know now there is one way to end a niggle - do not run. Stretch and rest for a week and see how things go. So, a couple of weeks of stretching and gentle 20min recovery runs midweek and I feel great again.

Last weekend I decided a 6k gentle plod would be in order but it was not to be. Poor prep meant I needed a pee after 3k and started to go hypo (low blood sugar) after 3.5km. So I run-walked back and felt a bit miffed.

Last night I ripped off all the old trance from my ipod shuffle and loaded up a total change of scene with more variety. This morning I got up early-ish had a good low GI breakfast with a banana, coffee and energy gel. I made sure the bladder was not going to nag and went out. I breezed through 10km with no stopping, good pace (apart from a car getting in my way requiring a stop) and rhythm (good word that - had to look it up!). I think the recipe below is one I will use again:


  • Get up early

  • Eat a good brekky

  • Only one cup of coffe

  • Energy gel


    • Eat one before running

    • Take one for every hour of running and one spare


  • Important one here: Change the ipod playlist every 6 months



Call me a creature of habit but a routine or formula or recipe is needed for consistent measurable results. The coffee thing is key I feel. Normally Saturday starts off with a couple of small cups of hot brown from the machine - I nice wakeup jolt indeed! I have been reading about caffeine affecting blood sugar levels in diabetics. It seems the best word is 'destabilising' - blood sugar could raise or lower with caffeine depending on the individual. Seems to lower mine so it's going to be phased out over time.

Wednesday 22 August 2007

Red Bull Air Races Budapest

The warm up guy was quite good





There was so much action going on during the build up





This must be Kirby Chambliss as he was awesomely fast but a bit ragged and Peter Besenyei was consistantly high at the quadro eventually getting penalised...



Paul Bonhomme - eventually third. Incredible smoothness through the air - real finesse I can only dream of.



And superb accuracy through the quadro:



and so fast!



Mike Mangold was pretty sharp - well he did win it!



The fireworks were hard to capture but I like the accdental artistry of this snap:



Lots more pics here and more to follow...

Monday 13 August 2007

Exclusive club

I now have over 100 hours total flight time in aeroplanes....still a newbie though - I need another 200 hours to get out of the 'killing zone'

Friday 10 August 2007

Expect the unexpectable

So,
I went for a blood test today as part of the 'look after stupid diabetics' thing - it's nice to feel loved but it tends to get in the way sometimes. Anyhoo - I parked up in the Mount Vernon Hospital car park, got tested and got back to the car in 15 mins flat. Neat - efficient health service! Having been to this car park on a few previous occasions I know they sometimes charge for parking but not always...why? Dunno, it's the health service ya know! On this occasion the barrier was down and I needed to pay. 'No sweat' thought I - I have a quid or so in my possession.....TWO POUNDS FRICKIN FIFTY!!!! For 10 minutes parking!!! Outrageous! To top it off, I have £1.08 in my wallet and no notes. I have plastic so I thought any modern hospital will have a cash machine - better go pay up even though I feel mortally insulted... Dutifully trudging off to the main building I remember there is a change machine for notes (money grabbing bastards know when they are on to a nice little earner) but there is no sign of any cash machine. I *do* see a 'parking office' in the foyer however:

me: Is there a cash machine in the hospital?
oaf: No.
me: I've been in the car park for 10 minutes. I only have £1.08. How can I pay this ridiculous fee?
oaf: Gimme a quid and I'll give you a token to get out
me: !

And so I was released for a massive 60% discount!

To anyone who uses Mount Vernon Hospital:
Use this technique to not pay exorbitant car park fees.

Monday 6 August 2007

Wednesday 25 July 2007

God luck chaps!

The Red Bull Air Races come to London this weekend. Hopefully the weather will be good so that The Matadors can continue a great year:

Good luck chaps!

Wednesday 18 July 2007

Monday 16 July 2007

RIAT

What a day! Rubbish traffic getting there - 3hrs queueing - yuk. Missed the F117 display and no B-52. The rest of the day was just brilliant though - pics by Pete

Highlights:


  • P-51 & F-15 formation (seen from the car whilst queueing Grr

  • Red Arrows - faultless and spectacular as always

  • Frecce Tricalori - pristene

  • Static display - if only it was open after the flying finished



Why don't they keep the static exhibits open after flying for at least an hour. Most folks don't want to miss the fying and don't want to get straight into the traffic chaos going out. Did I mention how crap the loos were? Can we please lose the Jetstream display, Blue Eagles army display (yawn) and Sea King? More Firefly, Jordanian Eagles, F-18 etc.

Now to get over the sun burn - ouch!

Tuesday 10 July 2007

Looooserrrr!

Rats - 1hr 0mins 16secs. Pah - so close yet so far. I'll have to book up another race and not party the night before. It was a good night but not great race prep...

So on to photos of me waddling around and my cheerer in chief extraordinaire!







Monday 9 July 2007

Race day


Saturday saw one of my slowest but most satisfying 10K runs as I took part in the July round of the Regents Park Summer 10K Series.

I posted exactly one hour according to the Garmin but I'm looking forward to seeing an official time under 1 hour. It won't matter hugely if it's a few seconds over but I did promise Kate (marathon supremo) and I did nearly mullerate myself with a sprint finish to get the sub-60 minute time so here's hoping!

More photos and official time to follow...

Thursday 5 July 2007

Brand new customers only

Frankly I hate the advert that invented the strap line but having just experienced a case of such a swindle I have to say Direct Line need a bloody good rocket - thieving ****s.

Having received another utterly hateful letter telling me that they had automatically renewed my home insurance policy at nearly three hundred quid I decided to check the current online prices. I do this with vehicle insurance too. The arrogance that they believe that I will just stay a customer of theirs without question or incentive is laughable!

Anyway, the online quote was over 100 quid less! WHAT! WHY! FFS! On the phone I received no meaningful explanation as to why I should not get the same deal as a new customer. Don't tell me 'the computer says no' - that's utter rubbish. The wankers are just out to swindle their loyal customers - a diminishing group surely...

So, if anyone knows where I can get in contact with Chris Moat, the direct Line MD I'd like to drop him a line so I can find out where the F**** these dirt bags get off. Not rich enough Mr. Moat?

Yeah, right.

Saturday 30 June 2007

FFS

Can this rain just COCK OFF please!!!

Tuesday 19 June 2007

I'm back!

Singapore and Pulau Sibu were just awesome. We miss Al and Mel already. Planning the next trip as I write!

Phew!

Yup - it was warm for sure. On the hotter side of nice but still good although I'm glad the weather was nice rather than:







Having said that, running was challenging. (Google earth users here)

Tuesday 29 May 2007

AND ANOTHER THING

Bus drivers - wankers. 100% useless thugish morons. I saw an example of such lazy, incompetent, inconsiderate driving last night I was appalled. I'd have been appalled if it was exhibited by a myopic micra driver or some yoof in a 'sooped up Mum's Nova' but from a bus driver...shameful.

These tw@ts should not be given a shopping trolley let alone X tons of heavy machinery to use on the public roads. Accidents (mostly on the bus), violence (again mostly on the bus), pollution and congestion on the roads. Public transport sucks in London anyway but buses suck worst.

Binary four to all of 'em.

ZOMG!1

Cool!

I saw the podiatrist last night to get my orthonics fitted - that's inserts in my shoes to sort out my spakky mechanics. I honestly couldn't feel much difference in the exam room but walking back to the station was a revalation! No knee pain - comfort and joy ensue ;-)

Hopefully I'll head back towards 5K and then upward in time for the Regents Park summer 10k series.

I'll be away for a couple of weeks so I'll post back on my return.

Tuesday 15 May 2007

How are your mechanics?

I haven't been able to pound the roads or the treadmill (bringer of pain!) for a week or so now as my right knee has been somewhat uncomfortable. As I am aiming for the longer distances these days I thought it was about time - if not a little too late - to consult the experts on how wonky I actually am as a runner.

So, I pootled off to East Acton last night (a nice looking neighbourhood as it happens) to have my 'gait' analysed. Very interesting stuff! It may sound like I am a physical wreck with a twist to the pelvis and mild over pronation causing the discomfort and rubbishing my efficiency but these are common conditions. As my doctor once said about me - unremarkable. Thanks dude...

Anyway, a physio session and some wedges in the shoes should sort these issues out and I'll be back in training for the Budapest half marathon in '08.

All in all, understanding the mechanics of running was fascinating. I recommend anyone looking to extend distances beyond 5k investigate having their gait analysed. Its cool stuff to know and can save frustrating injury.

Monday 23 April 2007

Kate is my hero

I am going to run the Flora London Marathon. This is without doubt the biggest feat for any amateur athlete and my friend Kate did it this weekend. The event was widely recognised as one if the hardest of recent years - if not ever - so all the more credit to Kate and anyone else who did it.

From a spectating point of view, the athmosphere is awesome - a great day out. I reccommend that budding supporters take some comfy shoes, buckets of patience and some throat soothing medication... Be prepared for lousy transport, idiot tourist types (if you are used to weekday travel in London, watch out!) and lots of vociferous support for all the worthy athletes - it makes a huge difference. Don't just cheer your friends who take part though - cheer everyone. Random cheering of strangers may seem odd but it's all the more uplifting to receive support from someone who you have never met. Believe me, when you see these folk at the finish and say 'saw you running, well done!' it means a huge amount.

To all those who took part - WELL DONE!!

I seriously hope to be there next year.

Wednesday 11 April 2007

More on avoiding failure

Self-aware systems

Homo-sapiens is a species capable of self awareness through, for example constant health status checking. Indeed, as Google offers more and more information on myriad subjects as to what can go wrong with the homo-sapiens ‘infrastructure’, hypochondriacs are turning into cyberchondriacs. We self monitor and correct our own failure modes. Computer systems are a long way from being able to replicate this particular human trait but a facsimile of the process is possible. The starting point is of course the output from an FMEA exercise.

Leaping ahead slightly, in order to introduce the concept of self awareness we will assume our system is modular in design. We can utilise a centralised ‘health’ module to receive health reports from all other modules. A centralised health module or ‘subsystem’ can tell administrators what is happening system-wide with respect to the various potential failure modes of other sub-systems.

quis custodiet ipsos custodes

“Who watches the watchers?” or more correctly “Who is set to protect those who are themselves protectors?” The health system itself needs to be healthy but we could end up tying ourselves in knots. A system to watch the health system? Maybe not but we can utilise the operating system or third party monitoring tools to ensure the bare minimum of key system components are alive. At some point either a human needs to be notified of a failure mode in order to act on it or a third party monitoring system can restart a process. The process restart obviously has a time and retry limit where breaching either invokes human intervention.

To illustrate the monitoring point we shall assume each module exists on a separate system node. This is more for clarity as, although still possible, efficiency and speed may not be optimal.



Notice that the lines of communication are bidirectional and contain both status of the subsystem health and configuration information from the health system to the sub-systems(s). Administrators can alter system environmental factors in real time and know that all subsystems will receive this information the next time they check in with their health status.

So, consider the UML sequence diagram below that describes how a system will start and discover it’s environment and becomes aware of all nodes, how over time health reports are sent, the search process is restarted and new configurations are disseminated and used:



Health reports can take a number of forms and can vary in sophistication. At a very basic level the health report is in the form of a simple ‘ping’. Just getting in touch with the health system is enough to signify goodness is afoot. The server can log the sender, date and time of the ping to track who is late and who is okay.

The ping payload can contain further data from the sender, flagging failure modes such as full or near full disk space, heavy resource utilisation or stopped processes. These messages are flagged to administrators via dashboards for their attention or dealt with by the health system immediately.

The opposite end of the spectrum is the full and complete health report at each ping. Including full diagnostics and logs ensures administrators are aware of system behaviour but such a payload can carry a heavy price. Flooding systems with large amounts of data can impact system performance and exacerbate issues. Common sense dictates that one should only turn on this kind of diagnostic via the health system when it’s absolutely necessary.

Redundant Systems

From Wikipedia: Redundancy in engineering is the duplication of critical components of a system with the intention of increasing reliability of the system. This is exactly what we need to achieve but quickly, easily and cost effectively. Ideally we can combine increased redundancy with extra power through horizontal scaling - that’s adding more machines rather than adding more power to machines and designing redundancy into our systems with good modular system design.

Horizontal Scaling

Expanding on the idea of nodes being able to discover their environment and talk to centralised resources allows us to harness the power of this idea for enhanced system scalability – ideally we would want to wheel in a new server (or set of servers), turn on and let the new node(s) find out who they are and what they should do from a brief conversation with a centralised configuration server. As a useful aside, building new test environments becomes a total no-brainer…

As far as business owners are concerned, horizontal scalability can answer a number of thorny issues around the ease of performance tuning, handling seasonal load and the associated costs.

As far as systems administrators and software architects are concerned there are further gnarly issues presented that need to be considered as scaling occurs. With the increase in nodes there is an increase in inter-node communication. There is a finite amount of bandwidth and processing power available to each node and a threshold will be crossed at some point.....hopefully a long way away!

As far as systems designers are concerned, systems need to be happy running on cloned nodes. A system that requires some processes on some nodes and others elsewhere is going to be a major headache to scale and support.

Modularity

Good systems can be built such that the main components can be separated across cloned hardware nodes. System components or modules can be easily plugged together without causing interdependencies. This quality is known as high cohesion with low coupling. Cohesive systems can exist when decoupled and indeed report when decoupling happens. Modular systems are easily replicable (scaling horizontally) and exhibit the self awareness that we require. Supporting a buffet type architecture where system owners can build their system behaviour by coupling the required components that are available and appropriate.

Tested Systems

It seems obvious to suggest that a properly tested system is more resilient but is actually often overlooked for a number of reasons. Of course, knowing what to test is as much of a challenge as an FMEA exercise but FMEA and test generation are complimentary. By forcing stakeholders to consider what can go wrong and ensuring measures are taken to prevent failure modes ensures a comprehensive failure matrix is built before-hand.

Considering when testing should take place is a key question. Avoiding the ‘boring’ task for as long as possible is more than just delaying donkey work. Testing before just before go-live is asking for a bad day at the office. Later testing increases the overall effort required to achieve a reliable system significantly as well as increasing the levels of risk associated with a new roll out.
Dr. Khaled El Emam estimates costs can be as high as 80% of total development costs for reworking software.

Testing is an integral part of building a system. Test Driven Development requires tests are written before the software. Indeed software is written to pass the test. This way each unit of software can be demonstrated to meet the requirements and reduce the risk and severity of failure modes before integration.

Integration is also an on going exercise. We advocate the employment of Continuous Integration as described by Martin Fowler in his wiki cum blog in order to prevent ‘blind spots’ in the system.

Considering FMEA and test creation, ALAC or Act Like A Customer is a suitable methodology for finding a high risk subset of failure modes. Customers generally don’t find all potential failure modes but will find the most common. A useful set of tools can be employed from SiteConfidence to analyse your site from a customer’s perspective. These tools can indicate quality issues as part of testing exercises as well as on an ongoing quality measure.

Ongoing testing and regression testing ensure failure modes do not creep in unexpectedly and unseen over time as software is refactored and systems grow. Reuse of test scripts and procedural releases ensure quality is maintained but of course the right tools for the job help in a big way. Continuous Integration is made possible through Cruise Control and Subversion but without discipline and rigorous procedures quality cannot be ensured, risk will increase as will failure mode likelihood and severity.

Conclusion

Our first goal in handling ‘fires’ is to understand what can go wrong; put as simply as possible, if it can go wrong – when it does – it is important. Use Failure Mode Effect Analysis to understand what can go wrong and to generate comprehensive and accurate test cases. Use these test cases to test your system continuously through development and on an ongoing basis. Never use users to test your systems unless you are conducting and A/B split or multivariate test programme.

Don’t ignore the risk of fire, no matter how small. It will matter to customers. For example Akamai Technologies and Jupiter Research have determined through a survey of 1058 experienced online shoppers, 75% who experienced a site freezing or crashing, that is too slow to render, or that involves a convoluted checkout process would no longer buy from that site.

What we can do with our knowledge of the failure modes is to reduce severity and mitigate risk with a view to reducing cost of ownership and enhancing the level of customer experience.

With this level of risk in mind we can build systems that degrade gracefully and handle failure modes before users detect them; informing systems administrators that remedial action has taken place in order to maintain a good level of service.

Again, Jupiter Research and Akamai state: ‘The consequences for an online retailer whose site underperforms include diminished goodwill, negative brand perception, and, most important, significant loss in overall sales.’

Monday 9 April 2007

Hold the agile essays for a moment

Today has rescued my bank holiday (public holiday in the UK - 4 whole days!). After a galactic sized moron drove Mike Whisky into a BIG SHINY METAL BUILDING causing damage that prevented my planned two days of flying joy I thought I was ready to jack in the flying thing and become a spotter....heaven forbid!

But no - I have pounded around my new fast 5k course and blown my personal 5k target asunder. I thought at the start of the fourth kilometer I was on for a sub 26min but sub 25 - that's a major target for me. Chuffed? I nearly wet myself...but that's an aspect of exertion that athletes learn to deal with - innit?

For a change, and to prove the times are real, I have decided to share the data from my Garmin 305 GPS via the links in the pb section (that's personal best - not lead...) on the right. Motion based is one nifty site. Always act on data - never gut feel.

Going to focus on 10k now...and back to the technical/business articles for a while (sorry Kate!).

Monday 2 April 2007

Handling Failure Gracefully

Prevention is better than cure but face facts - it’s going to happen at some point. The degree of severity of the failure may change as will the causes but you need to be in a position to know about an incident before the important people (your customers) and have a plan to handle it. This might be a software solution or a business process solution but in order to plan effectively you will need to know what can fail in order to plan for it and ideally prevent it in the first place.

Commonly ‘Combustible’ Infrastructure components

We should briefly consider what could go wrong to get an idea of the breadth of planning we are talking about here:

- Web site connectivity
- Server outage
- Hardware failure
- Malicious activity
- Software errors
- Presentation layer
- Dropped images
- Missing links
- Back end
- Bugs

So, these issues you will mostly know about although you may not be aware of malicious activity as it is happening. The ‘best’ intrusion is one done without knowledge of the system owner…When did you last have a penetration test on your system by the way?

Having started the list above, in order to formalise our planning we should explore exhaustively how our website can fail, what those failures mean and how to mitigate the risk through panning and systems design. This is not a new concept as we shall now see.

Failure Mode and Effects Analysis

Wikipedia’s definition of FMEA gives an adequate introduction to the exercise we need to embark on. Our aim is to consider what can go wrong from the major to the trivial, how likely the failure is and how likely the detection. This will require input from all stakeholders in the website from designers to DBAs. The input from these parties should read very much like a test plan:

Given input ‘A’, a system actor should see behaviour ‘B’ but may see behaviours ‘C’,’D’ or ‘E’ where the list of potential ‘other’ outcomes is what we are interested in.

Derivation of the universe of failures from a global test plan is possible during initial stages but users should be aware of being guided to what should happen rather than what might happen. Bear in mind that we are not dealing with multiple subsystem failure modes here – maybe a future article though?

In their best selling book Freakonomics, Steven Levitt and Stephen Dubner discuss human risk perception highlighting situations where perceived hazard may be low but outrage to a failure is high resulting in a negative overreaction. Basically, people react worse to things that have gone wrong that shouldn’t have. Likewise, those things that people expect to go wrong (because they often do) cause an under-reaction because the perceived hazard of a failure is diminished due to desensitization. Conversely, reaction to success does not always result in excessive delight and joy for users. The key is to normalise the actual and perceived level of severity for failures in order to accurately plot the Risk Profile Number. An unlikely event such as hacking, given its difficulty in detection and likely disastrous results, scores highly in our risk profile. Significant events such as the company logo being absent scores fairly low given the ease of detection despite the high level of reaction such a failure would cause. Frequent failures such as images not loading score lower as they are also easily detected and fixed.

Avoiding failures – even graceful ones

We can stop here and build our plans to reduce the severity and frequency of error modes and increase our abilities to detect the failure modes but we are striving for prevention rather than cure – any fire is a bad one:

“A large safety factor does not necessarily translate into a reliable product. Instead, it often leads to an over-designed product with reliability problems."

Failure Analysis Beats Murphey's Law
Mechanical Engineering, September 1993

We will consider four avenues for exploration in searching for our solution:

- Self aware systems reduce effects of failure through increased detection likelihood.
- Redundant systems reduce likelihood of failure through ‘belt and braces’ style precautions.
- Fully tested systems reduce likelihood of failure by catching them before they go live.
- Modularity, high cohesion and loose coupling reduce the number of failure modes by reducing system interdependencies.

Friday 30 March 2007

It was only a small fire....

Prevention is better than cure

We all know the power of effective communications in business. Conversely poor communications can have equally large impact but in a negative sense. Consider a scene that was played out some twenty plus years ago. My elder brother and I had reached a trustworthy [and legal] age where we could be left in charge of our parents house for a week while they took a hard earned first holiday alone. My heroic brother took the phone call from Mum when she landed at East Midlands airport on returning to ‘Good ‘ol Blighty’. Now, consider the crucial detail here – we were responsible enough to look after home for a week but still were incredibly naive in certain matters. I had caused the toaster to emit some minor wisps of what could have been described as ‘smoke’ during the week…I propelled the toaster to a safe spot in the garden to ‘chill out’ and all was well. I’m not just trivialising the sorry tale through guilt – it really was minor, honest!!! So, this was communicated to Mum over the phone. Three points to look for in terms of the ensuing communication:

• Wrong time
• Wrong place
• Wrong information

Well, wrong may not be the word – too much information may be. Anyway, enough digression and diversion, my brothers [far from] wise and [far from] learned opening gambit was to render those fateful words ‘Don’t worry Mum, it was only a small fire’. ‘FIRE! FIRE! FIRE!’ screams Mum down the phone in a packed airport terminal with obvious consequences…You can picture the scene – I’ll just keep cringing.

What’s the moral here? My sibling and I considered the incident (outage, you might say) as being hardly worthy of mention. On reflection, we were pleased with how we had handled it! In actual fact, the really important person (dearest Mother in this case but it could be a valued customer) in the transaction (verbal in this case but it could apply to the economic variety) considered it to be quite a major incident and we should have realised this from the start.

Don’t read me wrong here – I am not suggesting that burying the truth when things go pear shaped is the correct course of action. If things go wrong – see them as users do – MORE IMPORTANT THAN THE END OF THE WORLD.

This article is not about ‘solving’ the end of the world though – I’m going to help you prevent it.

I am going to describe common experiences with hosting partners, flaky backend systems and unacceptable behaviours on websites. I am going to introduce the idea of graceful degradation through intelligently designed systems that are built to withstand ‘issues’, that are aware of ‘issues’ and how to maintain a good level of service. I will lead on to the value of testing internally – users don’t do testing you know... I am going to advocate the use of strong procedures for configuration management and version control so that deployment does not become another project – it’s just a part of the current one isn’t it?

You will see how time and money can be saved, risk reduced, customer trust grows and most importantly users aren’t shouting ‘FIRE!’ in crowded public places.

Monday 19 March 2007

Final Agile installment

Leverage the full power of Agile and agile technology

Now, the feature differences we can see between the two examples are fairly significant even though functionality is equivalent. Investment is obviously required in order to address the legacy issues we may encounter with our existing pages – there are skills to learn and pages to rebuild but this investment can be repaid quickly.

Given the enhanced flexibility our rebuilt site affords us we can now embark on an Agile driven enhancement programme on our site. Fully adopting an Agile approach to site enhancements means the designers can sit with the marketing department and work through textual and structural changes, introduce new images, change colours and test these changes on a range of clients (browsers and devices) in real time. The real power of face to face communication during this phase has to be experienced but should be self evident.

Testing

Eventually Rudi has to commit to a change – or set of changes. Being able to offer a number of options to users via A/B split testing or multivariate testing is facilitated through the new site implementation techniques. As you can see from the examples we can adjust the position, shape and size of content areas easily and quickly. The content within a content area can change completely under the control of business rules. Users experiencing these changes have their sessions tracked. Through analysis of this data, final versions can be seen to increase sales conversion, reduce basket drop outs or enhance navigation effectiveness through evidence based decision making. Rudiger is gleaming with happiness at this point – he can make informed, rapid, easy, repeatable and safe changes.

Conclusion

The power of the Agile process coupled with an agile framework can be seen from the simple examples above. You should see the business benefits that can be derived from the features that have been discussed and demonstrated. This trivial example is used as a simple clear vehicle for the Agile/agile technology message but the principles scale tremendously well. In adopting these ideas and applying them to pages on your website, the whole site, a new project and your business as a whole you will be able to demonstrate through hard data a clear positive economic impact.

So, to summarise we will see how Rudi can address each of the ten issues highlighted for his simple example using agile technology:

Intellectual property ownership

Rudi can now rightfully claim ownership of his content. He can access the content because he knows where to find it and it makes sense. The site now lends itself to change whereas before it was actually a hinderance.

Accountability

Rudiger is now fully in control and can justify changes based on accurate Key Performance Indicators to the marketing department, his shareholders and himself.

Resource skills

You don’t need to be a rocket scientist to write copy for your website. Those with the marketing skills market your products. Rudiger can accept the marketing teams input and act on it through his website.

Information

Communication is improved through use of the Agile methodology. Changes are made based on an informed consensus between Rudiger, the marketing folk and shareholders. Testing verifies the effectiveness of changes so all parties are happily glowing rather than rowing.

Process bloat

Really, Rudi do you need three sign-offs any more? No! The red tape is reduced as is risk. A happy cause and effect that makes Rudis life easier and costs reduce.

Systems complexity

Significantly reduced – just look at the example HTML. Rudi may have been on the verge of wastefully hiring a new designer/HTML/Code guru at great cost just to make website changes. He knew that was going to be a bad move and now doesn’t have to.

Legacy issues - Removed.
Time and Cost - Reduced.
Accessibility - Rudi can get his hands on the content he wants as can disabled users and search engines.

To draw our fictional aspect to a close, the sum of the parts of Rudis solution made more of a difference to his business than taking the methodology and technology in isolation. Moneyspyder takes a holistic approach to business problems and associated solutions. Rather than waiting for the research to drop in to your inbox, as thought leaders in all aspects of e-commerce website implementation Moneyspyder proactively seeks out the answers. If they don’t exist, we’ll extend the field. If you have similar issues to Rudi, get in touch.

Thursday 15 March 2007

Some Agile meat to get your teeth into

Let us continue in our exploration of Agile...

Best-Practice Page Implementation

Best-practice is a term oft used in many technology circles to describe what should be but frequently isn’t. We will use best practice as the banner for our much improved approach to building e-commerce websites to describe what can and will be. What we mean in essence by best practice is adhering to current and correct site implementation standards: now and forever amen brother Rudi.

The importance of standards

What standards are we talking about?

• Correct use of external Cascading Style Sheets
• Correct use of external java-script assets
• Not using tables for describing content
o The W3C, in its Web Content Accessibility Guidelines, explicitly says “do not use tables for layout...”
• Correct use of image assets
• XHTML compliant mark-up
• Level 1 CSS compliance
• Semantic coding

Standards compliance means the consumers of our sites – not necessarily users but the technology that our users use to visit our sites – have an easier and therefore guaranteed better user experience, ensuring good longevity for our sites, simplicity and therefore reduced time to market and lowered cost of production

Complying with current best practice means we can build websites according to published standards without having to explicitly cater for the lowest common denominator. This takes a lot of the ‘think’ out of site implementation meaning we can build websites that:

• will not suffer as they are adjusted
• will encourage reuse
• embrace change
• are as simple
• are lean
• degrade gracefully

See how ‘lean’ and ‘simple’ address the issue of complexity as mentioned above in our ‘list of ten’? Not degrading through adjustment and encouraging reuse address one aspect of accessibility. By this I mean if one designer builds a page, Rudi can take on the responsibility without weighty tomes of documentation to support the beast. Thus, we can reduce the level of skill required to maintain pages on our sites.

Now would be a good time to demonstrate what we mean. Consider the two HTML examples below. One uses ‘old style’ table layout, inline style where the other uses standards compliant mark-up:

Retro old school style

<table cellspacing="0" width="700" cellpadding="10" align="center"><tr><td colspan="3" bgcolor="#000033" align="center"><font size="4" color="#ffffff"><b>This is a typical 3 column table layout</b></font></td>
</tr>
<tr>
<td width="105" bgcolor="#003366" valign="top" align="left">
<font size="3" color="#ffffff"><b>left menu</b></font><br><br>
  <a href="css-1-column-layout.html">1 column layout</a><br>
  <a href="css-2-column-layout.html">2 column layout</a><br>
  <a href="css-faux-columns.html">3 column layout</a><br>
</td>
<td align="left">content area<br><br>
This page is simply a visualization of a table layout and another similar layout using CSS. This part is layed out without any css. It is all table cells and font tags. Click on the links in the left menu to view actual CSS layouts.
</td>
<td width="105" bgcolor="#003366" valign="top">
<font size="3" color="#ffffff">right sidebar</font>
</td>
</tr>
<tr>
<td colspan="3" align="center" bgcolor="#006699">
<font color="#ffffff"><b>footer - usually contains a text menu</b></font>
</td>
</tr>
</table>


Standards compliant goodness


<link rel="stylesheet" type="text/css" href="style.css" />
<div id="layoutdemo">
<div id="header">
<br />this is the same layout using css without a table
</div>

<div id="leftmenu">left menu<br /><br />
  <a href="css-1-column-layout.html">1 column layout</a><br />
  <a href="css-2-column-layout.html">2 column layout</a><br />
  <a href="css-faux-columns.html">3 column layout</a><br />
</div>
<div id="contentarea">
<br />
content area
<br />
<p>All of the layout for this portion of the page is made using css. Although this looks like the table layout above, it is layed out with divs.</p>
<p>The main benefit with using css is the ease with which you can make changes to the site. If you wanted to add a second footer to every page on the site. For instance, an "add this site to your favorites" could be added by modifying one file. With a table layout you would have to change every single page on the site or use server side includes (SSI).</p>
</div>
<div id="rightsidebar">right sidebar</div>
<div id="footer">
<br />footer - usually contains a text menu
</div>



Page Weight

The first thing to consider is the size of each HTML segment. We can see that the standards compliant HTML is a fair bit smaller than the ‘old school’ example but when one takes into account the size of the style sheet, the standards compliant model seems to look poor in comparison(1.11Kb for old school vs 3.39Kb for the ‘great’ new standards). Not so fast! Our sites (hopefully) exhibit some degree of consistency in terms of layout and style. This means we can reuse our style sheet again and again. Now, browsers will only request the style sheet once – when they don’t have it. Subsequent requests will reuse the cached copy. This well documented behaviour represents the weight saving we are looking for. The study by Akamai Technologies and JupiterResearch that Rudi was excited to receive suggests that an average online shopper will only wait four seconds for a page to download before leaving in favour of a faster site. Indeed, site speed is second only to price in terms of repelling users. Jupiter suggests the following guidelines:

• The consequences for an online retailer whose site underperforms include diminished goodwill, negative brand perception and, most importantly, significant loss in overall sales.
• Online shopper loyalty is contingent upon quick page loading, especially for high-spending shoppers and people with more online shopping experience.
• JupiterResearch recommends that retailers make every effort to keep page rendering to no longer than four seconds.

With respect to our trivial example, saving a few Kb on such a small page seems like lots of effort for minimal return. Moneyspyder has consistently demonstrated a 50% saving in page weight to clients by adopting best practice implementation and standards compliance. Every 5Kb saved roughly equates to 1 second of download time on a 56K modem – easy savings. What if most of your users use broadband? Well, even if you are absolutely sure of your analytics data you have to ask why Google insists on such a light homepage – 13Kb. Surely there is something to page weight after all?

Robustness

We are starting to see some degree of agility already…let’s demonstrate some robustness. We can demonstrate the fragility of the use of tables by clumsy editing/inserting/deleting of table elements. See what happens when clumsy Rudi drops in a table row tag
<tr>
in the middle of the main section copy – oops! Ctrl-Z, quick Rudiger!

Trying this with the standards compliant demo has no effect. Now we have strength and some great new agile concepts at our finger tips and we’ve only just scratched the surface!

Semantic Coding

Semantic coding is an approach to writing human and computer readable HTML. In essence, to write code to describe the content rather than code how the content should look. For example, the HTML below will render a page title correctly but there is nothing in the HTML to clearly identify the text as a page title for content managers, search engine spiders or browsers. The end result may appear fine to the end user but meaning and clarity have diminished for other consumers:

<font size="6"><b>This is the page title</b></font>


In comparison, humans as well as computers can understand that this is a page title. The authors intentions are clearer to all given the universal knowledge that the use of the
<h1>
tag implies ‘page title-ness’:

<h1>This is a heading</h1>


So, adding fuel to our already raging fire of compliant goodness we have further reduced complexity, code bloat and having increased the clarity of the HTML we have significantly reduced the level of skill required to understand what the site does.

Repurpose Content

Significant effort is typically required to reposition or repurpose tabulated content. This ‘feature’ becomes more burdensome with every new level of tables that are introduced. Extraction of the right content section without impacting the overall page structure and reintroducing elsewhere, again without breaking the page layout can be arcane at best. Reliance on the style sheet to position content sections goes a long way to reducing the content obfuscation problem. The examples here are not illustrative of this point – way too simple. An indicative example of the level of tabular complexity that can easily be achieved can be seen on www.dell.co.uk. Using simple tools in Firefox, you can highlight the tables and the depth to which tables are nested. In comparison, the BBC homepage, whilst not perfect is very light on table usage. Go ahead, try it!

A third example amply demonstrates the ideal – http://www.moneyspyder.co.uk uses no tables. All content is easily extractable, reusable and can be repositioned with relative ease. Want to move your search box from top left to top right Rudi? With the right page implementation – no problem. Do it the old way and you could have a significant project on your hands – needlessly.

Revisit Process

With the risk associated with site changes mitigated to a large extent it is wholly appropriate to reconsider our bullet proof, belt and braces sign off process. As long as our CMS restricts the extent to which changes can be made to those areas that are appropriate then we have another item ticked. That list keeps on shrinking with these exciting techniques, Rudi’s getting closer to a solution but we can’t quite shake off those exclamation marks!

Accessibility

Leanness, simplicity and accessibility have other positive properties that cannot be ignored. Content that is simple to access and understand benefits users regardless of what tool they use to access your site. If content can be presented in a usable format to Internet Explorer, Firefox, a PDA, a screen reader or a search engine spider then all these users will have happy user experiences. This is another Good Thing!

Wednesday 14 March 2007

Continuing our Agile journey

Agile technology

Let’s consider Rudis simple scenario some more; one that we probably encounter on a daily basis: small, simple changes to an e-commerce website. We’re not talking an entire redesign or launching promotional micro-sites here although the points listed below and the solutions discussed do scale rather nicely…

So, what are the primary issues that affect us and Rudi? I suggest this non-exhaustive list as a starter for ten (yes there are ten!):

• intellectual property ownership – Rudi: its my website damnit!
• accountability – Rudi: so let me own it!
• resource skills – Rudi: surely I don’t need to know all that technology to make changes?
• information – Rudi: I need to know what/why/how/who/if/where/when…….
• process bloat – Rudi: how many signoffs?
• systems complexity – Rudi: run that by me one more time please…!
• legacy issues – Rudi: I thought we got rid of the old system years ago – where’s John?
• cost – Rudi: but its just changing a few words on the footer!!!
• time – Rudi: why can’t it happen this month?!?
• accessibility – Rudi: just gimme access will ya!

As you have probably gleaned from earlier ramblings and additional material, Agile can go a long way to addressing a number of these points but it’s not the silver bullet on its own. We need to think about our technology platform: time to grasp the nettle that is our lifeblood my friends: let’s talk tech.

Fear not, I’ll make it an easy example: Rudi is making changes to the ‘front end’ of his site. This is the part of your site that your customers see and can be considered as most important in many respects. The front end is key to quality customer experience but also an area where business owners can make most difference without requiring heavy tech skills, process, technology or spending a small fortune every month.

How?

Good question Rudi! And I apologise for catching ‘exclamation mark-itis’. There is some ground work required first in terms of our understanding of why we have a less than ideal situation to begin with and then we can explore the agile technology solution that works so well with the Agile methodology.

Think Rudi and Reader – does any of this sound familiar? We have all been subject to products of the last internet bubble at some point in our professional lives. Meaning: we will have experienced the joys of (at least) five year old HTML that has been subject to numerous rewrites, updates and additions. The proverbial ‘woodsmans axe’ if you like…lets take a peek at what we are dealing with in reality.

Rudis first impression of this sweet little page may have been that it was lovingly crafted originally, looking superb and downloading in under a minute(!) with all the latest trends cleverly incorporated.

In actual fact, this sick puppy exhibits a nasty bite as soon as he takes a closer look under its tail. Simple changes are going to require a careful inspection of its internal workings. Rudi needs to be sure he doesn’t undo the last ‘n’ changes (where n is large) if he misses that vital closing table cell tag or Marketing will not be best pleased... he doesn’t even glance at the javascript pile steaming at the bottom of the kilometre long listing – it makes his eyes water.

I’m painting a dark, grim, cynical and pessimistic picture here but it may well be a familiar landscape that we gaze on every time we want to introduce a new promotion to our homepage. To start afresh, I shall guide you towards a relatively infrequently visited corner of the gallery that is our world of e-commerce.

Tuesday 6 March 2007

Agile continued

Today we continue our exploration of Agile...

The Agile manifesto

The principles of the Agile Manifesto refer specifically to software development; however we will consider the effects of trust, embracing change, motivation, empowerment, communication and delivery focus in the context of our e-commerce businesses and how they relate to our goals.

Welcome back! You just opened a new tab (or browser if you aren’t yet fully 2.0) and had a quick read of the manifesto didn’t you? If you didn’t - come back in five when you have done so - if you did, Well Done and on we go. You have seen that far from being a strict ‘Thou shall/shall not’ set of policies, the manifesto reads like a set of aspirations or goals. We can see how these principles relate to our own goals – not necessarily in a software project sense of course but the parallels are obvious, for example:

• Reducing risk
• Enhancing communications
• Reducing project delivery time

There are some interesting examples that are worthy of note that may not be in common usage:

• The self tuning team – review and act on past performance metrics
• Delivery as a measure of progress
• Constant/sustainable delivery as the goal – not peaks and troughs

Clearly the drive is towards repeatability and reuse implying, correctly that Agile engagements are heavily cyclical. Revisiting, revising and refactoring towards the desired outcome are key Agile concepts.

Can Agile save money?

Rudiger, the star of our introduction is of course concerned all about the bottom line: Cost reduction through use of Agile methodologies is a partly symptomatic of time saving which in turn is attributable to reduction in complexity of systems, bureaucracy and process. All Agile aims…

The Independent research that Rudi received earlier has measured the impact of adopting Agile methodologies on ThoughtWorks complex software projects:

• Reduced cost by 57 percent compared to other IT solutions for similar complex projects.
• Reduced effort by 62 percent compared to alternatives, including in-house development and previously employed consultants.
• Reduced critical defects by nearly 80 percent.
• Reduced overall defects by more than 60 percent.

Whilst reading the remainder of this article, bear in mind how business benefits for Rudiger and yourself can be derived from the other features described:

• Fewer defects reduces the number of test-fix cycles
• Clearer lines of communication mean important features are prioritised and dealt with accurately
• Embracing change is motivational and fuels innovation
• Closing the gap between business and technology people
• See working products with key features sooner
• Focus on quality
• Make testing easier and more accurate

...more next time folks

Sunday 4 March 2007

Agility: What it means to business and why it is a Good Thing.

Back in 2000 Bill Gates wrote ‘Business @ the speed of thought’. As described on the Microsoft website:

Business @ the Speed of Thought was written to inspire you to demand - and get - more from technology, enabling you and your company to respond faster to your customers, adapt to changing business demands, and prosper in the digital economy.

‘Imagine that!’ thought Rudiger, ‘My business being able to respond faster!’ he continued whilst over using exclamation marks… Rudi was in the process of trying to make some small changes to his website before the new season started – or so he thought. The pages were large and overly complex. Working with the marketing department was proving to be a ‘mare. Conversion was plummeting fast and no-one seemed to know why. Rudiger needed answers and actions but they had to be the right ones.

Two pieces of research seemed to point the way. Simultaneously landing in Rudi’s in-box were a Forrester paper on the economic impact of something called ‘Agile’ and a study by JupiterResearch and Akamai Technologies on the detrimental effect of page weight on customer attraction. ‘Could these be the answers?’ thought Rudi, for once avoiding an exclamation opportunity.

Well, the studies are real where poor Rudiger is fictional but he just might sound familiar. The two research papers might turn out to be the solution. Exploring the subject matter further, this series of posts explores a set of simple measures from methodology to technology that enable a wonderful trait known to the cognoscenti as ‘agility’. ‘Please fastbloke, can you explain agility in terms of my business?’ I hear Rudiger ask. Well Rudi, physical agility in humans and animals is defined on dictionary.com as ‘the power of moving quickly and easily; nimbleness’. The second definition (the ability to think and draw conclusions quickly; intellectual acuity) translates more appropriately into the world of e-commerce. Rudi (and you Dear Reader) will soon see how these qualities enable rapid change, enhanced flexibility equating to cost savings, reduced time to market and increased overall effectiveness of your business.

The Agile approach

Waterfall, RAD, RUP, Prince and DSDM are all well known approaches to projects. Let’s take the best bits from each and build a best of breed set of ideas, a framework, a set of guidelines. Let’s not constrain ourselves to rigid, heavyweight doctrine – after all, that’s what we are striving against isn’t it? Hey, rigidity and constraints impact our agility so let’s bring the fight to the fore and call our new approach ‘Agile’!

The thought process may have been different but the end result is what we want to discuss here: Agile is currently hot so let’s explore why and what it could offer to our businesses....next time!

Saturday 3 March 2007

On the road again

Ah, deep joyous aching legs. The weather is good, I am healthy and so I got to run today for the first time in three weeks. I won't post a time here 'cos it's just too embarrassing but I did a full 5k with no stops and a 1k warm down so not too bad.

Next week will be tricky to find the time to run as I have a lot of travel with work which means carting this behemoth of a laptop around...too much weight for running comfortably and after all, I do this for fun - not to get injured.

Fingers crossed, the two trips next week should really spell the big kick off for Moneyspyder and hopefully a third will come on line too.

Next weekend is going to be taken up by our first trip to Budapest this year to furnish our flat...no time for running but Hungarian food and beer means I really will need to run some after the trip ;-)

Happy, busy days!

Friday 16 February 2007

Embracing change

Well, I got bored with the messy old template so I chose a new one. Hope you like it. I use the singular in referring to the audience 'cos I doubt there is more than one person reading my blog, huh Pete?

Also ditched the Google Ajax search as that got annoying.

Talking of annoying, my snap preview script got ditched during the template change so I had to bung it back in. Another 3 minutes of my life wasted, sheesh!

Wednesday 14 February 2007

ruby caching

Is so easy.

Drop the following in your environment.rb


module ActionView::Helpers::CacheHelper
  def cache(name = {}, options = nil, &block)
    @controller.cache_erb_fragment(block, name, options)
  end
end

class ActionController::Caching::Fragments::UnthreadedFileStore
  def read(name, options = nil)
    if options.is_a?(Hash) && options.has_key?(:ttl)
      ttl = options[:ttl]
    else
      ttl = 0
    end

    fn = real_file_path(name)

    # if cache expired act as if file doesn't exist
    return if ttl > 0 && File.exists?(fn) && (File.mtime(fn) < (Time.now - ttl))
    File.open(fn, 'rb') { f f.read } rescue nil
  end
end


And you can cache with ttl in views selectively:

<% cache("some_name", :ttl => x.minutes or hours or days) do -%>Heavy old content<% end %>

Of course, you can always manually expire content too:

expire_action :action => 'action_that_created_the_content'

This is not my own work. I found it and just wanted to share!

irony

There is a new movie out called Hot Fuzz from the same guys who did Shaun of the Dead: Working Title. They were apparently thinking about doing a sequal to SOTD called 'From Dusk Till Shaun'. Neat.

The strap line for Hot Fuzz is 'Small town. Big Cops. Moderate Violence'.

Hmm, since when has violence ever been moderate? Not that Hot Fuzz is guilty of glossing over violence, I see this a lot in TV listings: moderate this, mild that. Like the darker side of the human condition is so easy going. As Grissom says (sort of), 'allowances made by society makes it easy for us to excuse our every action and not take responsibility for what we do'.

:I'm going to inflict mild to moderate violence on you random person
:Okay, violence to my person in moderation I can handle mildly psychopathic man but beyond a modest beating you may struggle to rationalise your already questionable acts

Doesn't quite make sense. Verging on the oxymoronic.

Tuesday 6 February 2007

Woo Hoo!

I won something! I rarely win prizes in raffles and that kind of thing. This is great!

Win too - its easy and seems to be catch free although I'll surely blog as soon as I receive spam....



BTW - it was a £10 Amazon voucher....

Sunday 4 February 2007

Happy days

Well so far it's been a cracking good Feb for English sport. An utter pummeling of the Australian cricket team which has been on the cards all summer you have to admit...and the Socttish rugger team got shown what for thanks to Billy, Jonny and Harry along with 13 other super start friends.

This Six Nations is going to be a cracker...or will it? The only downer on a weekend of great sport (Wales & Ireland game included) is the whining has-been Jonathan Davies. For the love of Rugby, please, BBC do not continue to employ this f***wit. Such blatant bias against anything English, Irish, Scottish, French or Italian (you get the picture) is delivered via whining, nasaly bile sodden, nonsense soaked ignorance thus soiling quality sporting entertainment.

In a similar vein to Sniff Petrol's most worthy 'Stop the Cock' campaign I suggest a 'Stop the biased whiner' movement to increase everyones enjoyment of the 6 Nations and up coming World Cup on the BBC.

Friday 2 February 2007

Happy Friday....

I'm hung over. Go away and leave me alone.

Monday 29 January 2007

WFH

Its 07:15 and I'm already 'at work'....well blogging anyway. I have to do something to get the old grey matter wared up. Why so early? 'Working From Home' this morning.

What's the 'O' stand for? Oh my god it's early!
Why? Because I have to!

Thanks to 'Good Morning Vietnam' and especially a huge hero of mine, Robin Williams for that little scene. Anyway, I have a leaky boiler so I am waiting around between 08:00h and 13:00h for the 'qualified engineer' to come along. Qualified or not, I don't care - they do it for very little money so I don't have to. I get to get up early and get on with important stuff and increase my productivity whilst only having to endure one rush hour (travel in to London on the tube after 10:00h and before 15:30h and its really quite a good transprt system...assuming nothing is broken of course...).

So thanks to the leaky boiler and a qualified engineer with a seemingly random unplannable schedule, I can get lots done today!

Monday 22 January 2007

Falling off the wagon

Hurrah, back in the air again yesterday. A 90 min bimble out west, north east between Didcot and Oxford then north to Silverstone and back to White Waltham in time for a beer. Good times!

T'was brisk windy but nothing beyond personal or airframe limits! 110kt cruise dead into wind produced 66kt ground speed...following a 180 ground speed rocketed up to 160kt! But it was smooth. At least up @ 3500'. My approach suffered due to gusts so the landing was not a fastbloke 'greaser'. No photos unfortunately but the vis wasn't that great - just felt good to be back in the air.

Friday 19 January 2007

Love and hate

Love




  • Good Manners

  • Unsolicited acts of kindness

  • Knowkedge shared freely

  • Open minds

  • Spiced Rum



Hate



  • Misuse of the 'reply all' button

  • Ignorance

  • Rudeness

  • 'What you wanna do is...'

  • My tech is better than your tech because you chose 'X'

  • If you can't use vi you must be stupid

  • Umbrellas on a windy day

  • People with umbrellas on a windy day

  • Windy days

Monday 15 January 2007

Yes but....

Ok, this is a nice little device (understatement of the year) but my concern is - will the screen survive? I have a iPaq that is dead within weeks without the in-built screen cover.





Yeah, there is a natty cover integrated. One doesn't have to leave the shiney touch screen exposed but it looks sooo cool!


  • So cool it pisses ice cubes

  • Innovation rich

  • Expensive

  • Integration with non-Macs



Conclusion...
Wait for series 2...

Wednesday 10 January 2007

Shameless regurgitation of viral mail content

Thoughts for 2007

  • Life is sexually transmitted.

  • Good health is merely the slowest rate at which one can die.

  • Men have two emotions: hungry and horny. If you see him without an erection, make him a sandwich.

  • Give a person a fish and you feed them for a day. Teach a person to use the internet and they won't bother you for weeks.

  • Some people are like a slinky... not really good for anything, but you still can't help but smile when you shove them down the stairs.

  • Health nuts are going to feel stupid someday, lying in the hospital dying of nothing.

  • All of us could take a lesson from the weather. It pays no attention to criticism.

  • Why does a slight tax increase cost you two hundred pounds, and a substantial tax cut saves you thirty pence???

  • In the 60's, people took LSD to make the world weird. Now the world is weird and people take Prozac to make it normal.

  • AND THE NUMBER ONE THOUGHT FOR 2007:


    We know exactly where one cow with mad-cow-disease is located among the millions and millions of cows in North America , but we haven't a clue as to where thousands of illegal immigrants and terrorists are located.


    Maybe we should put the Department of Agriculture in charge of immigration?

Sunday 7 January 2007

Watch the times tumble!

10K progress yesterday - watch this space. Cross training and longer distances beckon.

Thursday 4 January 2007

AJAX vs SOAP

For the most common denominator, the prospect of even a simple mash-up will set the ganglions a jingling (scary!). Google, having deprecated their SOAP search API are truly opening up slick content aggregation to the masses

Not the first though - Jetspeed opened up an AJAX API last year.

There is a lot of hand wringing and getting-knickers-in-a-knot over Googles strategic shift towards AJAX over SOAP with some (but not a lot) reason. Really, if changing a system to use AJAX instead of SOAP is such a big deal then maybe some refactoring is in order anyway?

Commercially the AJAX API makes sense for the vendor.

Technically the AJAX API (done properly offers as much power as would realistically be required by such applications as SOAP or remoting.

AJAX oriented dev tools are plentiful. this blew me away!

Watching this space closely

Tuesday 2 January 2007

Happy New Year!

Thinking about new year resolutions I almost elected for a rather geeky resolution to have no resolution...hmm too ironic.

No - I'm going to eat better breakfasts and make more time for my friends. Previously I have resolved to be less tolerant of idiots which has resulted in fewers friends - they're muppets but they're my muppets!

Can I reduce my carbon footprint? Yup - send China, Europe and the United States back to the jurasic period.

Realistically? Maybe an iota or two but not in any meaningful way. Is that feeling of helplessness just reality biting for the first time in '07 or is it the arse-end of the last hangover from '06? No answers on a postcard pls...

Aha! Another resolution - form complete scentences and reduce usage of '...'

Those resolutions didn't last too long so I'd better go get some brekky.

ps. decided on '07 running targets - speed, not control darling!