Being the person responsible for the performance of an Oracle-based system can be an oddly lonely working experience. It can also be a very gregarious position as you get to meet a lot of people and discuss lots of different aspects of many systems – all systems seem to have performance issues and so people come along to you, hoping you can identify a “work faster” database setting for them.

But you are often the only person who specialises in Oracle performance. You generally need to be in an organisation that is very large or where performance is key to success for there to be justification for dedicating a person to the topic. To have more than one person dedicated to performance your organisations has to have a very strong focus on getting the best performance out of the Oracle and related systems {or really, really atrocious performance issues :-) }. So usually there is no one else around who is as experienced (or more so) as yourself to discuss such things over with or ask for a second opinion.

Which is why I am very lucky at the moment. I’m working in a team of oracle performance people. There are 2.5 of us (one is a manager with other responsibilities, so he only counts as half). Being able to say “Hey, Dave, What do you think of the wait times on scattered reads?” or “how in heck do I force this nested subquery on a view to use a hash join?” and get some other ideas is very valuable.

What is also interesting is how opinions and preferred techniques on tuning can be different and just as valid. As an example, last week I was working on a poorly performing statement. I was at home and it was the evening, so I was not communicating with the rest of the team. I managed to get the code down from 40 minutes to just under 20 by using a combination of a LEADING and USE_HASH hint. I sent the code back to the user. Only to see that within thirty seconds of each other my colleague Graeme had also sent the user a response, again getting the code down to around 20 minutes. Graeme had pulled a chunk of the code into a subquery factoring “WITH” clause and added cardinality hints. Totally different changes.

So Graeme and I then had a “philosophical” discussion about the different changes {“Mine is best” – “No! Mine is, yours is all bloated and complex”- “Your hint is less future-flexible!!!”}. Only joking, we actually discussed the changes and why we each chose what we did. Graeme commented that is showed that tuning was an art and not a science and I countered that it was a science, as we had both identified where we felt the execution plan could be improved but used different techniques to get there. The thing is, Oracle is so complex and has so many options to influence the optimiser that you have flexibility to chose different tools and techniques.

We had both identified the same main improvement but had each come up with different tweaks for later in the plan.

The end result was that we went with Graeme’s main plan {he is bigger than me} but we pulled in my tweak. That bought the execution time down to around 10 minutes, so about four times faster over all and twice as fast of either of us alone. That is one of the advantages of not working alone.

We also then discussed how we could get this code down to seconds with the use of either Materialized views or changing the process that generated the report to do so incrementally and store the daily results. Until one of us realised we had reached the boundary of compulsive tuning disorder. The report running in 10 minutes was enough improvement to satisfy the business, the report was only going to be run over the next couple of months, so spending a day or two re-working it further was going to be fun – but of no advantage to the business. We told each other to finish for the day. So another advantage of not working alone is that not only do you get more technical input but your help prevent each other losing sight of the overall aim.

It really does help to have two people working on the same area.

{There is a sneaky way of getting beyond being a lone performance specialist. If you are in an organisation long enough you can usually find some other idiot who is silly enough to want to learn more about performance and you can train them up. It does not take long before they know enough to start coming up with things you never thought of. Oracle is, after all, full of many ways to do the same thing and you can’t know it all}.

Many years ago I had a good friend who was a psychiatric nurse. We were talking about his job once and he was saying how some patients just took up much more time than others. These were generally the ones who would be deemed “the most mad” in a non-clinical manner {and is pretty much how my friend the psychiatric nurse put it}. These patient’s actions or need for intervention would put demands on the staff far more than other patients. As a result, all the nurses tended to get to know (or know of) such patients better than others.

I thought of this the other day when a few of us were talking about some awful bit of application we were concerned about. This thing inserts rows from a MSSQL database into a table in an Oracle database. Triggers on the initial table fire and populate another table, in a 1-to-many relationship. This second table also has a trigger on it that further inserts into another set of tables. A regular process then aggregates this data – and sticks it back into the MSSQL database it came from.

Said process is done as a single transaction for all rows inserted for the day. Irrespective of the growth in rows. Or the fact that one source “application” has grown to 10 and soon will grow to 50. All rows in one transaction. The intermediate tables are never cleared out and get bigger and bigger. No one else needs any of this data in the Oracle side of the system.

There are several “madnesses” to this process – why put it into Oracle only to put it back in the source system, why use a busy production system to hold and process transient data, why no clean up, why are the records not processed in batches, the cascading triggers magnifies transaction data volumes…

