jump to navigation

OUG Scotland – Why to Come & Survival Guide June 12, 2018

Posted by mwidlake in Meeting notes, UKOUG, Uncategorized, User Groups.
Tags: , ,
add a comment

The UKOUG’s Scottish conference is on the 21st June in the centre of Edinburgh, at the Sheraton Grand Hotel, not far from Edinburgh Castle in the centre of the city.

Picture from viator.com, who do tours etc


The Event

There is a six-stream agenda covering Database, Apex & Development, Platform & Services, Coud Apps, EBS Apps tech, and Business Analytics/systems & EPM, so pretty much the whole breadth of Oracle Tech, Apps and BI. We have a keynote by Oracle’s Caroline Apsey on the Bloodhound Project, the UK-based group trying to smash the world land-speed record with a 1,000mph rocket car – and solve lots of engineering challenges on the way. And uses the Oracle Cloud. I’ll be sure to see that one.

With 6 all-day streams there are a lot of presentations to choose from, but as a taste of what is on offer I’ll mention Jonathan Lewis talking about stats, Heli Helskyaho explaining the basics of machine learning, and from Oracle we have Grant Ronald on AI-driven chatbots, Hilary Farrell on the new features of APEX 18.1, and Keith Laker on JSON & SQL. The talks are a nice mixture of end-user experiences, recognised experts and Oracle themselves. UKOUG is independent of Oracle so although we are very happy to have Oracle support us, we have talks that are not just what Oracle are currently pushing. This is what I love about user group meetings, you get the whole story.

As a member of the UKOUG this event is free, counting as one of your SIG places. If you have run out of SIG places, you can buy an extra one at £85 – or upgrade your membership of course 🙂

If you are not a member you can pay £170 to attend the event, which is pretty cheap for a day of Oracle conference when compare to many other events of the same size around Europe. However, if you become a bronze member of the UKOUG – which comes with a SIG place, so you can come to the event – that will only cost you £165! Contact the UKOUG office for any help.

(note, all prices do not include VAT, which is 20%. A UK company can usually claim this back).



I’m sure there will be a good few people travelling up the day before the event so there is a social being organised. This will be in the Shakespeare Pub from 19:00, which is not far at all from the Sheraton hotel. I’m afraid that you will have to buy your own drinks etc, but I’ll be buying a round at some point.

I have to run away back home before the event itself ends, but there is a social event in the hotel after the presentations, in the exhibition area, starting at 17:25.



Edinburgh is one of my favourite cities in the UK – and actually in the world. I’ll be turning up Wednesday afternoon so I can have a wander about the city before joining the meetup the evening before the conference and, if I had the time, I’d be going up sooner or coming back later. If you have time, a wander up Royal Mile to the Esplanade gives fine views over the city. Having looked at the nest of roads and alleys of the old town in front of the castle, it is only a few minutes to the New Town with it’s contrasting, rectangularly laid out, Victorian grandeur. In the old town I love the camera obscura just off the Esplanade, the  Dynamic Earth museum at the bottom of the Royal Mile/Holyrood road and, if I have a couple of hours, I’ll wander up Arthur’s seat – a small “mountain” (the remains of an ancient volcano),180+meters of ascent in the centre of Edinburgh. Views are spectacular. Unless it rains.

Getting There


The venue is about a mile from Waverley train station in the centre of Edinburgh, half a mile or so from Haymarket. Intercity services go to Waverley.

It is not as expensive or as far away to get to Edinburgh from London as you might think. At the time of writing trains from London Kings Cross are 4-5 hours from about £42 each way. And the route is gorgeous, running up the East coast with views out to sea. Sit on the right side of the train on the way up! To get travel at that cost you do need to pick your exact train and book ASAP. You will end up at Waverley station right in the centre of Edinburgh.

Travel from other cities in the UK will be similar, but cheaper. Apart from Birmingham maybe. I don’t know why but there seems to be a “tax” on leaving Birmingham!

Getting to the Sheraton from Waverley is still easy, there are buses and trams. If you have time, you come out of Waverley, cross North Bridge, go up the Royal Mile and down Johnston Terrace. It’s a one mile walk and you can take in the view from the Castle Esplanade on the way.


If you are heading to the Sheraton hotel by tram, you should get off at West End stop, take Canning Street then bear left onto Rutland Square. Walk past the horse statue and across the footbridge to turn left on Exchange Square. The hotel entrance is on the right.


Even though I live in the South of England, if I had a day to do it I’d drive up to Edinburgh and stop off at places along the way. If you are local-ish to Edinburgh and the trains do not work for you, I’m told it may be best to head for the multi-storey carparks at Castle Terrace or Semple Street. But driving into Edinburgh can be a bit of a pain.


I’ll be coming in by plane as I live very close to Stansted Airport. It is costing me £21 each way with Ryanair (Ack!) and there are several flights a day to chose from. You can also fly from Luton (£48), Gatwick (£60) or Birmingham (£70).

The Edinburgh tram system now runs out to the airport so getting in by tram is quick and easy, in shiny, modern trams. If my memory of the roads is still accurate, a taxi will take a lot longer, as well as being more expensive.



