OGB Appreciation Day 2019 (#ThanksOGB)

It seems like every year this has a different name, but the motivation is the same… This year it is #ThanksOGB…

History

Back in the day we had a community site called Oracle Technology Network (OTN), which is why the first incarnation of this event was called #ThanksOTN. Later OTN got re-branded as Oracle Developer Community (don’t call it ODC 🙂 ), so the last couple of years we got #ThanksODC. That confused a few people, as they thought this was about the Oracle Developer Champions, Oracle Database Cloud, Oracle Developer Cloud or some other such stuff. It wasn’t. Some people didn’t identify as developers, so thought it was not for them. None of that is true. It’s pretty simple. I can’t image there is anyone working with Oracle technology that hasn’t used forums, read articles or downloaded Oracle software from OTN/ODC over the years. You must have directly, or indirectly, benefited from the work done by the people at Oracle who support our community. This is just an opportunity to say thanks to those brave folks who endure our endless moaning. 🙂

What is OGB?

It’s “Oracle Groundbreakers Appreciation Day”. Who are they? To quote Jennifer Nicholson.

“I want to point out that Groundbreakers includes ACEs, Java Champions, Ambassadors and all those who have the Groundbreakers spirit. :-)”

I would like to include Oracle staff, especially those that work directly to support the community. Even though it is “Oracle Groundbreakers Appreciation Day”, this is not specifically about the Oracle Groundbreaker Ambasssadors Program, so you aren’t blowing smoke up their asses. This is a thank you to everyone that makes the community great, especially those people that work at keep us all moving! If you’ve benefited from the Oracle community at large, please join in…

Does that mean I’m thanking myself?

You are thanking all the people who have have contributed and helped you in your journey!

When is it?

Every year I pick a date and have to change it because of a national holiday on some country. 🙂 At the moment the date of the event is in a little over a weeks time on Thursday 10th October 2019.

Check back closer to the time to make sure the date hasn’t changed. If we have to move it, it will only be by a day either side.

How can I get involved?

Here is the way it works.

  • Write a blog post. The title should be in the format “OGB Appreciation Day : <insert-the-title-here>“.
  • The content can be pretty much anything. See the section below.
  • Tweet out the blog post using the hashtag #ThanksOGB.
  • Publishing the posts on the same day allows us to generate a buzz. In previous years loads of people were on twitter retweeting, making it even bigger. The community is spread around the world, so the posts will be released over a 24 hour period.
  • Oracle employees are welcome to join in.

Like previous years, it would be really nice if we could get a bunch of first-timers involved, but it’s also an opportunity to see existing folks blog for the first time in ages! 🙂

The following day I write a summary post that includes links to all the posts that were pushed out through the day. You can see examples of the last two here.

What Should I Write About?

Whatever you want to write about. Here are some suggestions that might help you.

  • My favourite feature of {the Oracle-related tech you work on}.
  • What is the next thing on your list to learn.
  • Horror stories. My biggest screw up, and how I fixed it.
  • How the cloud has affected my job.
  • What I get out of the Oracle Community.
  • What feature I would love to see added to {the Oracle-related tech you work on}.
  • The project I worked on that I’m the most proud of. (Related to Oracle tech of course)

It’s not limited to these. You can literally write about anything Oracle-related. The posts can be short, which makes it easy for new people to get involved. If you do want to write about something technical, that’s fine. You can also write a simple overview post and link to more detailed posts on a subject if you like. In the previous years the posts I enjoyed the most were those that showed the human side of things, but that’s just me. Do whatever you like. 🙂

So you have a little over a week to get something ready!

Cheers

Tim…

Driving vs. Being Driven : The reason you fail to get good at anything!

It doesn’t matter how many times I’ve gone somewhere. I only know the route when I’ve driven there myself. Everything makes sense when you see someone else do it. You don’t realise how distracted you are, and how much you’ve missed until you have to do it for yourself.

