jump to navigation

Friday Philosophy – When Things Feel Wrong October 28, 2011

Posted by mwidlake in Friday Philosophy, Perceptions.
Tags: , ,
4 comments

I got pinged by someone else missing the Friday Philosophy today {BTW, Good news, the technical blogs start again on Monday}, so…

Take a look at the below. It is a rather pleasant spot of countryside on Sao Migel in the Azores, where the area in the foreground has been converted into a bit of a garden to take advantage of the natural beauty.

Nice, isn’t it? Sorry the sun is not shining, but there you go. This waterfall just across the road from a set of water mills and waterfalls at Achada, which is one of the tourist spots that features often in brochures for Sao Miguel. But look at the scene again. Does anything strike you as odd about that waterfall? I could not put my finger on what it was, I just knew it looked odd. (Graham, if you don’t spot this immediately you owe me a pint).

There was a path heading up the valley to one side of the waterfall, one of a network meandering through the gardens, and I went up it. After a short while there was a smaller path heading up the hill more directly. It looked maintained but too steep to be a “wandering around enjoying the scenary” path. So I went up that. At the top of this path was a structure, a concrete “block house” It hummed and it gurgled. There was another path heading back the way I came, towards the waterfall. I followed along it and I found the top of the waterfall…

Yes, the waterfall was a fake. It was coming out of this huge concrete trough fed by a large pipe which went back to the humming, gurgling concrete block house. Returning back down to the bottom of the waterfall I could put my finger on what was odd about that waterfall. There is a valley to the left. OK, that is not so odd, the water could be coming from high land to the right of the valley and draining into the valley at this point. Except there is another valley to the right of the waterfall as well. Both had small streams running through them. This waterfall could only be natural if there was a perfectly formed, shallow middle valley heading up to the hills between the other two valleys and the only point where the water could escape was at the confluence of the lower two valleys. There was also a lot more water coming down this waterfall than was coming down the two valleys.

What has this got to do with Oracle and databases? Well, have you ever been in the position where you look at the output from a system and it just does not “feel right”? I sometimes refer to something I call DBA Intuition. There is also Developer Intuition and there is certainly Tester Intuition. All are where you are not sure why but it just looks or feels wrong (or, you just get a feeling for what a problem is or what the solution might be, all I class as DBA intuition, but I digress).

As an example, you are tasked to look at one of those terrible BI-type reports that consist of two pages of SQL and they want to know why it takes so long to run. Before you dive into the code, you look at the result of the report and you just think “That seems like an awfully large number of people responding to that advertising campaign” or “I can’t believe 10 percent of our income comes from selling baby diapers”.

Usually when I have dug into the actual report or part of the system that feels wrong I find out one of two things. That I had no idea that part of that business really worked that way, or, that the report is utter garbage. Somewhere in that report there a missing table or a logic flaw {nested AND and OR statements are a good place to look}. This of course has the advantage that there is no need for me to tune the report until someone can tell me WHAT the report is supposed to be identifying.

DBA Intuition is, I think, basically a gut feeling you develop in response to experience. I suppose I have more “tuning intuition” these days, I look at how fast some SQL is coming back and the volume of data and I think “seems reasonable actually” or “something is very inefficient here”. I’ve noticed that good system testers have this intuitive knack of just asking the new system to do things in a way or order that does not match the original intention.

So, I encourage you to trust your intuition. If some part of the system feels wrong, go and root around in the system undergrowth; climb up to the top of the data waterfall {OK, I’ll stop with the bad IT metaphors) and see what you find.

Incidentally, after I found the pump house we walked the other way up the valley, following the pipe and the pleasant gardens. It took maybe 20 minutes but we found the "real source" of the fake waterfall, which was a very nice, natural waterfall sitting in the very bottom of a pleasant valley – just where a waterfall should be. It just took a little more effort to get to it. I'm sure there is some moral story in there but I'm damned if I can work it out :-)

Friday Philosophy – Should I Be a Twit? October 21, 2011

Posted by mwidlake in Blogging, Friday Philosophy, Perceptions.
Tags: , , ,
3 comments