This process is well-known in our group. I’ve been involved. Both the guys I was talking to have been involved. I can see from my desk 4 or 5 other people who have been roped into bullying this process thought before now. In fact, I reckon half the department have had to work on this damned thing at some point.

Can you see why I was reminded of my conversation with my old nurse friend?

The application is simply mad. And as a result it is demanding not only on our database but on all of the team, as so many of us have had to get involved working on it. We have all got to know it so well.

I’m glad to say that treatment for the application is planned and, hopefully, it will soon be a lot happier.

In animal welfare there is a concept called “Environment Enrichment”. This is where you do things to make the life of the animal in captivity more enjoyable. Often it is centred on how you feed the animal – either hiding their food so they need to forage or presenting it in a way that better matches their natural behaviour . So, for example, you might take your gerbils out of their cage and then hide seeds and bits of fruit around the place {or get Ben Fogle dragging chunks of meat behind a Land Rover through the lion enclosure at Longleat Safari Park so the lions can chase after it}. Or you might buy some of that expensive, transparent, coloured plastic tubing that plugs together in little mazes – as Gerbils of course run around pink, blue and orange transparent tubes in the wild…

Where I am working at the moment, Environment Enrichment for the captives is achieved by relocating the coffee cups in the kitchen overnight. We all turn up in the morning and go up in little groups to play the “open the cupboards in random” game in order to track down the mugs. Never the same cupboard two days in a row – except occasionally just to keep us on our toes.

We also have several fruit bowls and someone occasionally fills them with a selection of fresh fruit. Of course, as we are Code Monkeys, the bananas are most popular. What most of my fellow inhabitants have not yet worked out is the occasional bonus cache in the pot that looks like a flower vase. It’s usually apples.

The best bit of the environment enrichment is at the end of the week though. 5pm Friday, with the gentle tick of cooling laptops and the gentle lowering drone of hard disks winding down, and the glow of the LCD sceens dimming, the oasis is opened. A bottle of beer or can of coke can be obtained and you all stand around and discuss anything but computers. Well, OK, maybe computers a bit, but they have to be non-work computers.

It’s nice to know that your computer system is very secure. It allows you to relax.

Is this because you feel confident that your data is protected and that your systems cannot be compromised by malicious actions?

Well maybe, but in my case, today (*), this is not why I can relax. Security is allowing me to relax as I’ve been locked out of my account at my client’s site and it is hard to tune SQL/review design documents if you can’t log on. It is a little bizarre that my account expired today as I know the date my account is set to self destruct – I filled in the relevant forms myself and simply had my boss sign them before I popped them over to the security team. Unfortunately, I can’t pop back over to them to jolly things along as I am now in a remote location (really, very, very remote!).

I just have to wait patiently for HR, Security and Management to complete the complex little Morris Dance they have to do to confirm I am a real person, need the access and have not recently been asked to leave {I hope I am not going to be asked to leave!}.

I’m not really complaining. Having worked for the NHS back in the late 80’s and early 90’s, I have shocking tales to tell, such as of taking home confidential patient clinical reports in order to play with “SQL*report writer” on my personal desktop, and similar stories about modern organisations in the private sector {well what do you know, person X owes HOW MUCH?}. So I am glad security is an order of magnitude better now. {No, honestly, it really is! No matter how bad you think things are where you are now, you should see the stuff I saw back then. These days, you at least have the ability to lock things down, if not the real-world reality.}

But, like all process-oriented things, it has to be designed to work well to be, well, effective. I got locked out of the same systems in a similar way just before Christmas. How many people are being paid a day’s wage to ring up the helpdesk and drink endless tea?

(*) I wrote this blog a while back. It might even have been before I had a blog. But a similar incident reminded me. Oh, and what was my reward for an enforced day being paid to drink tea and read a copy of “Oracle Scene”? Three days of working like a madman to catch up on that lost day. *sigh*. I did not get paid overtime.

This could be a Friday Philosophy but I’ve got a couple of those lined up already. Anyway, I am suffering at work at the moment. I’m encountering a phenomenon that I have talked about with Dennis Adams a couple of times. It probably has a proper term, but basically it is the odd situation that when you make things better, you get more complaints. {Dennis, do you know the proper term?}

Anyway, Let me explain. You have an application sitting on a database. The screens are slow, the reports take an age to come out, your might even have considerable system instability and unplanned outages. The users are not unhappy. They were unhappy last year. Now they are just cynical and they just expect the system to be slow, unresponsive, flaky. So they do not report any problems.