When we have consultants on site to help us with something new, I assume I’m going to drive and they are going to give directions. I make notes as necessary, but the main thing is *I’ve done it*, not them. If I’m told I have to “observe and make notes”, I say I’m not willing to support it, as experience tells me there will be important stuff that gets missed as the consultant rushes through it. Once again, it’s the difference between driving and being driven.

I’ve written a lot about Learning New Things, and I think it always starts with learning to learn for yourself. If you are always relying on other people to lead the way, they are driving and you are being driven. They are getting better and you are just drifting.

I suppose the obvious retort to this is,

“Only a fool learns from his own mistakes. The wise man learns from the mistakes of others.”

Otto von Bismark

There is some truth in that, but the import thing in the second sentence is the wise person *learns* from the mistakes of others. There is still something active going on here. You are learning, not just being passive and waiting to be told what to do.

Standing on the shoulders of giants requires you to climb up on to the shoulders in the first place!

Cheers

Tim…

Dbvisit 9.0.02 : Automatic Failover

I recently wrote about the release of Dbvisit 9, where I included a simple installation article and Vagrant build to get it up and running.

Yesterday I got an email about version 9.0.02, or 9.0.2 depending on how you want to write it. The interesting thing about this release is the introduction of an observer, which enables automatic failover. If you want to try it, there is a free trial available here.

Not surprisingly, the installation is very similar to the previous version, so I’ve updated my original article, and added the observer installation, setup and a quick automatic failover test.

I had to redo the screen shots as the “Configuratons” screen has changed a little to include the observer. I really don’t like taking screen shots!

My existing Vagrant build (here) worked fine. All I had to do was swap the version of the software in the directory, and Bob’s your uncle! Of course, that didn’t install and start the observer, so I did a couple of tweaks and now it does. If you fancy having a play with Dbvisit Standby, this Vagrant build is a really easy way to do it.

Happy days!

Cheers

Tim…

It’s not my job to do your job for you!

I’m currently drowning in a sea of requests for a number of things, including people wanting me to help them with specific issues, which feels a bit like they want me to do their job for them. I feel a little bit uncharitable saying that, but that’s how it feels.

Let me start by saying I understand what it’s like to be asked to do stuff in your job that you don’t know anything about, and also don’t care about. Sometimes, if you can Google a solution and move on it’s a happy day. Having said that, I’m also aware that I can’t expect every article and blog post I come across to contain exactly what I’m looking for. You have to do a certain amount of digging, mixing & matching and it involves a certain amount of trial and error to get to a solution.

Here’s an example I’ve had recently. I’m not saying this was a case of “do my job for me”. The person in question was very polite and not at all demanding, so I feel safe to use this example, and I’m hopefully not going to offend them.

The interaction started with a question about XMLTABLE. It became clear over time this was actually several points wrapped into one.

  • Basic usage of XMLTABLE, explained here.
  • Usage of XMLTABLE with a variable, rather than from querying a table, explained here.
  • Populating a variable (presumably an XMLTYPE) with XML from a URL, explained here.
  • Dealing with network ACLs, which was mentioned in the previous link, but explained more fully here.
  • Making HTTPS calls from the database, explained here.

All these pieces were already explained on the website, but there wasn’t one page that put them all together. As a result of that question I added a bunch of extra links between articles to make the situation a little more obvious.

People contact you and from their perspective it’s a one-to-one interaction, but from your perspective it’s a one-to-many, as they are not the only person requesting your time. You end up feeling guilty you can’t help more, and I’m sure some of them think you are being a dick because you are not helping them. This situation just doesn’t scale.

It’s almost impossible for anyone to be an expert these days. You have to mix & match information to get to a solution. If you want a job in IT, you have to develop this ability to find information from several sources and combine it to get to a final solution. If you are expecting someone else to do that for you, you are never going to get anywhere.

Cheers

Tim…

PS. In my response to a comment below, I am reminded of some words from Tom Kyte who said, “The more you do, the more people want you to do!” 🙂

