Tuesday 30 November 2010

My thoughts on presenting

When it comes to presenting on Oracle topics, I am by no means a professional, nor would I consider myself an experienced presenter like Penny Cookson or Connor McDonald - in fact the delivery he mustered at this year's conference was outstanding.

I currently have seven presentations under my belt with 13 deliveries. I've experimented with a few different styles in an attempt to find what works best for me.

That being said, I'd like to offer a few words & discoveries to those newer at this to me, or even those considering submitting a presentation for your local event, without sounding like this.

#1 - nobody wants you to fail

Given the feedback and support I received as a new presenter, I immediately got the feeling that people wanted me to succeed.
As an attendee to many a presentation at conferences, branch meetings and other events - I'm sure I share the feeling amongst others that you will the person behind the lectern to succeed regardless of troubles faced.
As a volunteer at AUSOUG conferences, I've overheard conversations and witnessed feedback provided even when a demonstration blue screens at the critical moment - people are on your side.

We are all human, we want our fellow species to succeed in that position that many fear over death.

#2 - write a presentation

It sounds a little silly, but keep an eye out for an idea then start writing one. Do it from the top down - get yourself three main objectives, an agenda, a list of issues to cover, some slide headings... it flows. You don't have to commit yourself to a particular date - although that does help some people. However, once you have one in the bag, more ideas come from a variety of sources.
After years of looking procrastinating, now I've always got a handful of topic ideas that I'd love the time to investigate and write. If you're struggling to think of anything, look through past conference programs or have a look here - Tom Kyte started a discussion on it.
Stick with topics that interest you, because ultimately you will know these topics very well and that knowledge will enhance your career, either through product knowledge for your job or prospective clients witnessing your skills. Once again, I think Seth pretty much nails it.

Once you have it in the back of your mind, it's amazing where topic ideas come from.

#3 - be prepared

I'm not sure I can emphasize enough the importance of this one. I think Connor did the same when he was providing advice before my first session. I said above that people are ultimately there for the content - and if that isn't up to scratch, what do you have left? Your charm and charisma? We does that get car salesmen?

So what does it mean to be prepared? Ultimately, I think it means you must know your content. You must be able to rationalise a question and construct a response based on your understanding of the fundamentals, not just regurgitate a crammed fact. We all learnt from this mistake in high school. Sometimes with bleeding edge content you won't know information, or if the question borders the scope of your presentation. Then you just need the confidence to say "I don't know", then carry on further to say it would be good to investigate, or offer a way to potentially test the issue. That comes from understanding.

Preparation should also relate to any demonstrations you may have. Rule 1 - always have representations of your demo in slide form, you never know what's going to happen on the day. If you repeat the presentation one day, it will also be a nice reminder of how things were meant to happen. You can also use it to post your presentation on the net.

It's also a good idea to ensure your demonstrations are repeatable. Just like your polished production-level scripts, it's a good idea to have a test case that will clean itself up and be able to execute it more than once. People may like to see that example shown again. You don't want flaky demonstrations because it's difficult to think on the fly if something goes wrong.

Have a trial run at home. Present your slides to your wall/pet/partner/colleague - whatever works. Do it in front of a mirror to see your mannerisms and see if you move too much. Make sure you're speaking fluently, know what words you want to use. Make sure the slides flow and make sense together. Be consistent and make most of the clicking change the actual slides and limit internal events, you may forget they exist.

Connor gave me a rule of thumb and suggested you know the content of the next 2-3 slides. I noticed in Chris Muir's recent effort he had little grey text in the bottom corner to prompt what the next slide was about.

At the end of the day, the audience will know the difference between someone who has put the effort in and understands their content vs a fraud who is stumbling their way over plagiarised content.

#4 - simplify content

What do you want to see in a presentation? Nitty gritty detail that will one day serve as a reference item, or a bunch of ideas that you can use to add to your own repository of creativity?

I have been trying to limit the amount of code in my developer-based presentations. Nobody coming out of the seminar will remember code detail, but they'll remember the key ideas or words that they can look up during their own research that they will have to do regardless so they can apply it to their scenario.

