Why being wrong can be awesome

OK, Now that I’ve started the post with a nice click-bait heading, let’s get down to the business of being wrong. Smile

I did a lot of conference presentations last year, and the great thing about that for me was that I got to meet a lot of new people in the Oracle community in the Developer and DBA space. One of the questions that came up over and over again was about putting one’s knowledge “out there” in the community and how to deal with the repercussions of that.  In particular, “What if you publish something that is proven wrong?”

Here’s the thing about being wrong …. there’s two likely outcomes:

  • Someone tells you that you are wrong, or
  • You never know that you’re wrong and you wallow about in flawed darkness for all eternity.

Which would you prefer ? Smile

This is really all about perception from both the blogger and the reader, and the way they behave.

If you are the reader and you find something that is incorrect, you have choices:

  • Absolutely go ballistic on the author via comments, insult their intelligence, tell them how much smarter than them you are, and that they should never have been born, or
  • Initiate a reasoned discussion about where the errors might be, how the author may have come to that point, discuss boundary conditions and both leave the discussion more knowledgeable as a result.

Rest assured, if you take the former position, no amount of smarts is going outweigh the public reputation you’ve just acquired as being a schmuck.

And similarly, as an author of content, when someone points out an error you can:

  • take it in good faith, and work toward improving your knowledge by investigating further and collaborating with the person who discovered it, or
  • just deny it, and lose your mind at them and denigrate them so that you don’t lose your fine public standing.

If you do the latter….guess what you just lost?  Yup, your fine public standing.

And here’s the thing. Even if the person pointing out the error is indeed lacking the basic skills of civility, and is demonstrating their “schmucky-ness” all over your blog, just put that aside and focus on improving the content.  Other readers will pick up on this, and they’ll value your contribution to the community much more than Joe Schmuck.  They’ll be “red flagged” in the minds of the community as “one of those members that just isn’t worth the time of day”.

And if you’re wondering what the motivation for this post is – just this morning on an AskTOM answer, one of the Product Managers inside Oracle reached out to me and said “Hey Connor – I don’t think that answer is completely correct” and gave some me some additional content about the cause, and how to improve the answer.  The net result of that:

  • I learn some new stuff!
  • The community gets better content from AskTOM!
  • I make a new contact within the Oracle organization!

So don’t ever let being wrong stop you from contributing to the community.  It’s the best way of improving yourself and the community as well.

Idle banter

When your car gets a flat tyre, it’s always handy to have a spare.  We do the same with the database Smile


SQL> select
  2    x.ksppinm  name
  3  from
  4    sys.x$ksppi  x,
  5    sys.x$ksppcv2  y
  6  where
  7    x.inst_id = userenv('Instance') and
  8    y.inst_id = userenv('Instance') and
  9    x.indx+1 = y.kspftctxpn and
 10    x.ksppinm like '%spare%parameter%';

