Category Archives: Uncategorized

Not building a Jumbo, but a Jimbo

Having just posted up the latest “Armchair Pilot” missive, this time Joe Sutter’s book about the development of the Boeing 747, my wife reminded me of this episode of Jimbo which somehow manages to combine aircraft and computing in one easy-to-digest 5 minute delight.

Enjoy Jimbo And The Jet Set – Episode 15 – The Computer Clanger

Advertisements

Meta-Blogging?

With the prospect of a few hours drive each way to one of my organisation’s offices yesterday, I decided to look out some podcasts and have them on in the car to try and make the journey pass faster.

By chance I found Riffing on Writing, so far ten podcasts by copywriter & journalist Jason Konopinski on the subject of blogging. Each podcast is an interview with someone prominent out there in the blogoverse on a different topic such as the pressures when monetising your blog or writing for fun.

I managed to listen to three podcasts out of the ten available, the sound quality on the early podcasts isn’t great but it gets by, then later on the quality vastly improves. Whatever the sound quality, I found the topics & speakers stimulating, and frequently talking about the problems I face now. Every podcast I listened too sounded like a party, hence the “riffing” in the title, and the topics went all over the place like a “Normal” conversation..

If you’re interested in changing your blogging for the better, then take a look at the site and the descriptions of the podcasts to see if any fit your needs. Highly recommended!

Is the Terminator, and Skynet, closing in?

Almost a year ago, I posted Was the Terminator so wrong after all? 

At the conclusion I pointed out:

What we are potentially talking about here is that my value could also be reduced if I don’t know, or worse still don’t have recommendations from, the right people.

So, the social network privacy issues become more important as we go forward. I can’t afford to be public, but soon I could end up not being able to afford not to be. I’m not convinced it’s a good thing….

So this piece in TechCrunch: Klout Would Like Potential Employers To Consider Your Score Before Hiring You. And That’s Stupid., and especially the views ascribed in the piece to the SalesForce.com recruitment effort worries me that we’ve started down the path.

 

“mknoona” and Critical System Heuristics

It’s been a little quiet here on the blog for a while as I have been busy with OU course TU811, Thinking strategically: systems tools for managing change which has taken up pretty much every free moment & put paid to any thoughts of flying my little airplane.

Now that all our TU811 work is submitted, the course online forum is pretty quiet except for a small quorum of us discussing the course content retrospectively. Some felt the content was rather superficial, the course presents five mainstream systems tools in parallel with a stream about thinking styles. Personally I felt that the breadth was good as it presented diversity in methods, and I like being able to choose from a canvas when I’m problem solving, and then modify & apply the method, “praxis” as introduced in the previous TU812 module.

One tool presented at the end of the module was Werner Ulrich’s Critical Systems Heuristics (CSH) which on face value looks a bit like a checklist presented as a matrix, but what it actually does is to make you think comprehensively about a situation from four different perspectives as my paraphrasing below:

  • why is it that we’re doing whatever it is we want to do
  • where is the centre of control for this, in other words if we try & do it is there a barrier stopping us
  • who actually understands what it is we’re trying to do & can they help us
  • who could be affected badly when we do what we’re trying to do

A lot of this is used in a social context but I got thinking about a couple of electronics problems from my past and how the decision style represented by CSH actually played a part even without us knowing about it…..

We’re used these days to buying a computer, taking it home & simply connecting it to a high-speed network, usually wi-fi as delivered by our broadband contract. Back in the 1980s this “Ethernet” network thing was just emerging from the Palo Alto Research Centre at Xerox, and we used “serial” wires to link terminals to computers, or even computers to computers (I was amazed on a trip to computer manufacturer CCI in California that they had all of their computers linked together using serial cables). These links were slow, and implemented using pretty simple electrical cable. When I went to work for Systime in 1986, they had a huge serial switch so from my desk I could connect to various computers, albeit one at a time from my terminal, very high-tech.

One problem with simple electrical cable, and slow speed data signals, is that it is very easily affected by external electrical noise, we still get some of that today when you are talking to someone on a telephone and their Blackberry is sat close by on the desk, you can hear the Blackberry doing it’s data transfers and it’s very annoying. In a “noisy” environment it was definitely the case that what was sent from the computer definitely wasn’t received at the other end.

Back in 1982 at a development centre in ICL, some colleagues on a different project to the one I was working on had a bad noise problem. Being a group of software developers they decided to fix the noise problem using software, they simply read the data value being sent down the wire three times and if they had two or three matches, used that. Ironically it was an apprentice from the manufacturing plant up the road who saw what they were doing, metered out the cable & showed that it wasn’t earthed correctly. Using a correct cable stopped all of the faults.

It was towards the end of the 80’s when I saw a similar problem. This time it was at an installation at a builders yard near Oxford. A serial cable had been strung over to a shed from where they processed orders for sand, grit & the like. This time the problem was almost unearthly, the signal coming down the wire kept repeating, in digital form, “mknoona….mknoona…”. And, yes in this case the cable was correctly earthed so the factor causing the problem was something external & significant. We ended up putting up a strongly shielded cable.