My latest presentation was a bunch of simple concepts with perhaps the odd coding example that provides a starting point to a solution. It would be difficult to create and convey a bunch of case studies to attendees if you're trying to offer a decent amount of information without causing confusion.

Limit ideas/concepts per slide.

#5 - beware scope creep

After a while I noticed that 40 minutes to get your presentation out turns out to be a short amount of time. When I was in school I would think that even 20 minutes for a report felt like an eternity. I now need to ensure I stay focused on certain goals and not introduce too much semi-relevant information.

Phil Winstanley concisely covers some key tips in his 24 slides on good presenting. Slide 18 on structuring your presentation shows what I agree is key to avoiding scope creep.

- Key message
- Define the problem
- Benefits of solving the problem
- Proposed solution
- Reinforce key message
- Conclude and close

Information can be quite evenly shared over these points as well - it doesn't need to be all about the proposed solution. Everyone also needs to understand how to identify the problem and what the benefits would be if we tackled it.

Having a key message at the start helps put everything into perspective. Provide the big picture before attempting to describe the detail. Think about how you may wish this information presented to yourself. Sometimes it makes me feel better knowing that I've given the audience key objectives to keep pondering.

Think different. Your key message doesn't need to be displayed as an agenda slide.

#6 - get a hand-held presenter

This is the one I have, but companies like Logitech are always releasing snazzy new ones. Having a presenter will give you the flexibility to walk away from your laptop (or other device that does the job these days). I think the presenting style demonstrated by Dick Hardt was damaged by being chained to the laptop.
Beyond the obvious advantage of having a laser pointer, these devices allow you to step forward & back through the slides when you are ready. Mine also has a setting that allows me to set a timer, and it will vibrate five minutes before the end - a good cue for winding up.
Just limit the movement of the laser dot - just imagine what your pet would do with it zipping around the screen everywhere!

Having freedom to walk away from the laptop may help settle your nerves.

#7 - identify 2-4 people around the room to alternate your attention

I find that if my eyes focus on just a handful of people as I speak and wander about, I limit the amount of distractions I face and stop myself from getting dizzy. I also find these people a gauge on how the talk is going - whether I need to up the pace or concentrate on certain slides.
Don't make it a hard & fast rule that it will always be people sitting in the four corners - you won't always have people sitting in these locations and you kinda want to avoid the habitual sleeper. I also tend to avoid those of a particular authority as they can add undesired & unwarranted pressure.
I also don't agree with trying to imagine people naked - I'm sure that's just an old wive's tale. I prefer to think I'm just talking amongst friends.

This will ultimately limit your movements and allow people to focus more on what you have to show & say.

#8 - body language

Your body speaks a thousand words. It is often said that if aliens came to observe us, they would think the majority of our communication is non-auditory. I think this site explains my thoughts well. I let my enthusiasm for my topic (as nerdy as some people say it makes me) steer the ship when it comes to my movements, and that also seems to assist audience enjoyment and satisfaction - if I'm coming across happy, it's hard to ignore that contagion. Trouble is, with that I always forget to pause - I'm still learning the best time to throw pauses in. I've seen good presenters do it at the perfect moments, I'm still working on that skill.

Speak with the confidence that you believe what you're saying.

#9 - they are there for the content

At the end of the day, if your slides aren't projecting well; if you have an accent foreign to the majority; or your demo just isn't playing ball - people want quality verbal/visual content. If at least one of these succeeds, you've probably made your mark.

The rest will probably come with practice and experience.

**

No doubt over the months & years these thoughts will change and evolve into something else, but it's where I stand right now.

At the end of the day one may ask, why present? For starters, as an example, it helped provide me the opportunity to work for Penny in a job that suits me perfectly. You never know the opportunities it might present. You also gain thorough knowledge of your chosen topic - a skill that won't go astray in your day-to-day job. So there's two-three good examples straight off the bat.

I hope I've provided at least something to think about, so you can go away an adapt to your own style and scenario. No doubt some of the suggestions here may not fit the type of information you need to get across. For me they've worked for semi-technical Oracle developer information.