I hope some of you can join me at this great event in this lovely city.


Friday Philosophy – Despair of the Dyslexic Developer and Your Help Please June 1, 2018

Posted by mwidlake in development, Friday Philosophy, Perceptions, Private Life.
Tags: , ,

Like a surprisingly large number of people, I’m dyslexic. I’ve mentioned this before, describing how I found out I was dyslexic and also how I think it is sometimes used as an odd sort-of badge of distinction. I am mildly dyslexic, the letters do not try to “merge or run away” from my eye, if I hit a large word I am unfamiliar with I can visually chop it up and get through it. But that is just me. So, today, I want to ask you all, if you are a dyslexic developer or know one, are there any steps you have taken to reduce the impact?

I should mention, neither Jim or Richard are dyslexic as far as I know!

A recent, slightly jokey, conversation on twitter reminded me of the issues I have had in typing the wrong thing (over and over and over again – my usual example is how often I have tried to “shitdwon” an oracle instance). And that in turn reminded me of a more serious conversation I had when at the OUG Ireland conference back in March.

As a developer, I sometimes struggle to spot spelling mistakes or use of the wrong (or missing) punctuation in my code. As my friend JimTheWhyGuy said in the twitter conversation, spotting you had spelt UDPATE wrong. I was telling the audience that I was something of a slow developer, partly due to dyslexia. I can stare at code for ages, especially if I am using a new construct to me, not understanding why I am getting an error. It is often not a syntax problem but a spelling one. I had real problems with the word “partitioning” (and still do) when I started using that feature. – it is a little long and has almost-repeated sections in the middle and I “spin” in the middle if I read it or try to write it. It’s a little too long for my wrists to learn to automatically tap it out.

After the talk a lady came over and asked me if I had any advice on how to reduce the impact of dyslexia when writing code. She’d been diagnosed at school and so had grown up knowing she was dyslexic. (I was not diagnosed as a child, which oddly enough I am still glad about – as I learnt to cope with it in my own way. But I am NOT glad I am dyslexic). I do not know what support and advice she had been given through school, but it was obviously still something that impacted things. All I could come up with were a couple of tricks I use.

One is to copy text into MS Word and see if it highlights anything. You have to teach your version of MS Word (*other word processors with spell checkers are available) that the normal syntax words are real, but all the punctuation and special characters get in the way. Where it does help a lot is reducing the number of errors in specifications & documentation I produce and, now, articles I write. But as I know most of you who come by here have already realised – spelling errors that give another correct word are not picked up by a lot of spell checkers, such as this WordPress site. My blogs are full of missing words, wrong words and other crap.

The other major advance is the use of, Software Development Tools (SDTs – and YES, I spelt SDT wrong first time around writing this!) or Interactive Development Environments (IDEs). These highlight syntax errors (so highlighting typos), allow auto-completion of command words and provide common code constructs. They help, but I’ve never been that good at getting the best out of them. I use SQL*Developer more than the others and it does help.

The final other thing is that I just factor in that it’s going to take me more time to write or read stuff. Like many dyslexics, there is nothing wrong with my comprehension (I went off the scale for reading age when I was 12) but it takes me longer and is more effort.

Looking around on the web about this, there is a lot of stuff, the above point about IDEs being a main one. One common thing is to use different fonts to help stop letters skipping about or moving, but I don’t have that sort of dyslexia so I’ve never looked into that. I was going to review the topic of dyslexic developers more before putting this article together, but reading it all was taking me too long! That and I found the constant “It gave me an advantage” to be bloody annoying.

So, knowing a few of you out there are also dyslexic to some degree or another, have you any tips to share? If you have something to share but do not want to be identified, contact me directly.

I’d really appreciate it, if not for me then for if ever anyone else asks me how I cope as a dyslexic developer.

My main opt-out of course was to move into performance. It’s somehow more “pictorial” in my mind and you write less code…

Riga & Romania, Zagreb & Zurich: It Sounds Rockstar but Really it’s Not May 10, 2018

Posted by mwidlake in conference, Meeting notes, Presenting, Private Life, User Groups.
Tags: , ,
add a comment

I’ve spent a lot of time over the last month or two trying to plan how to navigate a set of visits to the Eastern side of Europe. This might sound a little “My Glamorous Lifestyle” but, as my friend Tim Hall (he who is “Oracle-Base”) has documented in his posts under “my glamorous lifestyle”, doing the Oracle talk circuit often entails lots of hours in airports & stations, travelling with cheap, basic airlines, and sometimes a lot of stress. It is not the “Airport lounge and first class service” some people think it is. Anyway…

I’m visiting cities in the orange zone

All three venues are at pretty much the same longitude, about 25 degrees (that is to say, the same distance “East” of the UK). The first trip is to Riga in Latvia, where I am presenting at Riga Dev Days 2018. This is my first time at Riga Dev Days and in fact my first time in Latvia. Sue has never visited Latvia before so is joining me for a long weekend prior to the conference – they have a millinery (hat) museum in Riga! (If you do not know, my wife makes some very nice hats)