Something I have been pondering for a while now is should I join in with the “happening crowd” and sign up to Twitter? I know, I’m two or three years behind the times on this, but more and more people who I like have signed up – even Doug Burns now uses twitter and he used to be negative about it in the same way as I. I’ve asked a few of these friends what they think.

I’ve always resisted the whole micro-blogging world, probably due to the comments made by people about how much dross is tweeted and what a time sink it can be, something the people I asked all mentioned. And partly, being candid, because I know one of my faults is to shoot my mouth off before engaging my brain, especially if annoyed. If it takes 20 seconds to do a tweet, I shudder to think some of the things I might have put out there in the heat of the moment or when in the pub. Pub talk is fine, so long as it is kept in the pub. With a blog, it takes me so long to write them I tend to calm down before sending, if I am angry.

Also, tweets are not my style. I don’t know if you have noticed but I can be a little verbose {this means I spout several sentences where 5 words would do}. Can I be succinct enough to say anything anyone else would want to read?

That’s the writing of tweets, what about the following? I could just be a passive follower. But how many? This is part of the advice given to me by Neil Chandler and also Doug, to only follow a few people so that you do not just drown in an endless feed of stuff. I guess that anything good gets re-tweeted and so you see stuff not just by those you follow but the best bits of what they follow? Neil also suggested that part of what makes twitter work is joining in, don’t just be passive.

Something about Twitter that does bug me a lot, and this is just part of the whole texting/smartphone/constant communication thing of modern life, is when people you are spending social time with just sit staring at their bloody phone. I just find that really rude and I also think it’s a bit depressing when you see three or four people in the pub or restaurant, all staring at their smartphones and not communicating with each other. You might as well stay in bed. Alone. {Oh good grief what a terrible thought! Do couples who do social media now just sit in bed with their phones in front of them, ignoring their supposed love of their life?}

But of course there are advantages to Twitter. There is a lot of interesting stuff that goes on only in the twitter world and some of the tweets I have seen have been hilarious. It’s far more lightweight than blogging, something you can do in a quiet moment. Though Doug suggests this is why you get so much dross about travelling, people catch up on twitter when bored and also tweet then. Niall Litchfield made a very interesting point to me in that it allows you to keep up on a large range of topics and see new ideas and thoughts more. I like that. In fact, Niall sent me an excellent list of reasons for and against, which I’ll {almost} finish on.

From Niall:

*************

Reasons for :

- I get vicarious updates from a large number of sources on a large number of subjects. (Oracle,SQL,Science,Politics)
- It can suit my short and acerbic style from time to time.
- More people are doing it
- It indirectly promotes me (albeit with a somewhat misleading image)
- I find stuff I wouldn’t otherwise have found
- I have engaged with product managers I probably wouldn’t have done

Reasons not:
- time wasting
- addictive
- it promotes me in a misleading way
- it can annoy others

I like it because I’m an information junkie and like to keep abreast of stuff in several areas. It can be a colossal waste of time and irritate immensely.

*************

I think I might well give it a go and that leads to my last thought. If I am going to enter the world of twitter, I am going to have to get a new phone. My current one is so basic that it does little more than just make and receive calls. But a single charge lasts a week.

Want to Know More about Oracle’s Core? October 19, 2011

Posted by mwidlake in performance, Private Life, publications.
Tags: , , ,
14 comments

I had a real treat this summer during my “time off” in that I got to review Jonathan Lewis’s up-coming new book. I think it’s going to be a great book. If you want to know how Oracle actually holds it’s data in memory, how it finds records already in the cache and how it manages to control everything so that all that committing and read consistency really works, it will be the book for you.

{Update, Jonathan has confirmed that, unexpected hiccups aside, Oracle Core: Essential Internals for DBAs and Developers should be available from October 24, 2011}

{Thanks to Mike Cox, who let me know it is already available to be reserved at Amazon}

Jonathan got in touch with me around mid-May to say he was working on the draft of his new book, one that would cover “how does Oracle work”, the core mechanics. Would I be willing to be one of his reviewers? Before anyone comments that there is not likely to be much about core Oracle that I know and Jonathan does not, he did point out that he had already lined up someone to be his technical reviewer, ie someone he expected to know as much as he and help spot actual errors. The technical reviewer is the most excellent Tanel Poder, who posted a little mention of it a couple of months back.