I'll leave this with another site I might start sinking my teeth into:
http://speakingaboutpresenting.com/

ScottWe

Ubuntu, here I come...

For many many years, I've promised myself I would learn a flavour of Linux. After suffering some more Windows pain yesterday, a few contacts suggested Ubuntu, which has been on my short-list for a while.

I have my old laptop which has been a bit of a trusty work-horse (except for the frequent blue-screens), so it's now dual-booting into Ubuntu 10.10 - in fact I'm writing this post via Ubuntu!

First impressions - wow. While I can see the learning curve will be a little steep at times, it seems that releases such as Ubuntu have reached a level of maturity that will hopefully see a larger uptake from professionals around the world - particularly (I suspect) from University students whose brain will be like a sponge.

I may liken it a little to all the benefits of the simplicity of an iPhone, with the flexibility of an Android - let's hope that stays true.

I'm in the process of attempting to install Oracle 11gR2 with the following instructions (thanks Pythian). I've come across my first of many hurdles...

In the meantime, I'm downloading the Debian package for OracleXE, see if that's a little easier for my baby teeth to bite into.

I've registered for the Ubuntu forums, and will always welcome further advice.

ScottWe

Monday 29 November 2010

SAGE 2010 AUSOUG Conference presentations available

To all those that requested or are interested in our presentations from the AUSOUG conference, all five are now available on the SAGE website - click on the New! 2010 Presentations link.

As for all other presentations, the AUSOUG committee are in the process of chasing down those we did not obtain and with any luck, should be available on the AUSOUG website before the next conference.

You may even find some on the websites of the respective presenters. Big names such as Steven Feuerstein and Tom Kyte always have their's available on-line. However for presentations such as Guy Harrison's keynote & Connor McDonald's 350+ slide masterpiece - you're never going to get the same value reading it as being there - their delivery was impeccable.

Truth be told, the WA state committee has gathered fresh and keen members this year, and we are pushing hard to make dramatic improvements to the design and functionality of the site. During the AGM, it was mentioned that around March 2011 should see the fruition of this change.

On top of website changes, we have received good feedback from the conference this year and we have plenty of changes and improvements in mind for next year to make it more exciting. I look forward to how many of these improvements we can fit in, and 2012 should be even better!

One of these changes is to ensure we get better attendance for the AGM, since we would like to better serve and provide for our members. This means we will try to schedule it so it's not the same time the drinks & nibblies come out ;-)

If you have something to contribute, or a super idea to suggest - you don't even have to until then, contact the committee today.

This should be my last user group related post this year, back to normal Oracle blogging now. If I don't see you at the end of year function (8th Dec @ Rosemount Bowl), I may see you at our first event next year which will be a breakfast in February, if I'm not mistaken.

ScottWe

Tuesday 23 November 2010

Sage AUSOUG Conference photo

Our entire team in our snazzy new tops on day one of the conference.

Shame our camera man had an unsteady hand on a smart phone...


From left to right: Chris Muir, Kylie Payne, Scott Wesley (me), Kate Marshall, Penny Cookson (our illustrious leader), Branka Njegich, Eddie Harris, Ray Tindall.

Thursday 18 November 2010

Advert: SAGE Computing Services Training - Apex 4.0 Workshops

SAGE Computing Services are featuring two training workshops early next month, not long after the AUSOUG conference.

December 6th - Oracle Application Express 4.0 New Features Workshop
This 
course is designed to familiarize current Application Express developers with the exciting new features in Apex 4.0. Topics will include the changes in the interface, new client events, tabular form enhancements, web sheets and team development.

December 8th - 10th - Application Express 4.0 Workshop
If you're looking to get involved with 
Apex, this course provide you with the skills and knowledge required to develop a complete application with the latest release of Oracle’s Application Express 4.0 product. You will develop web interfaces including forms, reports and charts, add validation and customise the formatting to create a small application.

Visit our training web page for more information about our extensive course catalogue. Follow through to the contact us details page. We look forward to hearing from you soon.

Scott Wesley & the team at SAGE Computing Services.
I'm sure Penny, Eddie, Kate, Chris, Branka, Kylie & Ray would like you all to enjoy summer (or winter/wet/dry), and have a great new year!


