UKOUG Tech17 : I’m Speaking

Just a quick note to let you know what I’m doing at UKOUG Tech17 during the 4th-6th December.

I’ve got a couple of normal presentations.

Multitenant : What’s New in Oracle Database 12c Release 2 (12.2)
Stream: Database 1
Length of slot: 50 minutes
Day: Monday 4th December – 14:25-15:15

Using PL/SQL & ORDS to Develop RESTful Web Services for APEX? Why?
Stream: APEX
Length of slot: 50 minutes
Day: Tuesday 5th December – 15:40 – 16:30

I’m also doing a 25 minute session on Wednesday for students, which isn’t currently listed on the Agenda. It’s part of a UKOUG and Oracle Academy collaboration.

At some point in the week I’ll be picking up the “Best UK Speaker Award” for a session I did at Tech16. It’s funny because I wasn’t originally presenting at that event, but I was asked to fill a gap in the schedule when someone dropped out. Happy accident. 🙂

Similar to previous years I will be in and out a lot. I have to give priority to colleagues who don’t get to come to as many conferences as me. It’s only fair…

See you there.


Do you have an obligation to your audience?

There is an interesting conversation on Twitter at the moment, which in my head comes down to one simple question.

Do you have an obligation to your audience?

I’m not going to link to the conversation, and I don’t think the specific subject in question actually matters. I care more about the bigger picture.

Over the last 17+ years of being a content producer and the last 10+ years of being a presenter I’ve wrestled with this question numerous times.

Content Production

On the content production side I have split my content into two parts. Purely technical stuff goes on the website. Opinions and other random stuff go on the blog. This setup works for me because I don’t feel bad about putting anything out on the blog. In the past I used to post movie and book reviews and I was totally fine with that because the blog was more of an online diary, not a technical archive. The concepts of integrity and honesty don’t come into the purely technical material on the website because it is essentially just how-to articles, so provided they are accurate it’s all good. It’s in the opinions on the blog where integrity and honesty matter.

In my opinion, my only obligation to the audience is that I am honest. The things I say must be what I believe.

I may be naive or badly informed. If my opinion changes over time, that will no doubt be reflected in my content. It doesn’t mean I’ve lied in the past. People are allowed to change their opinions…

That is a standard I hold myself to, not necessarily what I believe others have to do. Each person has to make up their own mind and follow their own path. We do not have to agree on this.

Conference Presentations

I’m specifically talking about conference presentations here, not teaching in a class situation. That’s a whole different ball game!

Presenting is an odd thing, because on one hand you are not being paid, so you don’t owe the audience anything, but on the other hand the audience have often paid to be there, or at least are giving you their time, so you owe them the courtesy of doing the best job you can. It feels kind-of contradictory. 🙂

In my opinion, my obligations to the audience are:

  • I must care about the content.
  • I must deliver what I say I will deliver.
  • I must be honest with the audience about my level of experience in the subject.
  • I must be honest about my opinions on the subject.
  • I must be a genuine version of me, minus the swearing.

To elaborate…

I have only ever done one presentation on a subject I didn’t care about and it was soul destroying. I swore I would never do that to myself again.

Pitching a session is difficult, but as long as you delivery what you say you will and the information is accurate, it’s not your fault if people have chosen to come to “the wrong session”. Part of delivering what you say you will is to have a session of a reasonable quality. Quality is subjective and my standards may not match yours. My presentation style is quite relaxed and I’m scruffy, so some people would say I’m not very professional. If you prefer to see someone in a suit with a formal presentation style don’t come to see me. 🙂

I see a number of presenters who position themselves in a way which suggests they are experts in a specific subject, when I know they are not. I feel this is dishonest. You don’t have to be an expert to give an interesting and valuable presentation. In many cases, the newbie “transitional” sessions are more interesting as you see the problems you are likely to face along the path. I like to think I am honest about what I do and in most of my presentations I say I’m just a regular DBA/developer that writes and presents about the stuff I do.

As with the written content, I’m not going to stand on stage and say something I don’t believe. I am aware a certain section of the community believe any involvement in evangelism programs means you have been bought (see Oracle ACE = Oracle’s Bitch?). If you are of that belief, there is little I can do to convince you other than continue to be myself and hope one day you get the message.