I was to act more like a typical reader – someone who knew the basics and wanted to learn more. I would be more likely to spot things he had assumed we all know but don’t, or bits that did not clearly explain the point if you did not already know the answer. ie an incomplete geek. I figured I could manage that :-).

It was a lot harder work than I expected and I have to confess I struggled to supply back feedback as quickly as Jonathan wanted it – I was not working but I was very busy {and he maybe did not poke me with a sharp stick for feedback soon enough}. As anybody who has had to review code specifications or design documents will probably appreciate, you don’t just read stuff when you review it, you try and consider if all the information is there, can it be misunderstood and, if you find that you don’t understand a section, you need to work out if the fault is with you, with the way it is written or with what is written. When I read a technical {or scientific} document and I do not fully understand it, I usually leave it a day, re-read it and if it still seems opaque, I just move on. In this case I could not do that, I had to ensure I understood it or else tell Jonathan why I thought I did not understand it. If there are sections in the end book that people find confusing, I’ll feel I let Jonathan down.

Just as tricky, on the one hand, as I’ve been using Oracle for so long and I do know quite a lot about Oracle {although clearly not enough in the eyes of the author :-) } I had to try and “not know” stuff to be able to decide if something was missing. On the other, when I wanted to know more about something was I just being a bit too nerdy? I swung more towards the opinion that if I wanted to know more, others would too.

I have to say that I really enjoyed the experience and I learnt a lot. I think it might change how I read technical books a little. I would run through each chapter once to get the feel of it all and then re-read it properly, constantly checking things in both version 11 and 10 of Oracle as I read the drafts and would not let myself skip over anything until I felt I really understood it. As an example, I’ve never dug into internal locks, latches and mutexes much before and now that I’ve had to learn more to review the book, I have a much better appreciation of some issues I’ve seen in the wild.

Keep an eye out for the book, it should be available by the end of this year and be called something like “Oracle Core” {I’ll check with Jonathan and update this}. I won’t say it will be an easy read – though hopefully a little easier as a result of my input – as understanding things always takes some skull work. But it will certainly be a rewarding read and packed full of information and knowledge.

Returning to the Day Job. October 18, 2011

Posted by mwidlake in Private Life.
Tags: ,
7 comments

Having the Summer off. It’s something that quite a few IT contractors and some consultants say they intend to do…one year. It’s incredibly appealing of course, to take time off from your usual work to do some other things. Asking around, though, it is not something many of us self-employed types who theoretically could do, actually have done. I think it is because, although the theory is nice, the reality is a period not earning a living – and the background worry of “if I take a break, will I be able to step straight back into gainful employment afterwards”?

Well, purely as a service to all those who wonder about it, I decided to sacrifice myself to the experiment and do it this year. I had the summer off. {I know, I picked what turned out to be a very average summer weather-wise, but you just never know in the UK}. I’d finished a job for a client that had turned from a small number of weeks to several months of full-on seven-days-a-week effort and I had a load of domestic things that desperately needed some attention and my potential next job evaporated. I also have to acknowledge that I am in a somewhat lucky position. We do not have kids so the financial worries and potential impact on the innocent does not exist and my wife has been remarkably tolerant. How did it go? In a word, “great!”. I am a lot healthier and a lot more fired up to get on with work as a result of a few months away from the coalface – but I’ll save the second half of this post for some of the boring details of what I got up to {which you may well want to skip}.

This week the break ends. As I write this I do not have a job – but today I start looking around and I start locking myself in my office for the day. I’ll be doing work, even if this consists of me simply catching up on technical reading and testing some ideas I have about Oracle internals and design. This should hopefully increase the technical content of my Blogs too. If anyone is working on a project that could do with some Oracle performance or system design work, I’d be happy to hear from you.