The last trip is to Romania, to present at a the Romanian Oracle User Group meeting. I was asked if I would consider this by Mirela Ardelean at the UKOUG conference last December and my response was “Hell yes! I’ve never been to Romania before and I love being asked! Besides, I don’t think Sue has been to Romania yet…” So, another weekend as a tourist with my wife before a speaking engagement. Bucharest is pretty much directly South of Riga.

I’ve had these two in my calendar for a while and, though the trip to Romania was a little fluid for a while, I knew I could do it easily – there are cheap, direct flights to both from London Stansted airport, which is just a few miles over the fields from my home.

Riga hat museum 🙂

And then things changed. I became UKOUG President elect (and, a lot sooner than I expected, full president) and there is a meeting of European Oracle user groups in Zagreb, Croatia, in a date between the two user group events I was doing. I felt I needed to be there – I think all the European user groups have stuff to learn from each other and the UKOUG board supported this position.

I now had a three-week period with large chunks “over there”. I looked at flights, times, costs, hotels… It was not working. Getting home to the UK in that period with at least 24 hours at home was going to be very, very hard. I looked to see if train transport or even a hire car would help. No. But carrying enough personal stuff to last three weeks was also hard work. Even if I did weird things like popped into other countries by train or travelled at antisocial hours, the cost was making my eyes water. Each trip itself was OK if based on a simple “UK and out/return” basis. But together, it did not work. Moving between each country was not a smooth process and going home to the UK was even worse…

Then Sue made a suggestion. Don’t go “home” – go to see your wife – via Zurich!

That worked!

In the middle of all these trips I can pop back to Zurich and by train to Basel, and see Mrs Widlake. And wash my dirty clothes. It seems crazy, but adding another leg to what was already a frenetic travel plan made it all doable. So now I am going Stansted-Riga-Zurich-Basel-Zurich-Zagreb-Belgrade-Bucharest-Stansted.


Why do I do all of this? Because I love what I do as a vocation (UKOUG, presenting, the Oracle Community) and I love what I do as a Husband (she currently works abroad, I go visit, she visits back, and we meet up in random countries across Europe). For both I travel cheap as I am either spending the salary of my wife or the funds of a User Group. Both are limited and I try to keep costs down. Especially on the latter.

I really wanted to fit in a trip to Bulgaria as well, to go to the BOUG spring conference, but I really just could not make that work as well. That will have to be next year, if they will still accept me.

I already know I will be knackered by the end of this tour, but that’s OK – I will have time to recover. That would be 48 hours before I go to Valencia for a holiday “with the boys”. Followed 48 hours later by a trip to Scotland to be UKOUG President at the Scottish UKOUG conference.

I might take July off to sleep….

Free Conference (*) in May! May 4, 2018

Posted by mwidlake in conference, Knowledge, UKOUG.
Tags: , , ,
add a comment

How do you fancy going to a full-day, five stream conference, for free? With a great agenda including Pete Finnigan talking on the hot topic of GDPR; Chris Saxon, Nigel Bayliss and Grant Ronald giving us the latest low-down on optimizer, 18C database features for developers and AI powered apps? Stalwarts of the Oracle community like Robin Moffat, Zahid Anwar and Andrew Clarke giving their real-world view?

Well, if you are a member of the UKOUG you can – and even if you are not a member, there is a way! All levels of UKOUG membership, even bronze, allow you to attend at least one SIG (Special Interest Group) meeting – and the Northern Technology Summit is classed as a SIG, even though it is as large as some smaller conferences. The 5 streams cover Database, RAC, Systems, APEX, and Development (I know, APEX is part of development – but it gets a whole stream to fit in the large range of speakers, who are mostly end users with real stories to tell). You can see the full agenda here.

Park Plaza. Leeds.

The summit is being held in Leeds, at the Park Plazza hotel, on the 16th of May. The Park Plaza is so close to Leeds train station that you could probably hit it with a catapult from the entrance. It is also about 2 minutes from where the M621 (a spur off the M1) ends in the city centre. You can sign up to the event by clicking here.

Is Leeds far away? No. Trains from Kings Cross take only 2 hours and you can get there and back for £50 or less. Check out Trainline.com and similar websites. Of course, coming in from Birmingham, Sheffield, Manchester, Newcastle etc is even quicker and cheaper (except maybe Brum, for reasons I cannot fathom) Even Edinburgh is less than 3 hours away.

SO you are not a UKOUG member – You can still come, and still come for free as I said – well, sort of. The cost of a SIG for a non-member is £170 plus VAT, which is pretty cheap for a whole-day event full of technical content and an absolute steal for a 5-stream mini-conference. But if you become a Bronze member of the UKOUG for five pounds less, i.e. £165, you get a SIG place – so you can come to the Northern Technology summit. The UKOUG have waived the usual joining fee of £50 to ensure it is cheaper to become a bronze member than simply pay for this event. And, if you become a higher level member, (silver, gold, platinum) the UKOUG will still waive the joining fee. You can see full details of the offer here