I’ve lived long enough to know that trying to present yourself as something you are not never works out well. Sooner or later people find out the truth and you look like a fool. On stage I try to be me. I speak a little slower and I *try* not to swear as I know some people don’t like that. I don’t want to alienate the audience, but at the same time I will not pretend to be someone I am not.


I have a set of standards I think work for me and I am happy with. Other content producers and presenters should follow their own path and do what they believe is right. My rules are for me, not the rest of the world.

As a member of the audience, you have the right to your own opinion, but you have no right to demand something of the creator/presenter. If you like what they do, great. If not, don’t read their work and/or don’t go to their presentations. Feel free to give constructive criticism and session evaluations, but don’t be offended if it is ignored. We don’t have to agree! 🙂



PS. I guess I should say, I’ve probably not always lived up to these standards, but it’s a journey babe!

VirtualBox 5.2.0 : My Problems (Solved)

VirtualBox 5.2.0 has recently been released, which you can read about here.

Downloads and changelog are in the usual places.

I decided to throw caution to the wind and install it on my Windows 7 PC at work. The installation went fine and an existing Oracle Linux 7.4 VM started and worked OK. When I tried to update the guest additions it failed to build, but the VM was still working without some of the stuff you need the GA for, like video drivers and shared folders etc. Next I tried an existing Fedora 26 VM. It also started fine, but the guest additions failed with the same error. Timo Hann said it was working fine for him on Windows 10, so I figured it was a Windows 7 issue and forgot about it.