As you can see, the one thing I am terrible at as a self-employed person is the selling of my services. I’m sure I will not get much response from a simple “give me a job” line in a blog that, let’s face it, is being read mostly by technical-doing-people and not budget-holding-hiring-people. However, you might have noticed a green text box on the right of this page proclaiming “available for consultancy”. It’s a free thing for me to do and I intend to keep it there, swapping it for a red “unavailable” when I am busy. This might of course reveal how poorly I do in finding work – but that could be interesting of itself.

So, what have I done? I’ve kept my hand in on the Oracle front but what about non-IT things? Well, one thing was building a clay pizza oven. That took a day on a course and about 200 hours digging a hole in the garden for clay, cleaning up some old bricks, mixing up endless quantities of cobb with the clay, straw and sand, building it wrong several times and destroying a perfectly good Pizza in it.

The final product works though. We fired it up this last weekend and it got up to 300C and the pizzas we cooked in it were very good – allowing for the odd bit of ash and ember. Hint, do not use wood that spits, like pine and off-cuts from building work. If you are wondering about the big bits of wood in the entrance, that is some green oak offcuts which I popped in there after the last firing. The morning after using the oven, you can put in wood for the next firing and the residual heat helps dry it nicely.

A lot has been done around the garden, especially as I now own a chainsaw. Again, I got myself on a course to learn how to maintain the machine and keep the chain sharp. I had to modify some protective clothing to suit my diminutive frame and then about two dozen trees came down and had to be chopped up. {Monty Python’s lumberjack sketch obviously had a big impact on my development as a child}. I then took the chainsaw for an excursion to Wales and gave my brother’s garden the same treatment. I wonder if anyone local wants a load of trees cut down? :-)

A major task has been to organise and then oversee the start of some building work on the house. As anyone who has had such work done knows, it takes a lot of time to organise the work and then once it starts there are a lot of initial issues to sort out. Much like designing and building a new computer system, upfront design and project initiation can make the whole build run so much more smoothly. At least, I am hoping so!

The building work resulted in an odd little bit of computer work. One of the guys was complaining that his machine had started running slow and now it would start up only to shut down immediately. One of the other builders said “Well ask the governor, he does computers”. Of course, I utterly failed to explain that I do other types of computers and so this PC duly arrived. It was nice to do some IT that was not my normal area. It turns out this machine had a couple of nasty viruses which I had to sort out first and then protect the machine with some decent AV software. This was made difficult by the “Rapport” security software his bank had encouraged him to download, which was somehow blocking a windows update from working, as well as grinding the machine to a halt. The performance impact of the software was causing the windows update to take 10 minutes, it would fail and take 20 minutes to roll back and then force a reboot… and cycle through the update again. I temporarily fixed this by booting off a Windows CD and I could then remove the dodgy security software, despite it’s attempts to stay in place. But the machine was still terribly slow. Dixons had sold him the machine and seen fit to put in only 512MB of memory, for a Windows Vista machine. £10 got us an extra 1GB of memory and a machine that now worked. Payment for all of this effort was a couple of nice bottles of wine and a very happy builder.

The building work is still in progress and, of course, part of why my Summer off has come to an end is that the builders have used up the spare money I had from the last job. *sigh*. Mind you, the Summer off was supposed to end in September but as the weather suddenly improved I got permission for a time extension from the lone worker in the house. Has anyone noticed this blog posting is slowly becoming nothing but an excuse for me to stick up some pictures?

There have been a lot of far more mundane things to do on the domestic front but there has also been some IT stuff I have been up to – but I’ll save that for a another day and a more oracle-centric posting I think. Right, I better try and make the CV look more like I’m the best Oracle guy on the planet {OK, I’d have to change the name on the top}. It leans towards being understated honesty rather than overstretched impressive, and I know that is what potential employers like to see (I think it is better for the interview to indicate more skills than the CV, rather than the other way around) but agents seem to want you appear better than a bizzare child of Tom Kyte and Christian Antognini for them to put you in a pile other than “yet another bog-standard IT grunt”. If the agent won’t put you forward, you can’t make your case in the interview, can you?

Friday Philosophy – The One Absolute Requirement for System Success October 14, 2011

Posted by mwidlake in development, Friday Philosophy, Perceptions.
Tags: , , , ,
5 comments