As well as the excellent agenda we will be having some fun. We are having a meet-up the night before in Leeds, at Foley’s Tap House where we have reserved an area. This is one of my favourite pubs in Leeds, I seem to end up in it for a pint or two whenever I visit the city. There are already over half a dozen of us going and I’ll buy a round. The park plaza hotel is just next to the latest shopping centre in Leeds. If you have never visited the city before, or did so a long time ago, it’s become a very vibrant city centre over the last 10 years or so. I suspect after the event some of us will end up in the Scarborough hotel opposite the train station before we wander home.

So, sign up and get yourself over to a whole-day, 5-stream conference full of both the official information from Oracle on 10 topics and end-user/partner opinions on 25 more.

Friday Philosophy – If I Was a Computer, I Might Be An IBM System 360 April 20, 2018

Posted by mwidlake in Friday Philosophy, Private Life, working.
Tags: ,

So today I turn 50. I spent a few minutes looking up what your typical computer looked like then and I decided the IBM System/360 was about right. It was a business machine. Personal computers did not exist then as, well, it was almost the dark ages…

IBM system/360, phot by Dave Ross

{Note, it has been pointed out to me that I should say “If I were a computer”. Seems that even at my age I still have things still to learn properly… I’ll leave it as is to remind myself…}.

Technology changes and we who work with it change. With tech, after a while any individual part (say a specific computer) becomes obsolete and we throw it away. The technology itself changes and we stop using the parts that are superceeded. I don’t remember the last time I used any sort of floppy disc or a Zip Drive. Ironically we still often use a floppy disc icon to identify the Save button.

But us? Do we who work with I.T. become obsolete? Yes. We do so when we stop changing with the times (or “stop working”, but this is not an “I’m old and considering my mortality” type post, you will be relieved to know). I think that if you lose your passion to keep learning something new in computing and/or programming, it’s time to move out of the arena; as, worryingly soon, you are going to become like those old systems that never get updates and you know will be thrown out if they develop a serious flaw or just become too expensive to keep on the payroll – err, I mean plugged in.

I nearly lost interest about 8,10 years ago. I think it was partly that I found myself doing the same things over & over again and having the same stupid arguments (sorry, “discussions”) about how not doing things correctly was going to just make everyone’s life harder in the long run. I don’t mean doing things the same, I mean doing the things that make a good system – ensuring it fits the business need, that it is tested before it gets released, and you do this crazy thing called design. This time it was not that I needed to alter along with the tech, I needed to alter myself a little. I finally realised that, although it was getting worse, the I.T. world has always been a bit like that and part of the trick to this business is simply walking away from places that are too bad and looking for those who are a bit better. I’m lucky to be able to do that moving about (don’t get me wrong, I did have to put effort into it and I think that is where some people go wrong, they seem to almost expect an external agent to make things better for them) but then I’m 50 and still in the business. I’ve seen lots of people simply leave the industry when they could not affect that change.

However, doing a bit of the introverted-navel-gazing that comes with Significant Birthdays, I find it interesting that at 20, 25, 30, 35,… 42 (very significant that one) things have always been changing for me.

When I was born, computers filled a large room. And were yellow.

At 20 I was studying Genetics & Zoology at college and thought I would be a lab scientist. A career in I.T. was not even a consideration.
By 25 I’d taken up computing and I had fallen into this company called Oracle and I reckoned I would be with them for a good while, building systems with Forms, ReportWriter. PL/SQL and whatever came next. Oracle would not last for ever…
When I was 30 I was self employed, touting my services to various companies and mostly doing systems design and performance work.
Come 35 and I was back full-time employed (that was a surprise) working in science organisation (even more of a surprise) using my degree to some, well, degree (an utter surprise). And presenting at Oracle user group conferences.
At 40 I was self-employed again, but now totally focused on performance and and Oracle RDBMS Subject Matter Expert (someone who knows a bit about most of it and most of a bit of it).
42. 42 is a great age. You are the answer to everything…
At 45 I was retired. Except when I was not. OK, I had become a Consultant, doing short jobs for different clients. And doing all this User Group stuff. Me! Antisocial, miserable, slightly-autistic me!
Now at 50, I have to confess I am not keeping on top of the technical details of my chosen sphere the way I probably should, if my career is still in this area. But I’m not doing bad and my “job” is now even more as a presenter and a member of the User Group community. I need new skills for that.

So it keeps changing. Sometimes I chose the change and sometimes changes just dropped on me. But I’ll look at the options as they come up. And if no options are coming up and I am not happy in my job, I go look for options. I won’t say I always choose the best option but, heck, it’s worked OK so far.

I wonder what I’ll be doing at 55 and 60? I just hope I am not stuck in a museum with a “do not touch” sign next to me, like all the remaining IBM System/360s

I’m Proud to now be President Elect of the UK Oracle User Group March 23, 2018

Posted by mwidlake in UKOUG, User Groups.
Tags: ,

At the start of this week, voting for the 2 new UKOUG board members was closed and the votes were counted. Tuesday Morning, I received a call from Carl Dudley, the chair of their appointments committee, and was informed there had been more “Yes” votes than “No” votes for me – So I am now President Elect of the UK Oracle User Group!

