Sunday, 30 September 2007

An open invite to present in Perth Western Australia

I recently made the jump from the Victorian Australian Oracle User Group committee to the Western Australian AUSOUG committee, which presents a unique set of challenges in user group activities.

In Victoria as the local President I had presentations a plenty; it wasn't hard to drum up any number of great speakers to present to the local Victorian members, from Melbourne, interstate and overseas.

Western Australia and Perth is a different story. As some may know, Perth the capital of WA, is the most remote city in the world. It takes ~5 days to drive from Sydney to Perth, ~5 hours to fly, and just over 5 minutes for somebody from the East Coast of Australia to realise that people from Perth couldn't care less how far they are from everyone else ;)

One of the problems for the local Oracle user group though, is that it's darned hard to get non local talent to present in Perth. With a population of 1.5 million, there is only so many local presenters before you have to beg your grandmother to present again, and grandma likes Bill more than Larry. And in turn somehow a 5 hour flight isn't that attractive to people outside of Perth for a 45m presentation.

Another problem for the local group, and frustratingly so, is that plenty of Oracle talent visit Perth each month on business, who would make great presenters, but come and go before we get a chance to nab them for a 45m Oracle stand-up routine. Dag nab it!

So we'd like to make an open invite to anybody who knows they'll be in town or would like to visit, to drop us an email, and we'd love to slot you in to one of our monthly meetings. For the international speakers, don't forget that Perth is near the Margaret River wine region, has some of the best beaches in Australia, and makes a great tax-write-off for your next family holiday.

If you're interested I can be contacted at chrisdotmuiratsagecomputingdotcomdotau (replacing the "dot" and "at" with the appropriate symbols). We hope to hear from you soon.

Sunday, 23 September 2007

If I had five Oracle wishes, they would be.....

After 4 days of recovering from a case of food poisoning, with little else to do but consider my naval, I thought I'd rehash Brian Duff's post idea sometime back with my own little spin.

If I had 5 little Oracle wishes I'd like to come true, they would be:

5. Fix the email .zip issue - I don't know how many times I've emailed an Oracle employee with an attached .zip file, and had to change the .zip extension to .zippy or something else silly, to get through their email firewall. And the Oracle employees have to do the same thing too.

4. Allow more OTN forum markups - The OTN Forums are based on Jive Forum software. The Jive Forums allow a considerable amount of markup to enhance your posts (like BBCodes), yet it appears Oracle has disabled most of these. The Jive markup would allow me to include a mugshot of my smiling face in every post.... or maybe a screen shot or 2 of problems I've encountered best expressed in a picture.

3. Regular Oracle XE updates - the Oracle core database gets regular updates, including essential security fixes. Why not Oracle Express Edition (XE)? Surely they're mostly the same code base, and a new build of Oracle XE is only a couple good Ant scripts away?

2. Free ADF - JDeveloper is free, or kinda. There's this nagging little caveat that the JDeveloper IDE is free, but the ADF libraries are only free if you happen to own an OAS license. In the world marketing it's a false positive. Yes JDeveloper is free so it competes with other Java IDEs. But you wouldn't bother with JDeveloper without ADF, so essentially it's not free, because you have to buy an OAS license or similar. Confused? See now the messed up marketing message? Maybe JDeveloper and ADF should have the same unrestricted license of Oracle Apex?

1. Open Metalink to the web .... or Google I guess - to solve an Oracle problem I first search with Google, then I search Metalink. While I suspect Oracle will always want to protect the Support revenue base in Metalink, it would be nice if it wasn't so. Imagine the pure joy when school children around the world could spend their lunch times productively reading 11g bug reports rather than surfing for pictures of the Smurfs.

So what would your 5 Oracle wishes be?

Thursday, 13 September 2007

What features would you like to see in PL/SQL?

Every day I read posts that start "I was going to blog about X but Y beat me to it". It looks like it's my turn. I've been sitting on a post for improvements I'd like to see to PL/SQL, and it turns out Steven Feuerstein has set up a site to capture PL/SQL improvements we'd all like to see. Dag-nab-it!

Anyway, the gist of my original post follows, slightly rewritten to make it look like I didn't think of the idea first ;)