Alternative title “The lady from Patient Admin – she says YEEESSSS!!!!!!”

What must you always achieve for an IT system to be a success?

  • Bug free? Never happens.
  • Within budget/time frame? That would be nice.
  • Includes critical business functionality? Please define critical.
  • Secure? Well, it’s important for many systems but then it is often lacking (even when it is important).
  • That it is to specification? Well we all know that’s wrong.

There is only one thing that an IT system must always achieve to be a success.

User Acceptance.

For an individual system other considerations may well be very important, but the user acceptance is, I think, non-negotiable.

The user must get enough out of using the system for it to be worth their while, otherwise at best they will resent using it and at worst… Well, at worst they will use it but will put in any old rubbish to fulfill the dictate that it be used. You would be better off if they did not use the system at all. Here are a couple of examples from my working past.

In the first one, I was involved in extending a hospital management system so that it kept track of the expected departure times for patients, allowing a predication of when beds would become available and calculation of expected occupancy rates. Yes, this was a while ago (maybe 1990) and on an a system that was old then. The information was needed by someone with the title “bed nurse” {or something similar} so that they could better prepare for bringing patients in and keeping a higher bed usage ratio. This was to make the hospital more efficient? No, it was to satisfy a politically demanded report to the NHS executive. Oh, the overall intention was to increase efficiency but the report soon became more important than the idea. So, we added columns in tables and field on screens and prompts for the ward staff to fill in the information. And they didn’t. The nurses were busy, they were pretty demoralized due to having recently been used by the government as a way to control public sector pay and they had nursing duties to do. They were not going to waste a couple of minutes trying to check when Mrs Jenkins was going to be sent home when Mrs Leonard needed a bed pan. The nursing staff were given a hospital-wide telling off, this information had to be entered. They put in the data – but guessed wildly. The design was fine, the report was logically accurate, only the correct staff could run it, but No User Acceptance and thus a failure.

So I added something else. It was a very crude screen that showed a “diagram” of the ward – Down the left and right side of a VT220 screen you saw little oblong boxes with a bed number, name in it, a consultant’s initials, a medical speciality code and the arrival and departure datetime. This was some information we already had plus the new information we wanted and something quite basic, limited and slow to draw. But it was useful to the ward staff. They could find any patient, they knew who to call if there was an emergency {not the actual consultant of course, but their secretary}, they could check when they were leaving, they could see what time someone was expected. From anywhere where there was a terminal, not just the entrance to the ward, they could see all this information. They used it.  They put in the expected departure time {sobering thought, this might not be expected leaving alive} and the bed nurse could plan and the report could be run.

Second example, different hospital. We were putting together a system to schedule outpatient clinics. We knew what we were doing, it’s pretty simple. You have some people (a consultant and probably a senior house officer), a period for the clinic (3 or 4 hours) and a set of people to see, say 40.  Give some flexibility in slot lengths (some people need 5 minutes, some 15) and allow the patients to be booked in. Check for and stop double booking. We did not go and ask the patient admin staff, we knocked up the design and the screens and asked them to test. After all, I was very experienced now, I’d been doing these systems for 3 years… They very quickly came back to us and said it was rubbish. Oh dear.

We went and saw them. I think it was a couple of us programmers, our development manager, the hospital liaison for the project and the patient admin staff. “What’s the problem?” There were a few but the main one was that you could not double book a slot. Why would you want to? Do two patients really want to be consulted at the same time with the same doctor?.
“Err, maybe, it might happen, can we just be able to double book?” OK, we could maybe alter things to allow two patients to be seen at the same time… The patient admin staff are not looking happy. The hospital liaison is looking confused – “You can’t do that! Patient confidentiality can’t be broken!” he says. It got worse. “We need to book all the patients into the first slot, with the consultant, so the letters go out to them saying come to see Mr Winders at 1pm”. The admin staff are now looking very shifty.