It was a relief to know I’d received the approval of the majority of people who had voted for the new president – I was pretty certain that I’d win, given how many words of support I had received, but there is always that doubt… I was curious as to how close the vote was, but Carl was very professional and would give me no clues.

I’d like to thank everyone who voted for me, and also all the people with the Oracle community who showed support on social media for me. I should also mention that my wife, Sue, did not just say “oh go on, if you must” but encouraged me to put my hat in the ring.

I should make one thing clear – I am not yet President, I am President Elect. I’m “President-in-waiting”. I’ll be shadowing the current President, Paul Fitton, until his term ends in one year. This gives time for me to take over the various contacts and communication channels and learn what is involved in the role. I do not have a vote on the board until I take over from Paul, but I do get involved and fill in for duties when Paul is not available. I’m not sure exactly what this entails yet!

I’m pleased to say that Neil Chandler was voted in as the new Member Advocate in the same election, so he will also be joining in with all the fun.

The role of President is a serious one and it involves representing the whole of the user group, not just the tech side that I have historically been involved in. I’m going to have to expand my horizons a little.

Does this new responsibility mean I’ll stop being the relaxed, flippant person I sometimes (usually?) am? Well, yes, to some degree. You alter your behaviour to suit the situation you are in, just as most of us do when we are filling a managerial role or dealing with important work issues.

But I think we should never take ourselves too seriously. So, just for a little light humour… This is how some of my friends reacted to me becoming President Elect of the UKOUG. They congratulated me but also did the traditional “Make the enormous guys stand behind Martin and take a photo to tweet…” thing.

What you don’t get from the photo is that Neil was shouting “Viva El Presidente!” exactly as (for those who remember it) Vivian does in “The Young Ones”.

Thanks, Neil.

But my favourite shot is this one – Ilmar Kerm and Klaas-Jan Jongsma offering to be my “heavy Squad”. I’m sure I won’t need one and, besides, they are both too nice for the role.

ScreenHunter_334 Mar. 24 13.43

Friday Philosophy – Not My Cup Of Tea March 16, 2018

Posted by mwidlake in ethics, Friday Philosophy, Perceptions.
Tags: , ,

A few days ago I tweeted a copy of a “motivational poster”. I don’t normally like motivational posters but this one struck a chord with me as it was a lesson I took a long time to learn. Not everyone will be your cup of tea. Which is a very British (I think) way of saying you don’t like something or someone. “Ohh, that Mavis, she’s just not my cup of tea!”.

Over time my opinion of people and how we all get on have changed.

Not everyone in this world is going to like you. No matter what you do, how reasonable you are, the number of olive branches you offer, some people are just never going to like you. That bit I learnt early at school when Nigel was leading the bullies. Each one of them I could manage on their own, negotiate some peace, but not Nigel. Over time I realised it’s just a reality: some people will not like you and there is no discernible reason. And it can be a very passive dislike – no anger, no hate, just a total absence of like rather than actual dislike I guess.

You are not going to like everyone. This is not a case of you needing to be a better person or some sort of saint, I don’t think I’ve met anyone yet who likes everyone. Some people respect everyone, have time for everyone, will try to think the best of everyone. But not like. I did not like Nigel, for good reason, but there are other people who I do not like who have never done anything bad to me. Again, it is not that I dislike them, I’m just indifferent or mildly irritated by them. For many years through my 20’s and 30’s I thought I should try and alter that – but I failed. I just don’t like some people.

It’s OK and Normal that some people you will just not get on with. I struggled with that for years. Surely, so long as someone is not psychotic or just simply a bad person, bridges can be built? When I started thinking more about teams, managing people, getting people to work together, I did learn more about how to identify the reasons for bad feeling and resolve them. I had more success at it than I thought I would, and acknowledging that half the time it was my fault not theirs helped. But with some people, no it was not happening, we did not like each other. But things could usually be improved – if not bridge-building, then at least waving politely at each other from our respective sides of the river.

That led me to what I felt was the final part of being someone’s cup of tea. I like tea with sugar and milk, some people think that is disgusting and, anyway, it should be green tea. They are wrong. But it does not matter. If they want a cup of tea, I’ll make them a cup of green tea.

Not getting on with someone is not a problem – so long as you don’t MAKE it a problem. If you don’t like someone there is no need for you to make them “The Enemy”. If you do, well you just made an enemy and that person is likely to be obstructive to you, retaliate and generally make life less nice. And that will spill over to others around you. Oh, I’m not a saint, I try to apply this rule to myself but I don’t always pull it off.

I’m not wise enough to know all the reasons we do not all get on but I think sometimes the reasons are just not important. I might remind you of someone you really detest, I might find the way you keep singing bits of “The Smiths” an affront to good musical taste. And even if there are reasons that seem good, the less antagonistic you can keep it, the better. And I repeat, sometimes it is not active dislike, it is just an absence of like.