So what do these two problems have to do with Critical Systems Heuristics, if anything? In both cases what we wanted to do was to stop the spurious signals from coming down the wire, and it was easy to measure success: either the extracurricular rubbish stopped or it didn’t.

It was in the second step, looking at the controls, where the first case failed & the second worked well. At the development labs the team simply looked at themselves as the source of control, and of knowledge, and simply coded another fault into the system. They didn’t look at all of the sources of control (what could be done to stop the noise ingress) or knowledge (who could help with noise ingress) which is why a 17 year old apprentice showed them up. Furthermore no one thought about who would be impacted by the software change, in years to come someone would find their daft “fix” and have to puzzle it out, or worse still remove it as a common sense action and then find that things crashed around them.

In the builders yard case, it was quickly decided that the control of the external noise just couldn’t be found, and therefore the decision was taken to employ knowledge to institute a fix through shielding. I still have my suspicion that the noise was coming from power lines nearby but we could never prove it. Nothing was altered other than the cable & no-one was affected.

Back in May I wrote about making System Design Systemic and concluded that I had taken a soft technique from systems and applied to something much harder. I raise this because that is what I am doing here again. So it is an old example, but it shows that we can take systems thinking ideas & methodologies, and apply them to our harder technology world. And if it helps to make what we do more effective, and more consistent then is that a bad thing?

Why does it have to be so complicated?

It feels like the title above is a continual refrain these days, maybe its just me getting old. What prompted this was the fact that I have upgraded my “Play PC”. It runs Linux and I had added a new SATA hard disc & installed the Debian-based version of Linux Mint, something that isn’t trivial but is certainly much, much more automated than when I used to do this stuff for real over 20 years ago. What was bugging me was that the swap partition, despite me configuring it, wasn’t being used automatically.

So, a trip to the recesses of knowledge at the back of my mind & a look at the man pages. There I found the mount table but things have changed, and you can now specify a UUID for your disc partition. I had one but it was the wrong one, that was why swap wasn’t being turned on, but this whole UUID business…..Why does it have to be so complicated?

But is it really complicated? Once I’d stepped back and thought about it, the whole Linux schema (based on the Unix I once knew & loved) was still very simple, and adding the UUID made mount work better. It really was still simple, just me making it seem harder becase something there wasn’t quite as easy. So is that really the case with the whole world? Often I look at things that seem so complex on the surface, yet underneath we’ve seen it all before.

Well…yes…..and no…

Going back to Unix, er Linux I mean. It was a really neat idea, made up of lots of small simple bits of code that did one task each. You linked them together to do more complicated things, I guess it was the start of “mash ups” before they became trendy. Of course, all these simple little programs sometimes needed something more complex to hold them together, so enter the little bits of genius like awk (named after its authors: Aho, Weinberger & Kerningham – now that is cool having a piece of software named after you), the regular expression matcher, or sed the inline editor that could be scripted. These were the middleware of their day, bits of software that did incredibly clever things and kept it all hanging together (plus you had to be a bit of egghead to understand them and make them work properly).

The problem here is people. They like to add & tweak things, so a simple program that does one thing has to be extended so it can do more, and then it takes more configuration to make it work, and more intelligence to understand how to configure it. Why not keep it simple instead of trying to bolt too much together in one place? Look at sendmail, or the TCP/IP streams stack. Oh dear! When it goes worng, it goes badly wrong & trying to find the fault becomes a major headache.

But its not just Unix Linux is it? It’s everywhere. You buy a TV but it has to be an Internet based browser & multi-entertainment centre, and if you upgrade one bit of the software in it the whole lot can fall in a heap. I had a Renault Scenic that had multiple computers controlling it, and when something went wrong the whole thing went very wrong. We now have digital Christmas tree lights….why?

Its not the complexity that is really the point here, but our experience around it, or how it works in the wider world. We’re on the cusp of switching over to digital TV, more channels & a better quality of picture but is it worth it? We often get picture corruption when bits are lost & the whole decompression piece can’t pick itself up again. It uses far more power than analogue technology at a time when we’re trying to be green. Is this really progress, or a better way? DAB radio fares little better. Ok so the digital content is more robust (where we live at least), but why do have to put up with reduced quality on some services because there aren’t enough bits to carry the full quality of the content?

There are a number of points really to this post:

  • We can build quite complex things from a number of smaller simple things. It is elegant and promotes reuse so why have we given up doing just this
  • Why do we think that more complex things are better than simple things, we’re too fazed by the immediate function without caring about the long-term effects
  • Why don’t we push back against the folks who push this complex stuff at us because they think its better for us. Let’s have what we want

So here’s the plan, how about we start looking again at simple building blocks and how we can make them work more effectively for us? I think I see a research project for my MSc appearing.