Then things change. The system gets some much-needed care and attention and now the slowest reports get tuned up, the screens come back faster and less spontaneous department-wide coffee breaks are caused by the system crashing. Everything gets better. But not for the help desk, now they start getting calls. “This report is too slow”. “Why can’t I jump straight from the customer screen to the pending orders screen?”. This happens because the users now realise that something can be done. There is a point in complaining as there is a chance their piece of misery could be made better. I certainly went through this many years ago when I inherited a system that crashed every week. No one mentioned it, they just went to tea and complained about it. The first time it crashed after I arrived I could not believe that no one had called before I had realised it had died. Once it had been up solidly for a couple of months, then when it crashed boy did we hear about it!

Also, when you improve a system and things generally get better, occasionally something will improve and then fall back a bit. Hardly anyone says “thanks” for the initial improvement but they will say something if it improves and then drops back.

That is what is happening for my main client at the moment. The system was not that bad, but it needed some help. Why else would I be there? I’ve been beavering away with the rest of the team and we are making things better, so far mostly at an underlying “getting the overall system straight” level. A new chap has joined to help concentrate on performance and he is really making inroads into specific things, individual reports and processes that need a good sorting out.

So now that things are getting better and performance is generally improving, anything that is still slow is being brought up by the development and support teams. Also, we’ve made a few things slower (I’m sorry, it just happens like that) and they certainly get mentioned.

So, I’m busy. And I could get annoyed at people asking why X is slower when Y and Z are faster. But I don’t, because Dennis explained this counter intuitive theory to me.

I know things are getting better as people are annoyed as opposed to apathetic :-)

In a previous Friday Philosophy on In Case of Emergency I mention that something being simply a “Good Idea” with technology is not good enough. Even being a GREAT idea is not enough. It also has to be:

Easy and simple to use. After all, using that funny stick thing behind your steering wheel in a car, to indicate which direction you are turning, seems to be too much of an effort for many people. If installing some bit of softare or running a web page is more than a little bit of effort, most people will not bother.

Quick. No one has patience anymore, or spare time. This will probably be the fourth year in a row I do not plant any vegetables in our garden as I need to spend a day or two clearing and digging over the spot for said veg. You can’t beat home-grown veg. Similarly, I won’t use a web pages that takes as long to load as it does to plant a carrot seed.

Known about. There could be a really fantastic little program Out There that allows you to take a screen shot, add a title and comment and pastes it straight into a document for you, converting to half a dozen common formats on the fly. But I do not know about it. { ScreenHunter is pretty good, I have to say, and when I have shown it to people a lot of them like it}.

Popular. This is not actually the same as “known about”. For a stand-alone application to be good for you, you just need to know where it exists. Like maybe a free building architecture package. Whether thousands of people use it is moot, so long as you can get your extension drawings done in it with ease, that makes it great. But something that relies on the community, like a service to rate local eataries, unless lots of people use it and add ratings, well who cares. There are dozens (if not hundreds) of such community “good ideas” started every day but unless enough people start to use it, it will fizzle out, as the vast majority of them do.

Point 4 is highly relevant to “In Case Of Emergency” as it is simple, quick and relativley known about. It just needs to be ubiquitous.

I became very aware of point 3 a few years ago and also of the ability for very clever people to be sometimes very stupid when it comes to dealing with their fellow humans.

I was working on a database holding vast quantities of DNA information. If you don’t know, DNA information is basically represented by huge long strings of A, C, T and G. So something like AACTCGTAGGTACGGGTAGGGGTAGAGTTTGAGATTGACTGAGAGGGGGAAAAATGTGTAGTGA…etc, etc, etc. These strings are hundreds, thousand, hundreds of thousands of letters long. And Scientists like to search against these strings. Of which there are millions and millions. Not for exact match mind, but kind-of-similar, fuzzy matches, where for example 95% of the ACTGs match but some do not. It’s called a BLAST match.

Anway, suffice to say, it takes a lot of compute power to do this and a fair amount of time to run. There was a service in America which would allow you to submit a BLAST query and get the answer in 20 minutes or so {I have no idea how fast it is now}.

Some extremely clever chaps I had the pleasure of working with came up with a faster solution. Same search, under 5 seconds. Now that is GREAT. We put together the relevant hadware and software and started the service. Now I thought it went beyond Good or even Great. It was Amazing (and I mean it, I was amazed we could do a fuzzy search against a billion such strings in 2, 3 seconds using a dozen or so PC-type servers).