If any of you have worked in the health service you are probably way ahead of me. The admin staff needed to book all the patients in at this first slot so that they would all turn up, the consultant would see the two or three he was interested in - and then go and play golf. The SHO would then plough through the rest of the patients for the following three or four hours. If you have ever had to turn up at the start of a consultancy session and sat there for three hours, now you know why. You see, back then, the consultant was only a very small step away from deity level (and I leave it to you to decide if it was a step up or down). What they said went and if they wanted to go and play golf or store 200 medical records in the boot of their car or refuse to speak to “that stupid idiot in renal medicine” then you worked around it. {I’m assured that things are a lot better now, but I’d love to know how it really is}.

We had designed a sensible system, the users needed a non-sensible {to our mind} system. Even the NHS liaison chap had never appreciated exactly how much the consultants abused the system, he thought they just booked the people s(he) wanted at the start of the session, but no. The consultant decided that day who was interesting and as a result every patient had to be there at the start.

I count myself lucky that I learnt from direct experience so soon in my working life that (a) you have to deliver what the user will accept and (b) the only way to know what they want is to show them the system and talk with them.

{For those of you who do not understand the alternative title at the top, it is all about an old DelMOnte fruit juice advert which became a bit of a catchphrase at the time}

{And are you happy now Dom? :-) }

The end of the Management and Infrastructure SIG – What Next? October 10, 2011

Posted by mwidlake in Meeting notes.
Tags: , ,
1 comment so far

The 27th September was in some ways a sad day for me. It was the last of the UKOUG Management and Infrastructure Special Interest Group meetings. This SIG was dedicated to looking at how you cope with Oracle as part of a large or complex organisation. The last audience was bijou and compact but the speakers were cracking, as is confirmed by the excellent feedback everyone received from the post event critique forms.

It’s always been a SIG with a small crowd come that came along, but it was also a SIG that some of us were screaming out for. Those SIGs and meetings dedicated to the hard-core technical sides of the Oracle RDBMS are of course great and much appreciated. But for those of us trying to manage a couple of thousand instances of Oracle/application server, or trying to look after the database within the sort of corporate IT forest that FTSE 100 organisations have to have, some of us were really keen to better understand the rest of the IT infrastructure, methods to look after such large Oracle estates and also the human side of things – that word “management”. I know that the word “management” in the title put a few people off the events, but for others it was the management side (human AND technical) we desperately wanted.

So, why has it ended? Well, it hasn’t really – we are merging with the RAC&HA SIG, chaired by David Burnham and his deputies. There is a lot of crossover between our areas and we found we were often using the same speakers. You do not tend to have RAC if you are not a large oracle site and you tend to be very interested in High Availability if you have a lot of Oracle stuff to look after. So, from next year, we will be the AIM SIG – availability, Infrastructure and Management SIG. It might not be a snappy label but it describes what we will be about. Details of this new SIG will be discussed at the conference in December, anyone with any thoughts on the subject is more than welcome to contact me.

This leaves me with one important task and that is to note my thanks and indebtedness to some of those who helped with the SIG.
The UKOUG staff have been great at supporting the events, especially (during my stint) Michelle Ericsson (who is now doing funky DJ stuff in the USA) and Marisa Harris, who picked up our SIG for this last meeting and was great at hearding her errant Chair and Deputy Chair into doing what we needed to do.

We have had a succession of good guys from Oracle help us out. Tony Clements was our first and longest serving Oracle buddy and Simon Moreton took up the cause after Tony went to pastures new. Mike Edgington pitched in at short notice when Simon was not available to us for this last meeting, even presenting. Special thanks also go to Andrew Bulloch who has been fantastic at giving or organising talks for us by Oracle on Enterprise manager and Grid.

Finally and most importantly I’d like to thank Neil Chandler. Neil has been the deputy chair since the SIG started and is probably – no, IS – the person who has done the most to support the M&I SIG through it’s life. Neil’s one of those people who does not push himself to the fore as he should (except maybe in the pub), resisting presenting and firmly holding one step back from being the chair. I don’t know why, he presents very well and he knows a lot of stuff.

To everyone who came to any of the meetings and especially those who allowed themselves to be drafted into presenting duties, thank you very much indeed.

Friday Philosophy – The start of Computing October 7, 2011

Posted by mwidlake in Friday Philosophy, history.
Tags: , , ,
add a comment