NAME
--------------------------------------------------------------------------------
_first_spare_parameter
_second_spare_parameter
_third_spare_parameter
_fourth_spare_parameter
_fifth_spare_parameter
_sixth_spare_parameter
_seventh_spare_parameter
_eighth_spare_parameter
_ninth_spare_parameter
_tenth_spare_parameter
_eleventh_spare_parameter
_twelfth_spare_parameter
_thirteenth_spare_parameter
_fourteenth_spare_parameter
_fifteenth_spare_parameter
_sixteenth_spare_parameter
_seventeenth_spare_parameter
_eighteenth_spare_parameter
_nineteenth_spare_parameter
_twentieth_spare_parameter
_twenty-first_spare_parameter
_twenty-second_spare_parameter
_twenty-third_spare_parameter
_twenty-fourth_spare_parameter
_twenty-fifth_spare_parameter
_twenty-sixth_spare_parameter
_twenty-seventh_spare_parameter
_twenty-eighth_spare_parameter
_twenty-ninth_spare_parameter
_thirtieth_spare_parameter
_thirty-first_spare_parameter
_thirty-second_spare_parameter
_thirty-third_spare_parameter
_thirty-fourth_spare_parameter
_thirty-fifth_spare_parameter
_thirty-sixth_spare_parameter
_thirty-seventh_spare_parameter
_thirty-eighth_spare_parameter
_thirty-ninth_spare_parameter
_fortieth_spare_parameter
_forty-first_spare_parameter
_forty-second_spare_parameter
_forty-third_spare_parameter
_forty-fourth_spare_parameter
_forty-fifth_spare_parameter
_forty-sixth_spare_parameter
_forty-seventh_spare_parameter
_forty-eighth_spare_parameter
_forty-ninth_spare_parameter
_fiftieth_spare_parameter
_fifty-first_spare_parameter
_fifty-second_spare_parameter
_fifty-third_spare_parameter
_fifty-fourth_spare_parameter
_fifty-fifth_spare_parameter
_fifty-sixth_spare_parameter
_fifty-seventh_spare_parameter
_fifty-eighth_spare_parameter
_fifty-ninth_spare_parameter
_sixtieth_spare_parameter
_sixty-first_spare_parameter
_sixty-second_spare_parameter
_sixty-third_spare_parameter
_sixty-fourth_spare_parameter
_sixty-fifth_spare_parameter
_sixty-sixth_spare_parameter
_sixty-seventh_spare_parameter
_sixty-eighth_spare_parameter
_sixty-ninth_spare_parameter
_seventieth_spare_parameter
_seventy-first_spare_parameter
_seventy-second_spare_parameter
_seventy-third_spare_parameter
_seventy-fourth_spare_parameter
_seventy-fifth_spare_parameter
_seventy-sixth_spare_parameter
_seventy-seventh_spare_parameter
_seventy-eighth_spare_parameter
_seventy-ninth_spare_parameter
_eightieth_spare_parameter
_eighty-first_spare_parameter
_eighty-second_spare_parameter
_eighty-third_spare_parameter
_eighty-fourth_spare_parameter
_eighty-fifth_spare_parameter
_eighty-sixth_spare_parameter
_eighty-seventh_spare_parameter
_eighty-eighth_spare_parameter
_eighty-ninth_spare_parameter
_ninetieth_spare_parameter
_ninety-first_spare_parameter
_ninety-second_spare_parameter
_ninety-third_spare_parameter
_ninety-fourth_spare_parameter
_ninety-fifth_spare_parameter
_ninety-sixth_spare_parameter
_ninety-seventh_spare_parameter
_ninety-eighth_spare_parameter
_ninety-ninth_spare_parameter
_one-hundredth_spare_parameter
_one-hundred-and-first_spare_parameter
_one-hundred-and-second_spare_parameter
_one-hundred-and-third_spare_parameter
_one-hundred-and-fourth_spare_parameter
_one-hundred-and-fifth_spare_parameter
_one-hundred-and-sixth_spare_parameter
_one-hundred-and-seventh_spare_parameter
_one-hundred-and-eighth_spare_parameter
_one-hundred-and-ninth_spare_parameter
_one-hundred-and-tenth_spare_parameter
_one-hundred-and-eleventh_spare_parameter
_one-hundred-and-twelfth_spare_parameter
_one-hundred-and-thirteenth_spare_parameter
_one-hundred-and-fourteenth_spare_parameter
_one-hundred-and-fifteenth_spare_parameter
_one-hundred-and-sixteenth_spare_parameter
_one-hundred-and-seventeenth_spare_parameter
_one-hundred-and-eighteenth_spare_parameter
_one-hundred-and-nineteenth_spare_parameter
_one-hundred-and-twentieth_spare_parameter
_one-hundred-and-twenty-first_spare_parameter
_one-hundred-and-twenty-second_spare_parameter
_one-hundred-and-twenty-third_spare_parameter
_one-hundred-and-twenty-fourth_spare_parameter
_one-hundred-and-twenty-fifth_spare_parameter
_one-hundred-and-twenty-sixth_spare_parameter
_one-hundred-and-twenty-seventh_spare_parameter
_one-hundred-and-twenty-eighth_spare_parameter
_one-hundred-and-twenty-ninth_spare_parameter
_one-hundred-and-thirtieth_spare_parameter
_one-hundred-and-thirty-first_spare_parameter
_one-hundred-and-thirty-second_spare_parameter
_one-hundred-and-thirty-third_spare_parameter
_one-hundred-and-thirty-fourth_spare_parameter
_one-hundred-and-thirty-fifth_spare_parameter
_one-hundred-and-thirty-sixth_spare_parameter
_one-hundred-and-thirty-seventh_spare_parameter
_one-hundred-and-thirty-eighth_spare_parameter
_one-hundred-and-thirty-ninth_spare_parameter
_one-hundred-and-fortieth_spare_parameter
_one-hundred-and-forty-first_spare_parameter
_one-hundred-and-forty-second_spare_parameter
_one-hundred-and-forty-third_spare_parameter
_one-hundred-and-forty-fourth_spare_parameter
_one-hundred-and-forty-fifth_spare_parameter
_one-hundred-and-forty-sixth_spare_parameter
_one-hundred-and-forty-seventh_spare_parameter
_one-hundred-and-forty-eighth_spare_parameter
_one-hundred-and-forty-ninth_spare_parameter
_one-hundred-and-fiftieth_spare_parameter
_one-hundred-and-fifty-first_spare_parameter
_one-hundred-and-fifty-second_spare_parameter
_one-hundred-and-fifty-third_spare_parameter
_one-hundred-and-fifty-fourth_spare_parameter
_one-hundred-and-fifty-fifth_spare_parameter
_one-hundred-and-fifty-sixth_spare_parameter
_one-hundred-and-fifty-seventh_spare_parameter
_one-hundred-and-fifty-eighth_spare_parameter
_one-hundred-and-fifty-ninth_spare_parameter
_one-hundred-and-sixtieth_spare_parameter
_one-hundred-and-sixty-first_spare_parameter
_one-hundred-and-sixty-second_spare_parameter
_one-hundred-and-sixty-third_spare_parameter
_one-hundred-and-sixty-fourth_spare_parameter
_one-hundred-and-sixty-fifth_spare_parameter
_one-hundred-and-sixty-sixth_spare_parameter
_one-hundred-and-sixty-seventh_spare_parameter
_one-hundred-and-sixty-eighth_spare_parameter
_one-hundred-and-sixty-ninth_spare_parameter
_one-hundred-and-seventieth_spare_parameter
_one-hundred-and-seventy-first_spare_parameter
_one-hundred-and-seventy-second_spare_parameter
_one-hundred-and-seventy-third_spare_parameter
_one-hundred-and-seventy-fourth_spare_parameter
_one-hundred-and-seventy-fifth_spare_parameter
_one-hundred-and-seventy-sixth_spare_parameter
_one-hundred-and-seventy-seventh_spare_parameter
_one-hundred-and-seventy-eighth_spare_parameter
_one-hundred-and-seventy-ninth_spare_parameter
_one-hundred-and-eightieth_spare_parameter
_one-hundred-and-eighty-first_spare_parameter
_one-hundred-and-eighty-second_spare_parameter
_one-hundred-and-eighty-third_spare_parameter
_one-hundred-and-eighty-fourth_spare_parameter
_one-hundred-and-eighty-fifth_spare_parameter
_one-hundred-and-eighty-sixth_spare_parameter
_one-hundred-and-eighty-seventh_spare_parameter
_one-hundred-and-eighty-eighth_spare_parameter
_one-hundred-and-eighty-ninth_spare_parameter
_one-hundred-and-ninetieth_spare_parameter
_one-hundred-and-ninety-first_spare_parameter
_one-hundred-and-ninety-second_spare_parameter
_one-hundred-and-ninety-third_spare_parameter
_one-hundred-and-ninety-fourth_spare_parameter
_one-hundred-and-ninety-fifth_spare_parameter
_one-hundred-and-ninety-sixth_spare_parameter
_one-hundred-and-ninety-seventh_spare_parameter
_one-hundred-and-ninety-eighth_spare_parameter
_one-hundred-and-ninety-ninth_spare_parameter
_two-hundredth_spare_parameter
_two-hundred-and-first_spare_parameter
_two-hundred-and-second_spare_parameter
_two-hundred-and-third_spare_parameter
_two-hundred-and-fourth_spare_parameter
_two-hundred-and-fifth_spare_parameter
_two-hundred-and-sixth_spare_parameter
_two-hundred-and-seventh_spare_parameter
_two-hundred-and-eighth_spare_parameter
_two-hundred-and-ninth_spare_parameter
_two-hundred-and-tenth_spare_parameter
_two-hundred-and-eleventh_spare_parameter
_two-hundred-and-twelfth_spare_parameter
_two-hundred-and-thirteenth_spare_parameter
_two-hundred-and-fourteenth_spare_parameter
_two-hundred-and-fifteenth_spare_parameter
_two-hundred-and-sixteenth_spare_parameter
_two-hundred-and-seventeenth_spare_parameter
_two-hundred-and-eighteenth_spare_parameter
_two-hundred-and-nineteenth_spare_parameter
_two-hundred-and-twentieth_spare_parameter
_spare_test_parameter