Final days before the 2010 AUSOUG conference

This blog has been a little neglected as I've been a busy little bee recently, mainly fretting about getting my presentation completed for next week's Australian Oracle User Group Conference - AUSOUG 2020. I have plenty of ideas lined up for post topics, so I should be more active come the next few weeks.

As for the conference, SAGE Computing Services (my employer) will have an exhibition booth, so why don't you come by and say hello to our team. We will have a few things to give away plus some prizes to win - but make sure you bring your thinking caps because we're going to make you work for them!

I'll be joining the rest of the user group committee in Burswood on Sunday night just to make sure everything is good to go - including perhaps that I did the right thing setting up for a wide-screen projector. We should have a good turn out, although humbling in comparison to some of the overseas gigs, I hear.

Some of us are scheduled to present:
  • Penny Cookson - Meet the CBO in Version 11g
    • 11:30am 22nd Nov 2010
  • Scott Wesley - 'n' methods to improve Apex performance
    • 3:15pm 22nd Nov 2010
  • Ray Tindall - Active Directory Integration - AD, WLS & ADF in Harmony
    • 9:45pm 23rd Nov 2010
  • Chris Muir - A change is as good as a REST: JDeveloper 11g's REST web services
    • 11:00am 23rd Nov 2010
  • Penny Cookson - A Path to the Future for Dinosaur Nerds: JDeveloper ADF - A Mind Map for Forms Developers
    • 3:45pm 23rd Nov 2010
The conference program can be subject to change, so check on the day to ensure you don't miss out!

So unless the schedule's changed on me, I'll probably be at the following sessions:

  • Steven Feuerstein - Golden Rules for Developers
  • Penny Cookson - Meet the CBO in Version 11g
  • Howard Ong - Make your legacy application live forever
  • Scott Wesley (won't want to miss this one!) - Apex Performance
  • Jeff Kemp - Oracle Apex Themes and Templates
    • (but sorry Jeff, I may find myself at Mogens Nørgaard - Oracle Licencing)
  • Damien Bootsma - Database performance made easy
  • Tom Kyte - The Best Way
  • Stuart Long Keynote - Cloud Services Automation (CSA)
  • Guy Harrison Keynote - Technology trends impacting Oracle professionals
  • Connor McDonald - Managing optimiser statistics
  • Frank Bommarito - Outlines, Profiles, SQL Plan Baselines

Yes, my selection is very much weighted towards Oracle performance this year. Nothing wrong with having a theme...

Please do come by our booth if you are also after training information, we train around Australia all year round and cover a wide range of Oracle topics. We can also customise the content to suit your organisation - talk to us to find out more. If you can make it to the conference, contact us on-line.

For you conference goers, if I don't see you anywhere amongst all of that, no doubt we'll all be with a beer at the welcome reception from 5pm (oh, I'll be at the AUSOUG AGM first - save me some beer)

Speakers, committee members, exhibitors et al. - listen out for details regarding dinner on Tuesday night, it's always a great night. I may be there... but it's my & Tracey's first wedding anniversary that day ;-)

ScottWe




Friday 5 November 2010

Quoting inside literal strings

Well some of you may have noticed my slight boo-boo yesterday. I had made some notes on a blog post I planned to finish later, and accidentally published instead of just saving to continue later - so here's my second attempt ;-)

What I found funny, was the post was about exactly what Steven Feuerstein implemented for yesterdays (4/11/2010) PL/SQL Challenge - embedding quotes in literals.

I was reminded of it recently while searching for something - I can't remember what for, but I came across this forum entry: http://database.itags.org/oracle/81577/

I used what I thought an interesting method for adding single quotes to strings - interesting I suppose because I've never used this method before:
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT=' || chr(39)||'DD.MM.YYYY'||chr(39);

The single row function CHR() will return the character equivalent to the numeric passed, in my case the ASCII character for single quotes. I the past I've mainly used CHR to provide my line feeds and carriage returns. (chr(10 & chr(13) respectively)

The author used this method because inserting a single quote in a normal string means you need to escape it, and this sometimes looks ugly or difficult to interpret:
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT='''DD.MM.YYYY''';

Oracle 10g introduced a method often called q-quote notation, further information can be found in the SQL Reference documentation here.

This format basically allows you to type the string as you would normally expect to see it, so the following example would display everything between the brackets [ ]
q'[ this isn't my string, is it? ]'

Which would mean our previous example would look like:
EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YYYY']';

Of course, as the documentation describes, you don't need to use those particular brackets. For a while I thought the brackets had to be curly { }, which was frustrating because it became annoying to type. Until recently, I wasn't aware you could go beyond any form of brackets and use any character - as long as it matched up. Lucky, considering yesterday's PL/SQL Challenge did just that!

I found it uncanny, since the list of examples I had lined up for this post was very similar to Steven's list - these will all produce the same result - Hello Scott's computer:

select 'Hello Scott''s computer' hello from dual; 

select 'Hello Scott'||chr(39)||'s computer' hello from dual; 

select q'[Hello Scott's computer]' hello from dual;
select q'{Hello Scott's computer}' hello from dual;
select q'<Hello Scott's computer>' hello from dual;
select q'(Hello Scott's computer)' hello from dual;
select q'"Hello Scott's computer"' hello from dual;
select q'sHello Scott's computers' hello from dual;