This week I finally made a visit to Bletchley Park in the middle of England. Sue and I have been meaning to go there for several years, it is the site of the British code-breaking efforts during the second world war and, despite difficulties getting any funding, there has been a growing museum there for a number of years. {Hopefully, a grant from the Heritage Lottery Fund, granted only this month, will secure it’s future}.

Why is Bletchley Park so significant? Well, for us IT-types it is significant because Alan Turing did a lot of work there and it was the home of Colossus, one of the very first electrical, programmable computers. More generally of interrest, their efforts and success in cracking enemy ciphers during WW2 were incredibly important and beneficial to the UK and the rest of the allies.

In this post, I am not going to touch on Colossus or Alan Turing, but rather a machine called the “Bombe”. The Bombe was used to help discover the daily settings of the German Enigma machines, used for decrypting nearly all German and Italian radio messages. All the Bombes were destroyed after the war (at least, all the UK ones were) to help keep secret the work done to crack the cyphers – but at Bletchley Park the volunteers have recreated one. Just like the working model of Babbage’s Difference Engine, it looks more like a work of art than a machine. Here is a slightly rough video I took of it in action:

My slightly rough video of the bombe

{OK, if you want a better video try a clearer video by someone else.}

I had a chat with the gentleman you see in both videos about the machine and he explained something that the tour we had just been on did not make clear – the Bombe is a parallel processing unit. Enigma machines have three wheels. There are banks of three coloured disks in the bombe (see the picture below). eg, in the middle bank the top row of disks are black, middle are yellow and bottom are red. Each vertical set of three disks, black-yellow-red, is the equivalent of a single “enigma machine”. Each trio of disks is set to different starting positions, based on educated guesses as to what the likely start positions for a given message might be. The colour of the disk matches, I think, one of the known sets of wheels the enigma machines could be set up with. The machine is then set to run the encrypted message through up to 36 “Enigmas” at once. If the output exceeds a certain level of sense (in this case quite crucially, no letter is every encrypted back to itself) then the settings might be correct and are worth further investigation. This machine has been set up with the top set of “Enigmas” not in place, either to demonstrate the workings or because the machine is set up for one of the more complex deciphering attempts where only some of the banks can be used.

This is the bombe seen from the front

The reason the chap I was talking to really became fascinated with this machine is that, back in about 1999, a home PC programmed to do this work was no faster than the original electro-mechanical machines from 1944 were supposed to have taken. So as an engineer he wanted to help build one and find out why it was so fast. This struck a chord with me because back in the late 1990′s I came across several examples of bespoke computers designed to do specific jobs (either stuff to do with natural gas calorific value, DNA matching or protein folding), but by 2000, 2002 they had all been abandoned as a general PC could be programmed to be just as fast as these bespoke machines – because bespoke means specialist means longer and more costly development time means less bangs for your buck.

Admittedly the Bombe is only doing one task, but it did it incredibly fast, in parallel, and as a part of the whole deciphering process that some of the best minds of their time had come up with (part of the reason the Bletchley Park site was chosen was that it was equidistant between Oxford and Cambridge and, at that time, there were direct train links. {Thanks, Dr Beeching}. ).

Tuning and reliability was as important then as it is now. In the below picture of the back of the machine (sorry about the poor quality, it was dim in that room), you can see all the complex wiring in the “door” and, in the back of the machine itself, those three rows of bronze “pipes” are in fact…Pipes. Oil pipes. This is a machine, they quickly realised that it was worth a lot of effort to keep those disks oiled, both for speed and reliability.

All the workings of the Bombe from the back

Talking of reliability, one other thing my guide said to me. These machines are complex and also have some ability to cope with failures or errors built into them. But of course, you needed to know they were working properly. When these machines were built and set up, they came with a set of diagnostic tests. These were designed to push the machine, try the edge cases and to be as susceptible to mechanical error as possible. The first thing you did to a new or maintained machine was run your tests.

1943, you had awesome parallel processing, incredible speed and test-driven development and regression testing. We almost caught up with all of this in the early 21st Century.

Follow

Get every new post delivered to your Inbox.

Join 166 other followers