No one used it. This was because almost no one knew about it and there was already this slow service people were used to using. People who used the old service never really thought to look for a new one and the chances were they would not have found ours anyway.

I pushed for more to be made of this new, faster service, that it should be advertised to the community, that it should be “sold” to people (it was free to use, by “sold” I mean an attempt made to persuade the scientific community it was worth their while investigating). The response I was given?

“If the service is worth using, people will come and use it”.

No they won’t. And indeed they didn’t. It was, I felt, a stupid position to take by an incredibly inteligent person. How were people to know it existed? Were they just supposed to just wake up one morning knowing a better solution was out there? The internet pixies would come along in the night and whisper about it in your ear? In the unlikely event of someone who would be interested in it just coming across it, were they then going to swap to using it? After all no one else seemed to know about it and it was 2 orders of magnitude faster, suspiciously fast, how could it be any good?

The service got shut down as it was just humming in the corner consuming electricity. No one knew it existed, no one found it, no one came. I can’t but help wonder how much it could have helped the scientific community.

There must be thousands of other “failed” systems across the IT world that never took off just because the people who could use it never knew it existed. Depressing huh?

ICE is a simple concept. In this case it stand for In Case of Emergency and the idea is to store a contact number on your mobile phone under the identifier of ICE. Then if you are in an accident, suddenly become very ill or are in any other way incapacitated, your ICE number can be called. The person you list under ICE is someone who knows you well and hopefully knows of any medical conditions you have and who can get in touch with others. It can be incredibly useful to medical services to know if you are alergic to common drugs or have any known medical conditions (like heart issues or diabetes). I guess in worst scenario of you being, well, not alive anymore, it gives someone to contact who would want/need to know. What a nice, simple use of modern technology! Go one, get your phone out and put and ICE number in now.

The idea originally came from Bob Brotchie, a UK paramedic.
The idea has caught on enough that there are companies in America trying to make a bit of profit out of it {something that I feel slightly negative about} and it has a wikipedia entry.

There is one big issue, which is if you have locked your mobile phone, no one is going to be able to see your contacts and thus the ICE details. This is something that others have thought of and one suggestion is to make your wallpaper show your ICE contacts.

However, this idea of ICE only works if people know about it and use it. I became aware of this last year when I saw an old lady collapse in the street. She just stopped, staggered a little and went down, attempting to take a brick out of a wall with her head as she went down. Three or four of us rushed over, thankfully one was a nurse so she took charge of looking after the patient. We others quickly found her phone. I bet what you are now expecting me to say is that she had no ICE number. She might have, but none of us knew to LOOK for an ICE number. We took pot-luck on the number saying “Jack at work” or something and thankfully got her husband.

Maybe we were an unusually unknowing bunch of people and all you lot reading this know about ICE numbers, but given we were all turned on enough to come to the lady’s aid, one was a nurse, I work in IT and none of us knew about this useful use of technology, I suspect it is not that universal an idea yet. I only know about ICE as my H&S brother told me about it only a couple of weeks after the above incident. {He was asking me if I could see a negative side to it and all I could think of is that if someone found/stole your phone then they had a known “someone who cares” number for you, but then they also have your whole contact list if you do not lock your phone, with things like “Mum” and “Uncle Bob” on it}

However, it takes only a couple of minutes to put an ICE number on your phone, so nothing is stopping you doing it. If you have a modern “all singing, all dancing” phone you might have an ICE feature or app you can download to show ICE information with the phone still locked (my phone is only 4 months old but has no such feature, but then it was a cheap, temporary “just for the week” buy when my old phone committed suicide). A quick check shows the iPhone app can also show things like drug susceptibility and known medical issues too, which is more immediate help to emergency services than a contact number.

So, I would encourage you to put an ICE number on your mobile phone. I would also encourage you to spread the word about ICE. It’s a great, easy, simple use of technology, but only if it is popular.

It is coming towards the end of December 2009. What were you doing 10 years ago today? If you were at school or college I don’t want to know, it just depresses me. You might have been doing last-minute Christmas things, you could have been traveling to see friends , loved ones or maybe {and often less pleasurably} relatives. If, however, you were working in IT I probably know what you were doing:

You were somehow involved in preparing for “The Y2K bug!!!” (Cue dramatic drum roll, ominous music, thunder-and-lightening video and the quiet shrill laughter of consultancy firms running all the way to the bank).