The context is also a factor in this. In a social situation, if you do not get on with someone it’s easiest just to avoid them. And we all do this. But you don’t need to try and make everyone else dislike them. In a work or family situation it can be harder as you have to deal with people you don’t like. I think that acknowledging that you just don’t get on and it happens, no blame either side, makes it easy to be equitable about it.

It seems to me that the people I do not get on with have a different life philosophy to me and the larger the difference, the larger the chance of dislike. I don’t like Right Wing conservatives. I don’t like selfish people. To them I am probably sanctimonious, deluded and borderline communist – which is not fair, I AM communist. In that I think our community is the most important thing about being human. But I also use humour a lot and that really annoys some people as I use it in inappropriate settings or they do not think I am taking issues seriously enough or professionally enough. And they may be right.

So, all very good and very grown-up of me so far. Now for my final point.

Some people are just not nice. We’ve all met them, the person who no one can get on with as they are so self-opinionated, bullying, harsh, self-serving. And any attempt to build bridges with them is either seen as weakness or used as a way to get you on-side before they hang you out to dry.

Is this just an extreme case of not being your cup of tea? Well, maybe, but I don’t think that.

Some people are just not worth the trouble. And some people are trouble.

It comes back to Condoning Bad Behaviour. I actually decided that some people are not nice (and probably never will be) long before I came to the conclusion about it being OK to not get on and trying to not make it a problem. At that point I wondered if that would be the whole solution, just accept that you do not get on and let it lie.

But I kept hitting up against the occasional person who, no matter how much you tried to not make it a problem, they did make it a problem. And they continued to bully, oppress, be antagonistic – and they got away with it. With these people I still try and walk away. And if I cannot? I don’t condone bad behaviour. I’ll tell them what I think and, if I can, I’ll stand against them. It is not easy though as they are like Nigel. They surround themselves with similar people or stooges they can direct. Now that is a totally different issue.

I think it’s right to try and be friends with everyone.
But you won’t be friends with everyone so strive for peace with the others.
And if peace is difficult, distance should work.
But I will not condone bad behaviour, OK?

Some people need to see me using this cup

Friday Philosophy – Explaining How Performance Tuning Is Not Magic? March 9, 2018

Posted by mwidlake in Friday Philosophy, performance, SQL.
Tags: , , , ,

Solving performance issues is not magic. Oh, I’m not saying it is always easy and I am not saying that you do not need both a lot of knowledge and also creativity. But it is not a dark art, at least not on Oracle systems where we have a wealth of tools and instrumentation to help us. But it can feel like that, especially when you lack experience of systematically solving performance issues.

SQL statement be fast!

I recently spent a couple of days with a client discussing how you solve performance issues and I am preparing a talk on exactly that for the up-coming OUG Ireland conference on the 22nd-23rd March. The guys I was talking to at the client are very, very capable production DBAs, but traditionally the developers at their site initially look at any performance issues. If they think it is the database but not something they can fix, they throw it over the fence at the DBAs. It’s not always the database of course and, if it was a simple fix (missing index, obviouosly inefficient query), then the developers fixed it. So these two guys are expected to only solve the more difficult issues. That’s not really fair as, if you are not practising on the simple problems how are you supposed to gain the experience and confidence to solve the harder ones?

Anyway, a part of the discussion was about Explain Plans. What does the COST mean in the plan, they asked? They saw it as some number that in an undefined way gave an indication of how expensive the step in the plan was, but they could not link it back to anything solid that made sense to them. It looked like a magically produced number that was sometimes very, very wrong. Like most (good) technical people, they want to know the details of things and how they work, they don’t want to simple accept something as working.

So I took them through some simple examples of plans and of how the COST is just a result of simple maths estimating the number of IOs needed to satisfy the step.

I won’t go into the full details here but have a look at the below, this is how I started:

I explained how you read “down” the slope of plan to the end (so step 3) and then worked back up the slope. So the first thing Oracle does is the index range scan. I showed them the BLEVEL of the index, the number of blocks per indexed value and why Oracle knew it would, on average, need 3 IOs to get the leaf block entries for the provided “DOB=to_date(’08-OCT-1934′,’DD-MON-YYYY’)”. Each DOB matched, on average, 20 rows. So the cost of step 3 was passed up to the step 2 of accessing the table rows. This would be done 20 times so the cost was 20+3. 23.

OK, they could accept that, it made sense. So let’s extend it…

I took the original query against PERSON for a given DOB and now joined it to a second table PERSON_NAME. Why is not important, it’s just a demonstration of a simple table join:

Now I explained that as you work “back up the slope of the plan” from the first, most indented step (so from step 5 to 4 to 3) at 3 there is a nested loop joining the rows passed to step 4 to the step in line below it, i.e. step 6. They had already seen steps 5 and 4 in our first example, Oracle is expecting to get 20 rows for a cost of 23. Look at line 4. And for each of those 20 rows, it will do a range scan of the index in step 6 and for each row it finds in the index, collect rows from the joined table in step 7.

So for each of the 20 original rows it does a scan of an index on the joined table for a cost of 2 (I showed the stats to them how this cost is calculated) and expects on average to find 5 matching rows so it needs to do 5 IOs to the PERSON_NAME to get those rows. Add that together and that cost of 7 is done 20 times. 7*20 is 140, plus the 23 from the orginal scan of the PERSON table, the whole COST is… 163.