Standard common sense stuff: Please don’t mess with these (or any) underscore parameter without consulting Support.

Buzzword Bingo

Looking for that catchy title for your next presentation ?

I took the first word from the title of 1000 Oracle OpenWorld presentations, and looked for patterns Smile.  I omitted some obvious terms that are either products or definite/indefinite articles:

  • Oracle
  • Peoplesoft 
  • The
  • How 
  • OAUG
  • General
  • MySQL

And here is what we end up with:


SQL> select buzz, count(*)
  2  from buzz
  3  group by buzz
  4  order by 2 desc;

BUZZ                                                                                                   COUNT(*)
---------------------------------------------------------------------------------------------------- ----------
Building                                                                                                     18
Customers                                                                                                    14
Best                                                                                                         13
Digital                                                                                                      11
Migrating                                                                                                    10
Getting                                                                                                      10
Accelerate                                                                                                    8
Modernize                                                                                                     8
Implementing                                                                                                  7
Data                                                                                                          7
Transforming                                                                                                  6
Extend                                                                                                        6
Identifying                                                                                                   6
Managing                                                                                                      6
Achieving                                                                                                     6
Leveraging                                                                                                    5
Making                                                                                                        5
Creating                                                                                                      4

So there you go…All the verbs and adjectives you need for a successful presentation Smile