Remember that? I’m a little surprised not to have seen anything much in the media yet celebrating it, {I’ve not seen it in the UK anyway}, which is odd as it was such a very big deal back then. You remember? All the nuclear power plants were going to blow up, air control systems go haywire, bank systems crash and generally the whole of modern civilisation was going to crumble.

It did not of course. It’s biggest impacts seemed to be firstly to give old Cobol and Fortran programmers a bit of a financial boost to help them bolster the pension fund and secondly so much time, effort and planning was spent on Y2K preparation that 75% of other IT programs were shut down to cope. There certainly seemed a little less work to be had in the immediate aftermath.

I never decided who was more to blame for the hype and the fear. The Media, who can never pass a chance to boost revenue by outrageous scare tactics, or business/it consultancies who can never pass a chance to boost revenue by… I better stop there, in case I ever decide to go back to working for a consultancy.

I personally learnt a couple of things.

One was to prepare. In my particular case, I had planned a big Y2K party with a bunch of friends, hired a big house to hold a dozen of us plus kids and found somewhere to buy big fireworks from. All in 1998. And for 18 months before the event told anyone I went to work for that I would not be available for that particular week. I put it into my contract. Of the two or three companies I picked up contracts with during that period, none of them batted an eyelid when I mentioned this. Of course, this meant nothing. With 3 months to go before Y2K, the missive came rolling out from top management that no one, absolutely no one in IT was being allowed to take New years eve off.
I said to my boss “except me”. No, no exceptions. “It’s in my contract, I stated when I joined I was not available that week”. No exceptions. “Bye then”. Huh? “Well, I said at the time and I am sorry to upset you, but you see, this is a job, we had an agreement and what I have organised is my life and well, you lose”. I was a little more diplomatic about it, but I insisted. After all, we had fully Y2K tested the app I was responsible for and I had an agreement.
I had the week off (with a mobile phone by my side, admittedly, but I was not in a fit state to do much by the time midnight came around). I learnt that if you have an agreement and you calmly refuse to capitulate, and you negotiate a little, you can avoid “no exceptions”. {My friend Nasty Mike took the more direct approach of swearing loud defiance. He won also, but maybe with more bad feeling…}

The other thing I learnt was that companies will not pay less than they expect for a job. The five of us had written this app and it used four digit year dates all the way through the system. It was on Oracle 8. It worked. But no, Top Management wanted the system Y2K proving. So they asked a company to test it. This company wanted something like £50,000 to test it and it was to come out of our development budget. Ouch. That was pretty much half the budget.
So one of the team put forward a proposal to Y2K test the system via their company, for about £5,000.This was refused; it was too cheap to be believed.
So we put exactly the same proposal forward through another of our companies for £15,000 plus expenses and an exorbitantly hourly rate if extra work was needed.
This proposal was accepted.
So we did the work, we ran all the tests we specified, rolled the system past Y2K, repeated the tests, then…did a full refresh of the O/S, oracle and the app and recovered a full backup from before the initial tests. We were delayed by 24 hours as central IT screwed up the full oracle restore, so we got to charge the exorbitant hourly rate.
We handed the test results pack to the central IT team and their one question was “Why had we refreshed the O/S and re-installed Oracle? Well, we said, how do you know that going past Y2K had not set some internal variables within the O/S or the database that just setting back the system clock would not fix? The O/S is a complex thing.
The head of central IT looked ever so worried. No one had mentioned that before. And they had spent a lot on external Y2K testing consultancy…

I know I have mentioned this before, but I did not choose to work with Oracle – I fell into it by accident. I found myself in a job which I was no longer enjoying, for a boss who had issues with me and I had issues with a salary (mine, of course). So I decided to apply for a job with a company a friend of mine worked for:

For those of you who are not UK-born or have seen less than three decades go by, in 1990 “Oracle” was a teletext company that provided information on your TV screen for the TV company Channel 4. Basic news, entertainment, sports etc via chunky text and chunkier graphics thrown up in glorious low-res.

I honestly thought I was going for an interview with that company, as opposed to the other “Oracle”, some database company with the same name which went on to pretty much conquer the corporate database and applications world. That was a pretty lucky break for me and I made a conscious decision to stick with this database stuff.

Many years later I was on a contract doing database performance tuning. Someone, a manager, came and asked me about how they could save space, not in the database world but in the Unix filesystem world. So I made the suggestion that they check out the man page on compress. We compressed some big files and he went away happy, leaving me to get on with my database stuff. My big mistake was, when he came back a week later and asked how he could get the compressed data out, I promptly showed him. I revealed too much knowledge.