Light bulbs came on and they got it! My job here is done.

But it was not. I then went on to explain how it is now hard to get such a simple example. This one is, I think, from an early version of Oracle 11. I told them how histograms on a column will make the estimated cardinality (number of records per given value for a column) more accurate, but harder to work out. I showed them how the cost of a unique index scan is reduced by 1. I explained how Oracle was blind to the correlation of column values unless you took steps to tell the optimiser about it (you know, how for a given value of car manufacturer there will be only a few values of car model, the two values are related)…

Worry was creeping back into their faces. “so it is simple mathematics – but the rules are complex? It’s complex simple mathematics?!?” Err, yes. And with 11 and 12 Oracle will use various methods to spot when the simple, complex mathematics does not match reality and will swap plans as a result…

I think I lost them at that point. Especially when they asked about the SQL Profiles and how they modified Costs… Baselines controlling how plans are used… Bind variables…

That is a real problem with Oracle Performance tuning now. Even something as simple as COST is based on a lot of rules, factors and clever tricks. And they are not the only things controlling which plan is executed anymore.

So I took a step back.

I told them to accept that the COST is really, honestly based on maths, and the expected number of ROWS is too. But the actual, specific values could be hard to totally justify. And it is when the estimated COST and (possibly more importantly) the estimated ROWS goes wrong you have problems. So look out for ROWS of 1 (or at least very low) in a plan for a statement that takes more than a few milliseconds. And for very, very large COSTS/ROWS in the millions or more. And what really helps id if you get the ACTUAL ROWS as opposed to the ESTIMATED RIWS. Where there is a significant difference, concentrate your focus there. Of course, getting the ACTUAL ROWS is not always easy and is for a later (and properly technical) post.

So, they asked, if they could not get the actual ROWS and there were no 1’s or millions’s in the plan ROWS/COSTS? How did they know where to concentrate? “Well, you just get a feel for it… do the costs feel reasonable?…”

Damn – I’m not sure I really delivered on my aim of proving Performance Tuning is science and not magic.

Any pointers anyone?

(Update – Vbarun made a comment that made me realise I had messed up the end of this post, I was talking about estimated ROWS and still had the words COST there. Now fixed. And the other thing I was hoping someone was going to suggest as a pointer was – to split the query down to individual tables & two-table joins and *check* how many rows you get back with the where predicates being used. It takes some time but it shows you where the estimates are going wrong.)

Friday Philosophy – Criticism is Critical for Believable Endorsement March 2, 2018

Posted by mwidlake in ethics, Friday Philosophy, Perceptions.
Tags: , ,

If you had a friend who always told you that your were the best, that you had no faults, and that everything you did was great – would you trust them? I know I would not. I am fully aware that I am not perfect(*). I used to see this sometimes in relationships too, especially when I was younger. One of them would be so desperate for their boyfriend/girlfriend to like them that they would never criticise the light of their life. The relationship never lasted as it was, well, creepy and false.

Perfect In Absolutely Every Way

For your opinion of someone to be seen as honest, there has to be space for criticism. I love my wife very much, but she’s crap at loading the dishwasher. Joking aside, I believe my wife when she says she likes some aspect of my character as she will tell me about the ones she does not like. Thankfully, not at length.

In exactly the same way, for your opinion on a technology or application to be accepted as honest & worthwhile, there has to be space for criticism. I’m not saying that there has to be some criticism within any given endorsement of a product, I’m saying you need to be confident that the person would mention any faults or drawback they are aware of for you to believe that endorsement. I’m really hoping you are all agreeing with me on this!

So why do Marketing departments so often not get this? What is so fundamentally broken – OK, let’s be nice and say different – about their view of the world that any criticism is not acceptable? I just don’t understand either their belief that their product is perfect or that people will be fooled by an uncritical opinion of that product.

I can see how this would work in social media reviews like TripAdviser though. I recently did reviews of several places I had visited and a couple of companies then contacted me to ask me to remove the bits where I had said anything negative. They fundamentally wanted me to lie for them, or at least implicitly (and complicitly) give a better review by omission. I don’t take it well when I am asked to lie. In this case of social media I can see how “cleaning up” the reviews might help as most people look at the sum of all reviews and not at the reviewers.

But when you are actually a known person giving a review or endorsement, your reputation is critical to how the review is perceived.

What triggered this post was I recently discovered a friend of mine had been asked by a marketing person to remove some negative things they had said. They refused and made the point I have just made – if they were to be seen as believable when they said something else that the company produced was great, they had to be seen to be honest in criticising anything that was less-than-perfect. And let’s all be grown up about this, I’d say no software or application is perfect! However, the marketing person found this concept alien to them.

I wonder if people who work in marketing departments have difficulty maintaining long-term relationships? Based on my experience, quite a few of them are willing to ask you to lie for them and they don’t understand honesty is core to trust. Or am I just being very, very naive?