With the arrival of Oracle 11g we see a new set of features for PL/SQL. PL/SQL from my point of view has always been the ideal procedural language for the Oracle database, as many years ago I programmed with Ada which was the basis for PL/SQL syntax so I didn't have to learn a new language from scratch, I find the syntax very easy and clear to work with, and a breeze to teach (compared to Java for instance).

From experience, my positive outlook on PL/SQL is shared by a number of Oracle experts out there, with the main comment being "PL/SQL does what it needs to do." In other words it's a very mature language.

This doesn't mean that we shouldn't drive for further innovation in the PL/SQL language though, as there are many features in other languages that could make our PL/SQL programming experience more rewarding. If you look at the Java camp, committees upon committees, and blog entries upon blog entries are dedicated to improvements in the language for the next version. I can't say I've seen the same for PL/SQL, so Steve's initiative here is a good one.

So what improvements would you like to see in PL/SQL?

To start ball rolling, I'll suggest a couple and will post onto Steve's site:

1) I miss the ternary operator from other languages such as Java. The ternary operator takes the form:

(<boolean>) ? <return true expr> : <return false expr>;

So for a trivial example from Java:

boolean b = (1 < 2) ? true : false;

The ternary operator is really a short hand CASE or IF-ELSE-END IF statement. The power of the ternary operator is it supports expressions within each component, and expressions within expressions and so on. However the ternary operator is also responsible for some evil looking code because of this ability, so definitely it has its pros and cons.

2) To retrieve a sequence number in PL/SQL, you need to wrap this in an implicit SELECT-INTO statement or similar. What I really want to do is the following short-hand:

v_number := my_seq.nextval;

(and thanks to Justin Cave's response to my question on OTN, turns out this is available in 11g, as published in this AskTom article under the section "It's the little things". Neat!)

3) Assertions are a common feature in many languages beyond simple exception handling. They allow you to test a condition, and if it fails, stop the program. They are ideal for debugging programs because you can (for example) place the assertions at the beginning of each PL/SQL module to ensure incoming parameters are not null.

So what features would you like to see in PL/SQL? Why not head over to Steve Feuerstein's site and record your thoughts.

Saturday, 8 September 2007

Drowning in Oracle blog aggregators

Have you ever wanted to merge all the separate Oracle RSS aggregators into one, and subscribe to the merged feed?

Lazytom's FeedJumbler provides such a service, where you can list a number of RSS feeds, and FeedJumbler will publish a single RSS/Atom which you may subscribe to instead.

This has been a godsend for myself, having nearly drowned in Oracle aggregator feeds more recently. The FeedJumbler site feed makes it very easy to see duplicate entries and only read what I need to.

Now, if I could only find another RSS service that eliminates duplicates from a feed, I'll have 100% perfection.

Tuesday, 4 September 2007

SQL Developer Hotkeys

I've recently had some spare time to start writing training notes for a Oracle SQL Developer course here in Australia for my company SAGE Computing Services. While SQL Developer in its infancy contained few features compared to Quest's Toad, today as new revisions come along it's developing quite a varied set of features that are making it a tool of choice for many sites (not to mention it's free).

In writing the training material I've collated all SQL Developer's hotkeys into one document which I share with you here. You can of course determine these for yourself by visiting the Tools -> Preferences -> Accelerator menu options, but this collated document should save you the hassle of reading through all the different options.

Happy SQL Developer-ing!

Sunday, 2 September 2007

AUSOUG Conference 2007 presentations accepted

For the local Aussie readers, I'm excited to announce my presentation has been accepted for the 2007 AUSOUG conference in Melbourne and Perth both in November.

In order to drum up an audience that doesn't just include my Mum, here's some details of my presentation. I hope to see you at the conference.

Take a load off! Load testing your Oracle Apex or JDeveloper web applications

"Geeeez, after demanding you unit test, system test, black box test, white box test, test-test-test everything, your manager is now demanding you load and stress test your brand spanking new Oracle web application. How on earth can you do this? .... and stop your manager from nagging?

This technical presentation will explain the concepts behind preparing for load and stress testing, the Http protocol's request/response model, and live demonstrations using Oracle's Http Analyzer and Apache's JMeter to stress test your Oracle web application.

The presentation is suitable for anybody, be it DBAs or developers, who are concerned about the performance of any web based application, possibly an Apex or JDeveloper or 3rd party web application. Knowledge of Apex or JDeveloper is not mandatory for this presentation and will not be covered in any depth. "