Visibility vs Results

If you speak to my colleagues you will know one of my regular topics of conversation at meetings is the “judgement of worth” within the company. I get quite annoyed when I see people who I believe are adding value, but always seem to get ignored, while others who talk a great talk, but ultimately can’t walk the walk, seem to catch all the breaks. It seems visibility is more important than getting results these days.

One of my colleagues sent me a link to this article and it really sums up what I keep saying.

I’ve spent the last 18 years telling the internet what I think, so I couldn’t deny a tendency for self-promotion, but I like to think I can actually deliver, not just talk about it! Of course, you will never really know unless you work with me, and that’s the point. It certainly seems people believe what they are told, regardless of whether there is any factual basis to it.

So what should you do? Well in my opinion, maybe this is a start.

  1. Actually learn your subject in the first place. I hope your aim isn’t to be one of these creeps. I hope your aim is to continuously improve and deserve any good breaks you get.
  2. Learn to speak about your subject in a clear, concise and professional manner. Don’t sit there silently, then blame the world for being unfair. The world is unfair! Deal with it! Make a positive change! If you need some pointers, I’ve written some public speaking tips here.
  3. Learn to write in a clear, concise and professional manner. If you write unintelligible emails, people are going to assume you are dumb. I happen to think blogging is a good way to improve your writing skills. I’ve written some pointers about blogging here. Ultimately, it doesn’t matter how you get there, but you must be able to make yourself understood.
  4. Don’t let other people take the credit for what you do. I’m not suggesting you write an email to the CEO every time you deploy an application, but by the same token, don’t let someone else stand up and take the credit you deserve, especially if it’s because you are too scared to actually stand up and speak for yourself, and instead rely on others to present your work.
  5. For the bosses out there, try to start judging people by actual results, rather than by what they say they can/have done.

I realise I sound kind-of narky in this post, but I think it’s really important. It really gets on my nerves when I see people taking the credit for other people’s work, and I’m equally annoyed when I see other people letting it happen.

I’m not suggesting you bully the perpetrators, or make a big show of the situation. Just don’t give them the opportunity to steal your moment in the sun!

Good luck folks!

Cheers

Tim…

PS. The wife said something in a Facebook comment that reminded me of something I wanted to say. I regularly get accused of name dropping, because I say things like, “I was chatting with X, and they said…”. This isn’t me trying to brag about all the “famous” people I know. It’s because I don’t want to come over as having these ideas for myself. I’m going to name-check people, even if you think it makes me look like I’m bragging, because they deserve the credit for their work and their ideas. If they tell me the origin of their idea, I’ll say, “I spoke to X, who said they heard Y say…”. Sorry if this annoys you personally, or you want to make a negative judgement about why I do it, but I think it matters…

Oracle Code : Paris 2018

Oracle Code : Paris started with a short walk from the hotel to the venue. After signing in it all began…

The first session of the day was a keynote by Lonneke Dikmans called “What Happened to My Order? The Need for Orchestration in Modern Architectures”, comparing BPEL orchestrations with orchestrations and choreography used in microservices and serverless architectures. It was a really good introduction to the concepts.

Next up was James Allerton-Austin with “Building a Chatbot Front-end for Blockchain Transactions and Serverless Functions APIs”, which included a description of the stack offered by Oracle and a demo of selling Larry’s car. During this session there were also brief stints by Karim Zein and JeanMarc Hui Bon Hoa.

From there I went to the speaker room and started to feel decidedly odd. I sometimes get migraines that don’t give me a headache, but make me feel dizzy and nauseous. The following couple of hours were mostly lying on the floor and going to the toilets to puke.

I did pop in to see “Build a Decentralized Blockchain Application with Hyperledger Fabric and Composer” by Robert van Mölken, hoping it would distract me.

I also popped my head in to Women in Technology (WIT) session to see what the turnout was like. It was very busy. It was in French, so I could understand what was going on. 🙂