For me to trust the opinion of someone commenting on software & applications, in fact on anything really, I want to see some proof of their integrity by them being critical as well as complementary. If it is all positive, I will assume that their opinion is bought in some way or they are not particularly discerning. So Marketing People asking for negative comments to be removed? You are doing your employer a disservice. Please keep that in mind.

(*)I’m not perfect – but sometimes I’m so close it hurts. My wife got me a T-shirt with this on, so it must be true… Or she was being sarcastic?

Will I Be The Next President Of The UK Oracle User Group? February 16, 2018

Posted by mwidlake in Oracle Scene, UKOUG, User Groups.
Tags: , ,
add a comment

I’ve decided to put myself forward to be President Elect of the UK Oracle User Group (UKOUG). The position of President Elect is, in effect, President-in-waiting. You shadow the current president before taking over the role when their term comes to an end. In this case, that will be in a year.

I think this is a very sensible manner in which to introduce a new person into the role of President. The UKOUG is one of the largest Oracle user groups in the world. It is in effect a small company with permanent staff and a large number of interested parties, the members. About 1000 companies have at least one membership with the UKOUG, some hold several (as each membership comes with conference passes). The position of President comes with 3 main duties:

  • Representing all members of the users group – end users, partners, sponsors. There are two other positions on the board of Member Advocate, so the president is one of three (out of a total of 6) representing the membership.
  • Being the ambassador for the UKOUG. This is partly being the “friendly public face” of the organisation but, as President, you represent the UKOUG to other user groups, Oracle Corporation and the press.
  • To ensure that the UKOUG meets it’s requirements as a company and has the correct governance in place. For the UKOUG a lot of the governance is about ensuring the board is selected or appointed correctly, legal requirements are met, and that the user group is run in an open and fair manner.

Why would I want to take this on? It is not a paid position, it is voluntary.

(I should maybe be a little clearer here on pay – voted positions on the board, i.e. member advocate and president, are not salaried. But expenses are paid and there is provision for some payment for specific project work, or if the demands of a role exceeds a number of hours in a given month. But you would be unable to live on it, no matter how frugal you are!)

Well, as many of you know, I’ve been an active volunteer for the UKOUG for a long time, it’s actually over 10 years. I present at nearly every annual conference, at a couple of the Special Interest Groups (SIGs) each year and I’ve chaired or deputy chaired SIGs since 2009. I don’t just do the “standing up and being noticed” stuff, I help out with the organisational work. I was in charge of the Database content at Tech14 & Tech15 and all the content of Tech16. I’ve sat on strategy committees, reviewed submissions, analysed speaker scores… I’m currently editor of the UKOUG magazine, Oracle Scene. I know some people think of me as “that guy from the UKOUG”. Maybe being President would be less work!

When the UKOUG announced that the position of President Elect was open, it seemed natural to try and take that final step up the Volunteer ladder to become a member of the board.

When it comes down to it, I love being in the Oracle community. I’ve made so many friends across the globe through not just the UKOUG but by going to the conferences & meetings of other national Oracle User Groups. I have learnt so much from user groups, not just from lectures but directly from the people I meet. The majority of people who get involved in user groups are not only intelligent and wanting to learn, they are also willing to share and teach.

Another part of my wanting to be the President (eventually) is that I don’t think the UKOUG is perfect. The organisation does evolve and change as the technology and market shifts. But I’d like to try and shake things up a bit and slightly alter where it’s focus currently is. I won’t say any more on that for now.

There are also big changes for some Oracle customer, namely Cloud, Chatbots, AI and the fact that hardware is shifting. Solid State storage and Oracle’s own in-memory tech is making some things possible that were impossible with the old physical storage and row-based processing. But soon we will have storage that is an order of magnitude faster than current SSD, almost as fast as main memory.

Oddly enough, one problem I see a lot is that there is too much focus on some of those new areas. Many people are still running systems where cloud and SSD are not part of their world. Yes, they would probably all like to move forward but if the systems they have can’t move on, they still need to get the most out of them now. User groups are not just for those chasing the latest-greatest, they are just as much for those who need help keeping the wheels on. I think the user group needs to reach slightly back before we can help them forward.

Many of you won’t be able to vote for me as only members of the UKOUG can vote. But if you can, I’d appreciate your vote. And I will need those votes.

There is one slight oddity. I am the only person standing for the position of President Elect (the position of Member Advocate is also open and being voted for at the moment, for which there are three candidates). However, there is still a vote, I will not take the position uncontested. The vote is a yes/no/abstain one, so you can either support my bid to be the President Elect or voice your opposition. There are issues with yes/no votes but over all the UKOUG board felt that as the user group is run on democratic principles, the members should be able to have their say over if they feel I am suitable to eventually become their President or not. If the number of votes are low, it edges things in the favour of “no” so I still need to campaign.

(If you can vote, you can do so Here)

As for the contest for the position of Member Advocate, I’ve voted for Neil Chandler. I know Neil well and he is just as passionate about the UKOUG as I am and I know he will work hard to keep it moving forward and improving.

Let’s see what happens come the conclusion of voting in March.