OpenWorld 2017–grab ALL of the content

Some people use the session catalog to grab just the presentations that they either attended, or could not attend.

Other people want a download of every available presentation so they can peruse the entire catalog offline at a later date.

I am one of the latter people. Smile

So using some node, javascript, awk, sed, grep I managed to data-mine the catalog page to come up with a list of uploaded presentations in the form:


wget --no-check-certificate -O "SessionTitle".extension "https://static.rainfocus.com/full_path_to_presentation.extension"

which of course can then be run as a batch file to grab them all. Woo hoo !!!

You can download the batch file which contains the 932 download commands here

I can’t make any guarantees the list is complete, or that the script will work without error, but it should be a good starting point, and it will be a lot faster than clicking on each presentation !

If it does not work for you, my apologies.  If it does work for you and saves you a lot of time, just don’t forget that I like beer or gin&tonic next time you see me. Smile

Enjoy !

Oracle Developer Community Appreciation Day

OK, time for some controversy Smile

My ODC appreciation post is about support.oracle.com

Now I’m sure there will people in the community just itching to lose their proverbial about how they lost years of their lives waiting on the support response or similar complaint, and since I work for Oracle, they will be just as keen to jump on the bandwagon and claim that I’m just shilling for the company I work for.

But I’m not denying that our support resource could be better.  Any company’s support resources can be better. 

This post is about the value I get from support.oracle.com when answering questions on asktom.oracle.com.  Yes, there is some out-dated or incorrect content on there, but there is also some awesome content on there.  Many times I find myself quoting MOS notes when providing background information for a question on AskTOM.

So this is my thank you to the people who contribute support notes to MOS.

Because I’m pretty sure it’s a thankless task.

image

My OpenWorld theme song

(With apologies to any Simon & Garfunkel fans out there)

Hello jetlag my old friend,
You’ve come to mess with me again.
The bedside clock is stuck on 10 to 4
And my eyes are just so bloody sore.

The decision to get on that frickin’ plane.
Was just insane.

Suffering …. my jetlag in silence

 

A few gin and tonics tonight and I might even put it to musicSmile