After that I went back to the speaker room floor, then before I knew it, it was time for my session, but not before another conversation with the toilet bowl…

Adrenalin is a wonderful drug. I warned the audience I might have to leave suddenly, but I managed to get through my session without any major problems. I lost the internet connection a couple of times, and had to reconnect to my 18c DBaaS instance on Oracle Cloud. The new laptop behaved itself though. Once my talk was over the Adrenalin started to subside and I felt worse again, but not as bad as before. I was sitting still and chatting to some of the folks in the speaker room for the rest of the afternoon, and I only remember puking once more after my sessions, which was an improvement…

Pretty soon it was time to leave for the airport and Oracle Code : Paris was over for me. Thanks everyone for making it happen. Sorry I wasn’t able to participate more. This year’s conference curse seems to be continuing.

I’ll write about the journey home in a separate post as that is already proving “interesting”, in a conference curse style… 🙂

Cheers

Tim…

It’s all about focus! (Work In Process – WIP)

When I’m in airports I do a lot of people watching. One thing I notice is a total lack of focus in some people.

In the airport I have several distinct goals.

  • Get through check-in and/or bag drop as required.
  • Get through security.
  • Identify my boarding gate if it is already displayed.
  • If my boarding gate is listed, get to it to make sure I know where it is and how long it takes to get to it, so if I have time to wander off I’m not going to get into trouble later.

Only once these tasks are complete can I relax and while away the time. Now I understand things can get complicated when people are having to sheppard young children, but I see lots of single adults, or couples that seem unable to focus on the task at hand…

As an example I recently witnessed someone being asked the same question three times before answering it. At this point you might be thinking it was because they were hard of hearing, or maybe struggling with the accent. Although that could be true, what I could see was they were not looking at the person dealing with them. Their attention was elsewhere, rather than focusing on the task at hand. This drives me crazy. You are asking for help, so pay attention you flippin’ idiot!

There are lots of characteristics that can be attributed to successful people, but I would suggest one of them has got to be the ability to focus. Being able to shut out everything else and focus on the task at hand is really important. You think you are good at multitasking, but you aren’t. It’s a lie. Sure, you can to some extent multitask mindless operations, but anything that needs proper concentration is single-threaded. By attempting to multitask all you are doing is performing substandard work. It takes time to switch between tasks, so when you think you are just checking your twitter messages, you are actually wasting significantly more time… I notice a big difference in my productivity when I’m working from home, because home is really boring, with very few distractions. In contrast the office is full of people that just want a “quick chat” about something, me included. 🙂

One of the principles of agile development is to control Work in Process/Progress (WIP). This is important because it allows you to focus on a single task (user story or story point) and get it done and out of way, before moving on to the next thing on the list (or kanban board). Since you are only ever focused on the current task, there is no need for context switching during the task. It also has some other benefits…

  • If you are like me, you get a kick out ticking things off a list. This is something I’ve done for years, before I heard of kanban. Something like a kanban board just adds visibility to something you are probably doing anyway.
  • It’s easier to judge progress on large pieces of work if it is broken into steps.
  • Assuming the work moves to production in stages and can be made visible to the users, the users can see it happening too. This is important on long running projects where it’s easy to look like you’ve disappeared for 6 months before the finished product arrives.

There will always be some interruptions, like high priority incidents, but removing all but the essential distractions has a massive impact on productivity. This doesn’t have to be controlled by others and imposed on you. The trick is for you to be disciplined about when you do things. If you can’t live without checking social media, fine. Just do it between tasks, not during a task. If you are already switching between the end of one task and the start of the next, you are already having a mental context switch, so the impact is much reduced compared to checking in the middle of a task. I don’t agree with companies trying to turn workers into mindless drones, but at the same time it is your duty not to waste time you are being paid for.

Most importantly, never stand in front of me in a queue and ignore the person on the desk who is trying to help you, or I’ll write a rambling blog post about you! 🙂