I got home and tried on macOS Sierra. Same error. After a bit of Googling I couldn’t find a solution, so I raised a ticket. That was subsequently closed as a duplicate from an issue (#17163) first raised in 5.2 RC1. So far no fix. See Update.

For reference, 5.2 seems to be working fine for me for existing VMs, provided I don’t try to upgrade the guest additions. It does mean I’m pretty screwed for new VMs that require guest additions for shared folders, as I’ve not got guest additions installed on any new VM, on Windows 7 or macOS hosts.

At this point I’m going to try and stick with 5.2, rather than backing it out, and see how it goes. 🙂



Update: There is a revised version of the guest additions (5.2.1) which you can download separately from downloads page. Download that ISO and use that rather than the default guest additions and it solved my issues on my Win7 host. Got to try on my Mac when I get home. Thanks folks! 🙂

Update 2: The 5.2.1 guest additions also solved this problem for me on Oracle Linux 7.4 and macOS Sierra hosts running OL7.4 guests.

ODC Appreciation Day 2017 : It’s a Wrap (#ThanksODC)

Yesterday was the Oracle Developer Community ODC Appreciation Day (#ThanksODC).

Thanks to everyone who contributed. Here is the list of posts I saw in chronological order. If I missed you out, give me a shout and I’ll add you. 🙂

Four people chose the “online datafile move” feature, which is a feature I love too, so I guess that comes out top of this list in terms of popularity. 🙂

It’s always good to see some of the entires in languages other than English!

It’s wrong to have favourites, but the entry that made me the most happy was that of Flora B., who was inspired by this event to write her first blog post ODC Appreciation Day : EM CLI. That’s great!

In addition to the people who posted blogs, thanks to all those people that tweeted their favourite feature, and took the time to retweet everything. It was fun to watch them all coming in.

Once again, thanks everyone for getting involved and of course #ThanksODC! 🙂

Same-ish time next year! Add a comment if you have any ideas for themes for next year. 🙂



ODC Appreciation Day : Silent Installation and Configuration (Automation) : #ThanksODC

Here is my entry for the Oracle Developer Community ODC Appreciation Day (#ThanksODC).

I’ve been mentioning automation a lot recently, both in relation to the cloud and on-prem. The OpenWorld announcements about the Autonomous Database service are not the first thing Oracle has done to ease automation of repetitive tasks. In fact, Oracle has quite a long history of making automation of installation and configuration easy.

I’m not sure what version introduced silent installations of the database, but I first wrote about them when using Oracle 9i (here), with the article changing a lot over the years. In addition to making installations faster, more repeatable and less error prone, they are also important these days if you are using a cloud provider for Infrastructure as a Service (IaaS), since using X emulation to perform tasks can be super-slow. Over the years I’ve also written about silent installations of WebLogic, Oracle Forms, ODI and OBIEE to name but a few.

In addition to installations, Oracle has made silent configuration possible too. Running the Database Configuration Assistant (DBCA) in silent mode is pretty simple (here). WebLogic Scripting Tool (WLST) is a not always easy, but it is a really powerful way to script build processes for WebLogic servers (here). If you are using Enterprise Manager Cloud Control, you will find an API for pretty much everything, allowing you to script using EMCLI (here).

You can find a number of articles I’ve written related to silent installation and configuration using the links above, or grouped under this section of my website.

A good knowledge of this subject is important if you want to start checking out Docker, because you will be doing silent builds and configuration for everything.

When you are learning something new it is nice to use GUI screens, as they often feel a little simpler at first and sometimes give you a little more context about what you are doing. Once you’ve covered the basics you should really switch to scripting, as it will make you more efficient. When I first started to manage WebLogic servers I resisted the switch to using WLST for quite some time. It seemed a little complicated and I was in denial until Lonneke Dikmans persuaded me to try it. Once I got into it I never looked back! 🙂

To summarise the advantages of scripting your installations and configuration, they are:

  • Faster.
  • More reliable.
  • More repeatable.
  • Work fine on the cloud and in Docker.
  • Easily maintainable and can be version controlled.

If you’re not using this stuff already, do yourself a favour and give it a go. You will thank yourself!



Oracle OpenWorld 2017 : It’s a Wrap

Time for a final post to summarize the craziness that was OpenWorld 2017. 🙂

For me the story of this year’s OpenWorld was the emphasis on humans doing stuff where humans add value, rather than doing boring crap that can be automated.

The obvious thing people will jump on is the Autonomous Database announcement, which I’ve written about already, but the story follows through many aspects of the conference.

The interest in chatbots is quite high at the moment. From a work perspective, it’s not about replacing every application you have with a voice or messenger interaction. It’s about finding use-cases where they work well. Having a chatbot that deals with trivial interactions frees up humans to deal with more important stuff. Over the last few years products using natural language processing for text and voice interaction have come a long way. Many people have devices in their pocket that do this pretty well (Siri on Apple and “OK Google” on Android). Products like Amazon Echo and Google Home have made voice interaction seem normal. As they become more normal, people will expect these services from you.

In the apps world there is an emphasis on making things simpler by making the apps more intelligent. Rather than expecting the user to fill in every bit of information, you default the most likely responses based on the information you have about that user. This could be a simple as pre-filling an address, or as complicated as using machine learning to make educated guesses at what they want. It’s all about making basic interactions as efficient as possible so user time can be spent more productively.

Cloud providers are a great example of software defined data centers. If you choose to move to the cloud, the cloud provider has done the heavy lifting for you. If you want to continue to work on-prem, you need to learn the lessons of the cloud providers and remove humans as much as possible from the process of deploying and managing virtual machines, containers, databases, app servers, networking, load balancers and firewalls etc. Those people can then focus on more architectural, development and performance-related issues.

We speak about the benefits of agile and DevOps all the time, but many people get caught up in the tooling and automation associated with this. Cloud providers take a lot of that burden off us, and tools like Oracle Developer Cloud Service, available for free if you have some other Oracle cloud services, save you from having to worry about some of that development tooling. Other cloud providers offer similar services.

The list goes on…

None of these messages are new, but it has taken me some time to adjust to some of them. Sometimes you have to have a personal use-case to really appreciate things. My experience of cloud services, voice devices, Docker and seeing data center automation using VMware Software Development Data Center have made me more responsive than I think I was before.

People often have a fear of change, and speaking about automation makes people think job cuts, but as I mentioned before this is about stopping people worrying about boring stuff and getting them to focus on where they add value. I don’t see this reducing the head-count in our IT department. I see it reducing the grunt work and directing resource at more important stuff. We are so preoccupied with the crap, we never get to stretch our wings…

Thanks to the Oracle ACE Program and the Oracle Developer Champions Program for making this all possible for me!

So that’s another visit to San Francisco done. Due to funding changes I don’t know if I will visit again. Time will tell.

Here are the 14 posts that relate to this trip.



Oracle OpenWorld 2017 : The Journey Home

For some reason I thought I was flying home early today. I wasn’t. The flight was 15:00.

I had put myself on an waiting list for an upgrade, that I didn’t get. Unknown to me, and contrary to the advice from the Lufthansa agent I spoke to on the phone, this happened to mean I also lost my aisle seat for the 11+ hour flight home, since I was advised not to check-in online. Flying on a middle seat is not fun for anyone, but for me anything except an aisle is a big problem. It pretty much makes me freak out and fidget constantly. I once stood for 9 hours on a flight where I had a middle seat.

Needless to say I was super-pissed once I got to the airport and found out. I know it isn’t the fault of the airport staff, so I was careful not to go supernova at anyone, but it was extremely hard work. I spoke to the people at the desk, who wrote down my details, but said there was nothing they could do at that time, but would see what they could do as check-in progressed. I wrote an email complaint to Lufthansa, and vented my frustration on Twitter for some time, then the plane was delayed by 30 minutes…

Eventually I was called to the boarding gate and they had found an aisle seat for me again! It was such a relief as I would have annoyed the crap out of the people next to me if I had been in a middle seat.

The flight from San Francisco to Frankfurt was fine except for one brief, but violent bit of turbulence early on in the flight. The staff had to stop the food service and strap in for about 10-15 minutes. I just closed my eyes, grabbed my tray and tried not to have flashbacks to a flight I was on that was like that for hours. There were a number of spilled drinks, vocal people and children crying, but it didn’t last too long. When that does happen, you are twitchy for the rest of the flight.

I stood a lot during the flight and watched some films.

  • Life : I enjoyed this. Quite derivative of alien sci-fi, but good.
  • Wonder Woman : The plot was very generic, but Gal Gadot was awesome and the fight scenes were some of the best I have seen in a superhero film. With the problematic origin story out of the way I’m looking forward to the future Wonder Woman films.
  • Trancendance : I re-watched this. I kind-of like it, even though it is a terribly flawed movie.

We got to Frankfurt about 30 minutes late, which meant I had about 12 minutes to get from my arrival gate to the departure gate in another terminal. I checked with a member of staff, who suggested I wait for the next flight in 4 hours time, but I decided to try and make it, which involved me stomping through the airport like an aging rhino. A couple of people took pity on me, a panting sweaty mess, and let me through the fast lane at security, and let me jump the queue. 🙂 I made it to the boarding gate just as they were closing. A triumph for fatties everywhere!

I got on the plane, went to the toilet and changed my t-shirt, after using my current one as a towel. Yuck.

It was a short flight from Frankfurt to Birmingham with no dramas. I was doubtful my luggage would make it on such a short connections, but it was there waiting for me when I got to the baggage claim. 🙂

So I’m back and dealing with jet-lag, washing, the post-event emotional crash and I’ve got to write a talk about it all to give at work.

I’ll do a wrap-up post tomorrow when I am settled…



Oracle OpenWorld (JavaOne) 2017 : Day 4 (Thursday)

I met up with some folks for breakfast, which was a first for this week. From there I went to my room, finished off some blogs and cleared down some work emails, then I was ready to start the day.

OpenWorld finished the day before, but JavaOne continued into Thursday, and since I was registered for both I decided to check out some sessions. A quick look through the agenda showed every session for the day was fully booked. I decided to go down and check it out, in case people didn’t show. When I got there is was really busy, with people queuing for sessions, so I turned round and went back to the hotel.

I heard later there were free seats in some of the sessions, but quite frankly waiting around on spec is not my idea of fun. There seemed to be a lot of angry people around, especially when they ran out of food. I can’t really complain as I didn’t pay for the conference, but if I was a paying attendee I would be really unhappy.

In the evening I met up with some folks to grab some foods, then it was back to bed. I’m not sure I’ve ever had such an “unconferency” day at a conference before, except when I’ve been sick.