I came in to work the next Monday morning and my desk had gone. There was an oblong square of dust and hula-hoop crumbs, nothing else. Even my pile of “documents to get back to” from under the desk was gone. Had I been sacked? No, I had been put in the Unix system administration team. My desk had been picked up and physically moved across the room to the Unix Corral, along with everthing on, under or next to it.

No one has asked me, it had not been mentioned to me at all, the managers had just realised on Friday that half the existing team (contractors) had left at the end of the week and no replacements had been found. That devious manager I had helped had told the others I was a whizz at Unix and so my fate was sealed. I was not a whizz at Unix, I was barely competent at basic shell programming. But I learnt a bit before deciding I wanted to stick at the Database stuff and went off to a contract doing that again. I still kind of wish I’d done the Unix a little longer though.

The final shift I’ll mention, and is probably more commonly echoed in other people’s experience, is coming in one day to find you are a manager. This had happened to me small-scale a couple of times, taking on a contract where I ended up in charge of a team, but in this particular case I was a permanent employee managing a team of 4 DBAs and my boss left. Within the week I found that I was being treated as the manager of 5 or 6 teams, totalling about 30 people. More by them than by upper management, but upper management cottoned on and asked me to do the job. Long story cut short, I resisted the move upwards but it happened anyway. Not, at that time, what I wanted at all.

I’ve told the above story a few times when doing presentations on management-related topics and many people, a surprising number to me, have said to me afterwards that the same sort of thing happened to them. I am also now chair of the Management and Infrastructure Special Interest Group of the UK Oracle user group. That SIG is full of people with a similar story.

What is the point of this particular Friday Philosophy? Well, these experiences have made me realise that a lot of people are probably doing jobs they just found themselves in, or in the case of managers, just got pushed into.

If you did not chose your job, you are unlikely to be a good fit, especially to start with.

I’m sure most of us have experienced this and, looking back, can see that initially we lacked the skills, the background, even the inclination for the role. But we either got on, moved on, or become morose and bitter.

This also means that we are all probably encountering a lot of people in that exact situation, all the time – People doing a job they just found themselves in. So, if someone seems to not be doing a job as well as they could, check how long they have been doing it. If it is a recent change, remember your own experience and cut them some slack. You would have appreciated it when you were them.

It also explains Morose and Bitter Geoff who manages Accounts too, doesn’t it?

I think all technicians would agree with the former. We learn a lot when something very important needs doing urgently, like getting the database back up or finding out why the application has suddenly gone wrong {Hint, very often the answer is to find What Changed}. Another example is when a decision has been made to implement something a manager has seen a nice sales presentation on and they really like the look of it. We technicians have to make it actually work {and I admit to once or twice having been the Manager in this situation :-). I apologise to my people from back then}.

I’ve also believed for a while that the other time you learn, or at least can learn, is when things are unusually quiet. When work is just at it’s normal hectic pace, it’s hard to spend the extra effort on reading manuals, trying things out and checking out some of those technical blogs. You spend all your spare effort on The Rest Of Your Life. You know, friends, partners, children, the cat.

So I think you need some slack time to learn and that is when the most complete learning is done. Yes, you learn a lot when the pressure is on, but you are generally learning “how to get the damned problem resolved” and probably not exactly why the problem occurred; did you fix the problem or just cover it over? Did you implement that new feature your boss’s boss wanted in the best way, or in a way that just about works. You need the slack time to sort out the details.

When do we get slack time? Weekends and holidays. How many of us have snuck the odd technical book or two into our luggage when going on holiday? {And how many of us have had that look from our partners when they find out?}.

Well, at the end of this week I am going on two and a half weeks holiday, over to New England in the US. A few days in Boston, up through Maine, across to Mount Washington to a little hotel where we had possibly the best meal of our lives, down to Mystic and then over to Washington to see some friends.

I am not taking any manuals. I am not taking any technical books. I am not taking a laptop with Oracle on it. I am not even likely to blog for the duration. Why? I have not been as mentally and physically shattered as I am now since I finished my degree 20 years ago. I just want to switch off for a while.

So I am revising my theory of when we learn. I now think we learn when:

When we are under extreme duress {that just does not change}

When we have spare mental capacity and the drive to use it.

Right now, I think I have the mental capacity of a drunk squirrel. So from the end of next week, I’m going to sleep, read sci-fi, eat and drink well and maybe do a bit of culture. The computers and the learning can wait for a little while.