Cheers

Tim…

Oracle Code : Warsaw – The Journey Home

I woke up at silly o’clock to begin my journey home. I checked out of the hotel and got a taxi to the airport, where I breezed through check-in and security and found myself at the boarding gate 2 hours before the flight. Another hour in bed would have been nice… 🙂

As usual, out came the laptop and I played catch-up on the blog and some of the other stuff I had missed during the conference.

The flight from Warsaw to Frankfurt was a little under 2 hours. I don’t think I’ve flown with LOT before, and it was quite a nice experience. The plane had a clean and modern interior with power sockets at every seat, which was cool. I didn’t have an aisle seat, but the flight wasn’t full, so I was able to move to one. 🙂

I had a 90 minutes stop over at Frankfurt, before starting the hour flight home to Birmingham. That fine was easy, even though I had a window seat.

A quick taxi ride home and Oracle Code : Warsaw was complete.

Thanks to the Oracle Code crew for inviting me to the event, and to the Oracle Developer Champion and Oracle ACE Programs for making this possible for me. Most importantly, thank to the attendees and speakers for coming to the event and making it all happen!

The posts for this event were:

Cheers

Tim…

Happy Holidays!

Just a quick message to say happy holidays!

I was going to include a suitable wintry scene, then realised that would be discriminating against my southern hemisphere brothers and sisters, so I went for a hybrid. Look out of your window and select the half of the image that seems most appropriate to you…

Just so you know, neither of these looks very much like Birmingham… 🙂

Anyway, I hope 2017 was good for you and I hope 2018 will be a great one for you!

Cheers

Tim…

OUG Ireland 2017 : Day 2

I got up a little after 08:30, which was a bit of a surprise, and headed down for breakfast, where a met a bunch of other speakers.

By the time I got showered, changed and checked out of the hotel I had missed the first session of the day (sorry). The first session I went to was the wife presenting “PaaS4SaaS”. I know what you are thinking, and yes I could do this presentation as I’ve seen it so many times. 🙂

Next up was Francesco Tisiot with “What a Successful OBIEE 12c Upgrade Project Looks Like – Customer Case Study (Liberty Global)”. As mentioned before, I don’t work with OBIEE, but some people I work with do now, so I like to keep my ear to the ground. It is also looking like I will be looking after some of their infrastructure, so this session was really useful to me, just because of the additional context it gave me.

After Francesco’s session there was a vendor awareness session, lunch, chatting (networking), then it was back to the sessions.

Next up was Roel Hartman with “The Quest for the Little Gems in APEX 5.1”. Having introduced the headline features of APEX 5.1, he switched to speaking about some of the less well publicized cool features. Things like font APEX, button builder, live template options, improved dynamic actions, new PL/SQL APIs, theme styles and more. Cool!

I missed the next session as I was logged in to work, trying to catch up on some stuff. By the time I finished that I was a little late for Alex Nuijten presenting “Structuring an APEX Application”. I’m not sure how happy most APEX developers would be with some of the stuff Alex was suggesting, but I think it’s perfect, probably because we both came to APEX after spending years as PL/SQL developers. Listening to some of his structural approach reminded me of this. 🙂

The final session was “Question Time with ACEs & Ask Tom’s Chris Saxon and Maria Colgan”. The actual list of panelists was Chris Saxon, Martin Widlake, Joze Senegacnik, Neil Chandler, Alex Nuijten, Oren Nakdimon and Maria Colgan. I should not be allowed in panel sessions, whether I am on the panel or not. I have no off switch. It was a really funny session. Don’t mess with Maria! 🙂

And that was it for the OUG Ireland 2017… I’ll write a wrap-up post with all the usual thank you messages when I get home, but for today I would just like to say thank you to everyone for a great time!

After the last session I hung around in the hotel bar for a while having a chat with some of the folks, then it was time to head home, but that’s another blog post… 🙂

Cheers

Tim…