Famous Software Bugs

Despite the best of intentions and processes we all screw up sometimes.

I think pretty much every developer has made a screw up of some kind over their career (and if you haven’t you are either very lucky, unaware you have done so or prob not doing anything interesting!).

I spent some time putting together a list of high profile bugs for an article on gooroo.io.

Some issues are amusing & entertaining, some are downright terrifying & a few tragically resulted in loss of life.

Check out the article here: https://gooroo.io/GoorooTHINK/Article/16833/Famous-Software-Bugs/23477#.V3TtN7h96M8

 

Building Resilient Systems

No one likes using unreliable computer systems.

There can be few things more annoying (in terms of 1st world problems anyway) than having an application freeze and losing a load of work.

Losing work is annoying but what if the system performed a more important function such as managing your bank account or maybe even helping an aircraft navigate?

  • How can we measure resiliency?
  • What are the best ways to ensure our systems are resilient?
  • How do companies such as Netflix approaching this?

Check out my post on this at gooroo.io:
https://gooroo.io/GoorooTHINK/Article/16830/Building-Resilient-Systems/23364#.V2-0Irh96M9

SOA Principles of Service Design book review

I am currently involved in a project that is part of our larger SOA strategy. SOA and related topics is a massive area and I am currently reading everything I can get my hands on to learn more about this complex area.

Sometime ago I was recommended Thomas Erl’s SOA Principles of Service Design (I’m going to shorten this to POSD to avoid RSI) as a good overview/introduction by a consultant I was working with (thanks Dave S!).

It is also worth noting that POSD has a brother/sister book called SOA Design Patterns which is apparently designed to complement & follow on from POSD. I haven’t read it so cannot comment much about this.

soaPOSD

POSD weighs in at just under 600 pages & claims to introduce the reader to SOA principles and concepts, explain design approaches, techniques for maximizing reliability and much more – sign me up!

Despite its length POSD is a straight forward read & the text is broken up with frequent full colour diagrams. The use of colour is actually really nice in a heavy book such as POSD.

In many places the diagrams do a great job of explaining important concepts but I couldn’t help thinking that many were unnecessary and conveyed very little or the data/concepts would be better represented in tabular format. Having content broken up with an unnecessary diagram was a bit frustrating & I found myself flicking through them quickly as say you might those songs/poems in a Tolkien classic.

The book does an excellent job of introducing core concepts & some of the advantages/disadvantages of this style of architecture.

Subjects such as contracts. Schemas etc are given a thorough treatment. I guess at times some of the focus on XML related technologies & approaches can make it feel dated but it certainly doesn’t distract too much from the core concepts/principles.

For me at times the book felt like a school or university text book & I couldn’t help feel the content could be distilled into say a quarter of the size without losing anything. Maybe it’s arrogant to say but I think I could get the important stuff down to around 100-150 pages and lose very little.

A case study is used throughout the book with issues that will be very familiar to any developers/architects currently working with SOA.

I really wish the author has used the case study more and gone into more depth (say similar to Vaughn Vernon’s implementing domain driven design). The case study forms a tiny part of the book in relation to lengthy explanations of abstract principles which would benefit from further pairing with a solid example.

Overall for those new to SOA this book does an excellent job of covering the core concepts, it is easy to read despite its length & the colour diagrams make it nice to read.

I suspect an experienced practitioner probably wouldn’t learn so much from the book – I was familiar with much of the content (which is probably partly be due to some of the awesome people I work with).

Despite some of my concerns I have yet to find a clear introduction to SOA concepts so if you are new to this area you probably won’t do much better.

Overall 6.5/10.