So I would suggest choose a combination of brackets that makes sense to you - probably not the last example since it's not that intuitive.

Someone asked me what the point of this particular notation was. I've found it very handy in the past for a number of reasons, but it probably still depends on what your brain is used to seeing (I'm still quite happy using DECODE over CASE, for instance)

For example, when it comes to replacing quotes with double quotes, an exercise I did for something long ago, I can either write it as this complicated list of quotes:
with mine as (select q'[Hello Scott's computer]' hello from dual)
select replace(hello, '''', '"') from mine;

Or make it a little more elegant. This is still probably a weak example, but I've seen a horrible list of quotes in my time that took a while for me to count and realise what was doing what.
with mine as (select q'[Hello Scott's computer]' hello from dual)
select replace(hello, q'[']', '"') from mine;


And then there is the case of large dynamic SQL. It truly is horrible to have to apply two single quotes every time a quote is required, particularly when you're conditionally concatenating certain clauses; and want to just copy and paste the query directly in your GUI to test without replacing all the quotes again.
Here is a basic example of how a small bit of dynamic SQL could become much more readable with the q-quote notation:
declare
  my_string varchar2(100);
begin
  execute immediate q'(select dummy from dual where dummy = 'X')'
  into my_string;
end;
/

I think this PL/SQL challenge has turned out to be a great boon for Oracle developers worldwide. You may be quite a proficient PL/SQL programmer, but not everyone has had the opportunity for exposure to all facets of the database, and people are reporting how wonderful it is to pick up these tips and tricks - in the arsenal ready for future use.

Monday 1 November 2010

Attention Students! (AUSOUG plug)

Are you a student interested in where the Oracle industry is heading? Are you keen on meeting key figures in the Perth & Australian community? Do you want to be a few steps ahead of your fellow graduates?

These are the questions I remember thinking about as I was studying. There were a number of options out there, and sometimes it's hard to sift through the options to find those of value.

I think the Australian Oracle User Group (AUSOUG) is one of the valuable options, and this year the committee has organised an even better value deal.

The 2010 AUSOUG Perth Conference is just around the corner, and we've brokered a deal to benefit the grass roots of our industry - students!

For $150 tax deductible dollars, you receive membership to the user group AND registration for the two day conference. 

If you happen to be a member already, it's only $100. Membership is normally $65, and student conference registration is normally $320.

I'll let the user group brochure spruik it's benefits, and you can find a link to the conference brochure at the SAGE website - it's worth it, even just listening to the great presentations to be found in the program.

If you're doing a degree like Computer Science or Software Engineering, students of Edith Cowan University, Murdoch University, University of WA, Central Institute of Technology (TAFE), (and any others beyond the major players) contact membership@ausoug.org.au for enquires, or contact Ailsa, our WA President.

ScottWe.