<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4818542164384221282</id><updated>2012-01-27T16:55:00.098+08:00</updated><category term='images'/><category term='Off Topic'/><category term='Oracle Community'/><category term='Outer Joins'/><category term='Performance'/><category term='SQL'/><category term='SQL Injection'/><category term='WITH'/><category term='Regular Expressions'/><category term='SOE'/><category term='PL/SQL'/><category term='Model'/><category term='Automatic Row Fetch'/><category term='10g'/><category term='Syntax Highlighting'/><category term='CLOB'/><category term='Searching'/><category term='Intervals'/><category term='JDeveloper'/><category term='JQuery'/><category term='Tim Hall'/><category term='RSS'/><category term='ApexLib'/><category term='Apex 4.0'/><category term='LRO'/><category term='Synonyms'/><category term='Scalar Subqueries'/><category term='Tom Kyte'/><category term='11g'/><category term='Networking'/><category term='Debugging'/><category term='Documentation'/><category term='Forms'/><category term='News'/><category term='Google Reader'/><category term='CSS'/><category term='David Peake'/><category term='Bulk Binds'/><category term='Sage'/><category term='Apex 4.1'/><category term='Best Practices'/><category term='Presentations'/><category term='Sequences'/><category term='CASE'/><category term='Templates'/><category term='Views'/><category term='Aggregates'/><category term='Apex 4.2'/><category term='Apex'/><category term='SQL Developer'/><category term='SIGN'/><category term='LIKE'/><category term='Shared Components'/><category term='Bind Variables'/><category term='Navigation Bar Entries'/><category term='NVL'/><category term='JavaScript'/><category term='MONTHS_BETWEEN'/><category term='New Features'/><category term='blogging'/><category term='ADD_MONTHS'/><category term='Explain'/><category term='Tuning'/><category term='Twitter'/><category term='Item Attributes'/><category term='Connor McDonald'/><category term='Quick Picks'/><category term='Conditions'/><category term='Email'/><category term='tkprof'/><category term='Review'/><category term='Conditional Compilation'/><category term='9i'/><category term='Returning'/><category term='Tutorial'/><category term='Security'/><category term='Ajax'/><category term='Automatic Row Processing'/><category term='Apollo'/><category term='UNION ALL'/><category term='RESULT_CACHE'/><category term='DUAL'/><category term='Test Cases'/><category term='COALESCE'/><category term='Green Pig'/><category term='Conference'/><category term='Escape'/><category term='Oracle Text'/><category term='Wish List'/><category term='Indexes'/><category term='Obfuscation'/><category term='Android'/><category term='Format Mask'/><category term='Autotrace'/><category term='Apex Listener'/><category term='Cloud'/><category term='Data visualisation'/><category term='Mobile'/><category term='Application Design'/><category term='inaugural'/><category term='Read Only'/><category term='LONG'/><category term='Oracle Mix'/><category term='NVL2'/><category term='PRAGMA'/><category term='Apex 3.x'/><category term='Triggers'/><category term='CREATE TABLE'/><category term='AUSOUG'/><category term='Google'/><category term='Dates'/><category term='InSync'/><category term='DECODE'/><category term='Validation'/><category term='Literals'/><category term='TO_LOB'/><category term='EBS'/><category term='Steven Feuerstein'/><category term='BI Publisher'/><category term='Hardware'/><category term='Friday Fun'/><category term='Patterns'/><category term='Ubuntu'/><category term='Glassfish'/><category term='NULLIF'/><category term='Training'/><title type='text'>Grassroots Oracle</title><subtitle type='html'>Mentations of an Oracle Developer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default?start-index=101&amp;max-results=100'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>171</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6147365129388486867</id><published>2012-01-27T16:55:00.000+08:00</published><updated>2012-01-27T16:55:00.103+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apex Listener'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><title type='text'>My name is Scott and I have a pet tiger</title><content type='html'>It seems I drafted this one about 18 months ago, worth sharing...&lt;br /&gt;&lt;br /&gt;Me (back in 2000):&lt;br /&gt;&lt;i&gt;"Hi, my name's Scott. I'm your new developer"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My First DBA:&lt;br /&gt;&lt;i&gt;"Here's your db account, just don't change your password to 'tiger'"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Well, it wasn't quite like that, but it was joked about.&lt;br /&gt;&lt;br /&gt;While setting up the Apex Listener, using Tomcat - I came across this in the &lt;a href="http://wiki.apache.org/tomcat/FAQ/Security#Q5"&gt;help&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;&lt;b&gt;What is the default login for the manager and admin app?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif; font-size: x-small;"&gt;The admin and manager application do not provide a default login. &lt;span style="color: #660000;"&gt;Doing so is a security flaw&lt;/span&gt;. You need to edit $CATALINA_HOME/conf/tomcat-users.xml if you are using the default install.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Security is no &lt;a href="http://www.belfasttelegraph.co.uk/opinion/columnists/robert-mcneill/airport-securitys-a-joke-just-dont-try-to-make-them-laugh-15145450.html"&gt;laughing matter&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6147365129388486867?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6147365129388486867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6147365129388486867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6147365129388486867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6147365129388486867'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/my-name-is-scott-and-i-have-pet-tiger.html' title='My name is Scott and I have a pet tiger'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7499339749600751977</id><published>2012-01-25T08:00:00.000+08:00</published><updated>2012-01-25T08:00:04.932+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automatic Row Processing'/><category scheme='http://www.blogger.com/atom/ns#' term='Automatic Row Fetch'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 3.x'/><title type='text'>Compound primary keys in Application Express</title><content type='html'>As many Apex developers are aware, there is a limitation on the number of columns in a compound primary key when creating forms out of the box.&lt;br /&gt;&lt;br /&gt;This was alleviated in 4.1 by the ability to use ROWID to identify the record.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-dTT0axY4LvA/TwT3GK0bdhI/AAAAAAAAAV8/XauYBPFdMow/s1600/rowid_form.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-dTT0axY4LvA/TwT3GK0bdhI/AAAAAAAAAV8/XauYBPFdMow/s1600/rowid_form.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I was asked the question recently on how to get around it back in Apex 3.x&lt;br /&gt;I gave some suggestions, but didn't have the opportunity to investigate at the time. Of course, I was really curious so I gave it a go myself when I had a chance - so here goes.&lt;br /&gt;&lt;br /&gt;First I defined and populated a simple table with a primary key containing three columns.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;CREATE TABLE three_col_pk&lt;br /&gt;  (my_year   number&lt;br /&gt;  ,my_month  number&lt;br /&gt;  ,my_loc    varchar2(1)&lt;br /&gt;  ,my_data   varchar2(20)&lt;br /&gt;  ,CONSTRAINT my3_col_pk PRIMARY KEY (my_year, my_month, my_loc)&lt;br /&gt;)&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;INSERT INTO three_col_pk values (2011, 12, 'A', 'Scott');&lt;br /&gt;INSERT INTO three_col_pk values (2011, 12, 'B', 'Kylie');&lt;br /&gt;INSERT INTO three_col_pk values (2011, 12, 'C', 'Penny');&lt;br /&gt;INSERT INTO three_col_pk values (2011, 11, 'A', 'Branka');&lt;br /&gt;INSERT INTO three_col_pk values (2010, 12, 'A', 'Chris');&lt;br /&gt;INSERT INTO three_col_pk values (2011, 11, 'B', 'Eddie');&lt;br /&gt;INSERT INTO three_col_pk values (2010, 12, 'C', 'Ray');&lt;br /&gt;INSERT INTO three_col_pk values (2010, 12, 'B', 'Kate');&lt;br /&gt;INSERT INTO three_col_pk values (2011, 10, 'C', 'Lynda');&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;If you try create a standard Report/Form combination with this table using the wizards you will receive this when attempting to fetch a record:&lt;br /&gt;&lt;code&gt;ORA-01422: exact fetch returns more than requested number of rows&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And if you attempt to create a new record, you'll receive this complaint depending on the column that is excluded from the screen:&lt;br /&gt;&lt;code&gt;ORA-01400: cannot insert NULL into ("SAGE"."THREE_COL_PK"."MY_YEAR")&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So to get around this problem, the first thing that came to mind was to create a view that contained the rowid and build a Report/Form combination on that. I figured there'd be a few problems arising from this, but one must start.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;CREATE OR REPLACE VIEW three_col_pk_vw AS&lt;br /&gt;SELECT rowid my_pk&lt;br /&gt;      ,z.*&lt;br /&gt;FROM three_col_pk z&lt;br /&gt;/&lt;/pre&gt;&lt;br /&gt;This certainly fixed my Automatic Row Fetch process, which now looked like this:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-WrxtyEcE1HE/TwUAouPZZuI/AAAAAAAAAWI/329ztnAUeRY/s1600/three_col_form.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="333" src="http://4.bp.blogspot.com/-WrxtyEcE1HE/TwUAouPZZuI/AAAAAAAAAWI/329ztnAUeRY/s400/three_col_form.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;However, when I tested an update using the Apex form I received this error&lt;br /&gt;&lt;code&gt;ORA-20505: Error in DML: p_rowid=AAAGsHAAFAAAGRvAAA, p_alt_rowid=MY_PK, p_rowid2=, p_alt_rowid2=. ORA-01733: virtual column not allowed here&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;When I saw this I thought - does the automatic row update also update the primary key?&lt;br /&gt;I have been curious about this in the past so I thought good a time as any to test it out.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Tangent - for players of the &lt;a href="http://www.plsqlchallenge.com/"&gt;PL/SQL Challenge&lt;/a&gt;, this was a topic of a &lt;a href="http://plsqlchallenge.com/pls/apex/f?p=10000:651:3720754242307538::NO:651:P651_COMP_EVENT_ID,P651_QUIZ_ID:8837,9613&amp;amp;cs=1F7FC75D45E08A272E224EA815C9D8CFD"&gt;recent quiz&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;To determine if Apex includes the primary key in the update within the Automatic Row Processing - I created an even simpler table with a primary key and a before update trigger that only fired when the primary key column was updated.&lt;br /&gt;(Does anyone else have trouble consistently remembering create trigger syntax?!)&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;CREATE TABLE pk_test&lt;br /&gt;  (a_pk number&lt;br /&gt;  ,b date&lt;br /&gt;  ,CONSTRAINT pk_test_pk PRIMARY KEY (a_pk)&lt;br /&gt;)&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;INSERT INTO pk_test VALUES (1, sysdate);&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE TRIGGER pk_test_trg&lt;br /&gt;BEFORE UPDATE OF a_pk ON pk_test&lt;br /&gt;FOR EACH ROW&lt;br /&gt;BEGIN&lt;br /&gt;  INSERT INTO pk_test VALUES (0, sysdate);&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I needed some way of identifying if the trigger fired. I've always found the idea of mutating tables funny, so I thought I'd just attempt to insert into the triggering table.&lt;br /&gt;&lt;br /&gt;Sure enough, when I tested an update using the Apex form I received this:&lt;br /&gt;&lt;code&gt;ORA-20505: Error in DML: p_rowid=1, p_alt_rowid=A_PK, p_rowid2=, p_alt_rowid2=. ORA-04091: table SAGE.PK_TEST is mutating, trigger/function may not see it ORA-06512: at "SAGE.PK_TEST_TRG", line 2 ORA-04088: error during execution of trigger 'SAGE.PK_TEST_TRG'&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So a way around that is to remove the automatic row processing created by the wizard and replace it with my own code. For simplicity, I just used the following:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;BEGIN&lt;br /&gt;  INSERT INTO three_col_pk&lt;br /&gt;    (my_year&lt;br /&gt;    ,my_month&lt;br /&gt;    ,my_loc&lt;br /&gt;    ,my_data)&lt;br /&gt;  VALUES&lt;br /&gt;    (:P9_MY_YEAR&lt;br /&gt;    ,:P9_MY_MONTH&lt;br /&gt;    ,:P9_MY_LOC&lt;br /&gt;    ,:P9_MY_DATA);&lt;br /&gt;EXCEPTION WHEN DUP_VAL_ON_INDEX THEN&lt;br /&gt;  UPDATE three_col_pk&lt;br /&gt;  SET my_data    = :P9_MY_DATA&lt;br /&gt;  WHERE my_year  = :P9_MY_YEAR&lt;br /&gt;  AND   my_month = :P9_MY_MONTH&lt;br /&gt;  AND   my_loc   = :P9_MY_LOC;&lt;br /&gt;END;&lt;/pre&gt;&lt;br /&gt;A merge would probably be more appropriate, but I have an issue with merge - for another blog post. And I couldn't be bothered working it out when this rolls off the fingers.&lt;br /&gt;&lt;br /&gt;Hope you found that interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7499339749600751977?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7499339749600751977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7499339749600751977' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7499339749600751977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7499339749600751977'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/compound-primary-keys-in-application.html' title='Compound primary keys in Application Express'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-dTT0axY4LvA/TwT3GK0bdhI/AAAAAAAAAV8/XauYBPFdMow/s72-c/rowid_form.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6603749293744150583</id><published>2012-01-23T20:32:00.000+08:00</published><updated>2012-01-23T20:33:17.741+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Mr Amazing, is gone...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-KWh7ms5fJTo/Tx1Mva9YKhI/AAAAAAAAAXE/cHOZuXdEzQM/s1600/paulie_reasonably_small.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-KWh7ms5fJTo/Tx1Mva9YKhI/AAAAAAAAAXE/cHOZuXdEzQM/s1600/paulie_reasonably_small.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Random co-incidences happen all the time. Sometimes we notice them, other times we don't. Sometimes they are remembered for a lifetime.&lt;br /&gt;&lt;br /&gt;Today I arrived at work to do some on-site training and noticed an ambulance roaring along the other way. The receptionist knows me well and informs me our friend Paul has been taken away to be&amp;nbsp;resuscitated.&lt;br /&gt;&lt;br /&gt;My friend, university classmate, four year work colleague, facebook socialite, lover of technology and lego, swing dance&amp;nbsp;extraordinaire, Oracle... well he wrote SQL, bringer of smiles, puzzle solver, workaholic, traveler, magic master and extremely&amp;nbsp;hirsute&amp;nbsp;man... never woke up.&lt;br /&gt;&lt;br /&gt;You may know him well from where he's been working since graduating from University. You may know him from chance encounters at the AUSOUG conference. You may know him from his swing dancing passion. You may be one of his 500+ facebook friends, alll of whom I'm sure he knew personally; or you may know him by one of his many other interests as he really did live life to the best he could.&lt;br /&gt;&lt;br /&gt;It was a tough day for friends of Mr Amazing (known to everyone else as Paul Verevis), I'm sure everyone (including myself) appreciated the support provided by the wonderful team they nuture there - it was like an extended family.&lt;br /&gt;&lt;br /&gt;You can find a little of his legacy on &lt;a href="https://twitter.com/#!/mramazing80"&gt;twitter&lt;/a&gt;, and he's most certainly trending on &lt;a href="https://www.facebook.com/pverevis"&gt;facebook&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And finally, I found this one of him and some photo-bomber&amp;nbsp;in my e-mail archive. It was from our paint balling session in&amp;nbsp;August 2005. I'm sure I have a few from our uni days somewhere, but I'll have to have a think about where.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Q8m2EJyjPZ0/Tx1SPUaOTHI/AAAAAAAAAXM/2RzUjC6xyJ4/s1600/paulie.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-Q8m2EJyjPZ0/Tx1SPUaOTHI/AAAAAAAAAXM/2RzUjC6xyJ4/s320/paulie.png" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;Goodbye, mon ami.&lt;br /&gt;&lt;br /&gt;ps - I'm pretty sure one of those adjectives of Paulie written above isn't true, I'm sure those who knew and worked with him will spot from a mile away which one ;-)&lt;br /&gt;&lt;br /&gt;No doubt others have all sorts of words of their own to describe him&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6603749293744150583?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6603749293744150583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6603749293744150583' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6603749293744150583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6603749293744150583'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/mr-amazing-is-gone.html' title='Mr Amazing, is gone...'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-KWh7ms5fJTo/Tx1Mva9YKhI/AAAAAAAAAXE/cHOZuXdEzQM/s72-c/paulie_reasonably_small.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-391339010221455697</id><published>2012-01-20T09:29:00.002+08:00</published><updated>2012-01-20T09:29:48.308+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><title type='text'>2012 - Preparation meets opportunity</title><content type='html'>&lt;i&gt;"Luck is what happens when preparation meets opportunity." &lt;/i&gt;- Seneca&lt;br /&gt;&lt;br /&gt;This came on the back of a conversation today with a friend of mine, he sent me an e-mail with another quote from &lt;a href="http://en.wikipedia.org/wiki/Seneca_the_Younger"&gt;Seneca&lt;/a&gt;, a 1st century Roman philosopher&amp;nbsp;- and as I started to write this post I thought it tied in well this post from Michael Crump that I found in my twitter feed -&amp;nbsp;&lt;a href="http://michaelcrump.net/11-things-every-software-developer-should-be-doing-in-2012"&gt;11 Things every Software Developer should be doing in 2012&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I thought I'd add my mentations...&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Get on &lt;a href="https://twitter.com/#!/swesley_perth"&gt;Twitter&lt;/a&gt; &lt;/b&gt;- I did this in 2011. I was reluctant at first - &lt;i&gt;another &lt;/i&gt;social media stream? &lt;i&gt;Twitter&lt;/i&gt;, really? I was slow at first, but now I'm seeing it's value. Aside from the reasons Michael provided, it's a great networking tool.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Ready &lt;a href="http://stackoverflow.com/questions/tagged/plsql"&gt;StackOverflow&lt;/a&gt; daily&lt;/b&gt; - I haven't been able to get into StackOverflow. I think I'm getting plenty of that information from other sources when I can. Certainly as a beginner I would recommend sites like that, but as the cynical "Dirt" commenter suggested - asking is good, answers - not so much. I can't say I'm fluent enough to know how much chaff is in the responses, but when I was learning I went to an authoritative source - &lt;a href="http://asktom.oracle.com/"&gt;AskTom&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Start a blog &lt;/b&gt;- I'm not sure if I'm prepared to do that ;-)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Get out there&lt;/b&gt; - I agree 100% Your local user group is a great start. Here in Australia,&amp;nbsp;&lt;a href="http://ausoug.org.au/"&gt;AUSOUG&lt;/a&gt;&amp;nbsp;holds regular events in many states. In WA we try to have a seminar once a month, and we have our annual conference series. Networking gold - plus you learn stuff alone the way and get free beer &amp;amp; pizza ;-)&lt;/li&gt;&lt;li&gt;&lt;b&gt;Carry around a modern phone&lt;/b&gt; - While I don't agree with the judgement of people based on what they own, use or wear, it is certainly a useful device in many ways - and just another way to help stay in touch with the industry.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Embrace mobile &lt;/b&gt;- His comments about every developer will create a mobile app - really? I don't want to sound lacking in foresight, but surely with the vast array of programming languages around (pardon the pun), many programmers will be successful without going near a contemporary phone. That being said, in the Oracle world - 2012 will be the year of the mobile - think about what's coming in &lt;a href="http://www.grassroots-oracle.com/2011/11/apex-42-statement-of-direction.html"&gt;Apex 4.2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Learn at least one design pattern&lt;/b&gt; - I'm not sure how applicable this is to the Oracle world. Instead, perhaps study database design a little closer.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Set reachable goals each and every year&lt;/b&gt; - Goal setting is a big can of worms. True, I set myself goals, but I don't beat myself up if something gets in the way. Last year I aimed to learn &lt;a href="http://www.grassroots-oracle.com/2010/11/ubuntu-here-i-come.html"&gt;Ubuntu&lt;/a&gt;, that's been &lt;i&gt;very&lt;/i&gt; slow going. However, along the way I've taken grasp of many other opportunities. And I might look at it more this year, along with plug-ins and mobile.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Learn a different programming language&lt;/b&gt; - This could be tough, however I encountered &lt;a href="http://www.codecademy.com/"&gt;Code Academy&lt;/a&gt; recently, and if I get into gear I might use it to become more proficient with JavaScript.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Boost your confidence&lt;/b&gt; - I agree with "Dirt" - no brainer. Trouble is, for some it isn't. I was&amp;nbsp;adolescent&amp;nbsp;once battling depression, and it doesn't necessarily come easy. The first time I changed employer I wasn't confident either - just keep your eyes open and be aware.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Read blogs/programming books/magazines &lt;/b&gt;- Highly recommended. I have a collection of RSS feeds now, or you could just visit aggregators such as&amp;nbsp;&lt;a href="http://apexblogs.info/"&gt;apexblogs.info&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="http://orana.info/"&gt;orana.info&lt;/a&gt;. I have a few programming books on the go, including technical reviews which are win-win. And surely you've subscribed to the &lt;a href="http://www.oracle.com/technetwork/oramag/magazine/home/index.html"&gt;Oracle magazine&lt;/a&gt; in some form? Don't limit yourself to Oracle or programming sources either. I have many feeds related to my science based interests, and I learn writing skills from them also - besides they can be fun to read.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;What do you reckon? Any other big ones &lt;i&gt;not &lt;/i&gt;listed?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Scott&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;And no, the world will not end this year.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-391339010221455697?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/391339010221455697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=391339010221455697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/391339010221455697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/391339010221455697'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/2012-preparation-meets-opportunity.html' title='2012 - Preparation meets opportunity'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-714348635147199651</id><published>2012-01-18T09:47:00.000+08:00</published><updated>2012-01-18T09:47:00.074+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Conditional Compilation'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>DB minimum version with Apex</title><content type='html'>&lt;i&gt;(I'm doing a blogging blitz, scheduling posts, reviewing old drafts etc. I'm not sure why I didn't publish this one, I thought I'd just post it untouched)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;There are suggestions that Apex 4.1, currently in Early Adopter at &lt;a href="http://tryapexnow.com/"&gt;tryapexnow.com&lt;/a&gt; - may be available for download &lt;a href="http://dgielis.blogspot.com/2011/05/apex-41-and-more.html"&gt;middish 2011&lt;/a&gt;&amp;nbsp;(I don't like saying summer/winter, because that ignores half the world!)&lt;br /&gt;&lt;br /&gt;Some sites are still back in Apex 3.x, shame, but unfortunately I still work for some of those. Hopefully upgrading Apex won't be as daunting and restrictive for most as upgrading db version can be.&lt;br /&gt;&lt;br /&gt;Recently I wanted/needed to experiment with some infrastructure settings, so I installed a copy of 10g I had on hand, with the intent of installing Apex 4.0&lt;br /&gt;&lt;br /&gt;Unfortunately amongst all the installation tasks, the one I didn't bother to take notice of this time around was 2.1 - Oracle Application Express Installation Requirements:&amp;nbsp;Oracle Application Express version 4.0 requires an Oracle database (Enterprise Edition, Standard Edition or Standard Edition One) that is release 10.2.0.3 or higher. Application Express 4.0 can also be used with Oracle Database 10g Express&lt;br /&gt;&lt;br /&gt;So of course, the version I had was 10.2.0.1, not 10.2.0.3&lt;br /&gt;&lt;br /&gt;So when you go to log into Apex, you may see something like &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=1092621"&gt;this&lt;/a&gt;. Symptoms also include &lt;a href="http://forums.oracle.com/forums/message.jspa?messageID=4388228#4388228"&gt;errors&lt;/a&gt; in your FLOWS schema. Something I found interesting about this particular entry was the script Joel used to determine version. He could have used dbms_utility.db_version, v$version, instead he used conditional compilation.&lt;br /&gt;&lt;pre class="jive-pre" style="background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: url(http://forums.oracle.com/forums/images/quote-background-1.gif); background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 2px; border-right-color: rgb(238, 238, 238); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(238, 238, 238); border-top-style: solid; border-top-width: 1px; font-family: 'courier new', monospaced; font-size: 10pt; margin-bottom: 0.5em; margin-left: 2em; margin-right: 2em; margin-top: 1em; overflow-x: auto; overflow-y: auto; padding-bottom: 10px; padding-left: 1em; padding-right: 10px; padding-top: 10px;"&gt;&lt;code class="jive-code jive-java"&gt;create or replace procedure foo as&lt;br /&gt;begin&lt;br /&gt;$if dbms_db_version.ver_le_10_2 $then&lt;br /&gt;dbms_output.put_line(&lt;span style="color: navy;"&gt;'dbms_db_version.ver_le_10_2'&lt;/span&gt;);&lt;br /&gt;$elsif dbms_db_version.ver_le_11_1 $then&lt;br /&gt;dbms_output.put_line(&lt;span style="color: navy;"&gt;'dbms_db_version.ver_le_11_1'&lt;/span&gt;);&lt;br /&gt;$else&lt;br /&gt;dbms_output.put_line(&lt;span style="color: navy;"&gt;'else'&lt;/span&gt;);&lt;br /&gt;$end&lt;br /&gt;end foo;&lt;br /&gt;/&amp;nbsp;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Ultimately you will need patch&amp;nbsp;5337014 to step up to 10.2.0.3, run apxremov, then reinstall from that point - not forgetting to have your apex_public_user account ready.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-714348635147199651?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/714348635147199651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=714348635147199651' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/714348635147199651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/714348635147199651'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/db-minimum-version-with-apex.html' title='DB minimum version with Apex'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8738971648516458488</id><published>2012-01-13T01:30:00.000+08:00</published><updated>2012-01-13T01:30:05.468+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Searching'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>2011 Blog Review</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3PDEoFnpuu0/Tw7w3m0daMI/AAAAAAAAAWg/jgyFAT-C_k4/s1600/spiral_clock.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-3PDEoFnpuu0/Tw7w3m0daMI/AAAAAAAAAWg/jgyFAT-C_k4/s1600/spiral_clock.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I ventured into google analytics the other day to check out some browser stats, the general result is positive, by the way - 42% Firefox, 27% Chrome &amp;amp; 20% IE, Safari only down at 4%.&lt;br /&gt;&lt;br /&gt;But what I thought I'd do is have a look at last years stats - it seems to be the thing to do this time of year...&lt;br /&gt;&lt;br /&gt;Off the bat I'm happy with over 50% increase in page views compared to 2010. I don't care so much about specific numbers, but it's good to know whatever I'm doing is expanding. I'm quite motivated to write more often this year - I already have a bunch scheduled - once a week every Wednesday is the aim. Plus any random stuff I might put up, usually on a lighter note on Friday.&lt;br /&gt;&lt;br /&gt;I'm happy I had the motivation one week while on the road to re-design the blog to bring it into this decade. It looks less tacky and a little bit more thought out. There's still a few little things I want to touch up, but it will do for now. Other projects on the go first...&lt;br /&gt;&lt;br /&gt;As for what people are reading, in 2010 here are the top 5 pages (behind root)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2010/02/short-circuit-evaluations-moving-away.html"&gt;Short circuit evaluations&lt;/a&gt;&amp;nbsp;- I promoted this topic a bit, I'm a big fan of COALESCE&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2010/03/another-apex-40-feature-for-forms.html"&gt;Another Apex 4.0 feature for Forms&lt;/a&gt;&amp;nbsp;- Tree view in Apex 4.0&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2010/03/why-i-use-google-chrome-for-oracle-apex.html"&gt;Why I use Google Chrome for Oracle Apex&lt;/a&gt;&amp;nbsp;- because it's awesome and &lt;i&gt;light!&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2010/09/using-jquery-dialog-boxes.html"&gt;Using JQuery dialog boxes&lt;/a&gt;&amp;nbsp;- Very handy&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2010/02/automating-apex-backups-from-db.html"&gt;Automating Apex backups from DB&lt;/a&gt;&amp;nbsp;- backup backup backup&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;In 2011 we moved along to more focused pages&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2009/07/presentations.html"&gt;Presentations&lt;/a&gt; - I think my Apex Security one bumped those stats up&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2011/06/mash-of-oracle-related-thoughts.html"&gt;A mash of Oracle related thoughts&lt;/a&gt; - lots of distinct topics, looking back&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2010/02/automating-apex-backups-from-db.html"&gt;Automating Apex backups from DB&lt;/a&gt;&amp;nbsp;- up from fifth, good work backing up!&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2011/07/useful-oracle-apex-urls.html"&gt;Useful Oracle Apex URLs&lt;/a&gt; - Popular with those learning&lt;/li&gt;&lt;li&gt;&lt;a href="http://grassroots-oracle.com/2011/03/apex-in-amazon-cloud.html"&gt;Apex in Amazon Cloud&lt;/a&gt; - Listen out this year, I'll probably be doing a cloud implementation in 2012 and I'll be sure to blog about it - and probably do a &lt;a href="http://grassroots-oracle.com/2009/07/presentations.html#ApexSecurity"&gt;prezi&lt;/a&gt; in &lt;a href="http://www.grassroots-oracle.com/2011/12/2012-ausoug-conference-dates.html"&gt;October&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Most weren't hugely out of the ball park, although last year 1st had 50% more hits than 5th, but it does show what people specifically read I guess, as opposed to strolling past on &lt;a href="http://apexblogs.info/"&gt;apexblogs.info&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Most visitors are from US by far, Australia distant second, then UK, India, Germany just pipping Netherlands. Canada-Russia equal, then drops away.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Top mobile devices - iPhone, iPad, (not set), Samsung Galaxy S (probably me ;-), HTC Sappire&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Windows order magnitude more than Mac, then Linux.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And finally top search terms - all fairly obvious. "Oracle" three times more than "oracle apex jquery datepicker"; some not provided; "triangle circle square", "oracle apex", "apex amazon cloud", "apex post calculation computation", "apex login page", "oracle apex 4.2"&lt;/div&gt;&lt;div&gt;The last one is interesting since it I published my &lt;a href="http://www.grassroots-oracle.com/2011/12/my-apex-42-wish-list.html"&gt;wish list&lt;/a&gt; in early Jan, but accidentally published it as December when I first drafted it. It falls in the 2011/12 archive - so I wonder how that gets counted in their queries ;-)&lt;br /&gt;&lt;br /&gt;There are no major milestones to come, I haven't reached 200 posts yet, so in time... I'm glad I started.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll have to remember to do this next year and compare!&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Photo by&amp;nbsp;&lt;span style="color: #0000ee;"&gt;&lt;u&gt;&lt;a href="http://www.flickr.com/photos/robbie73/5925546380"&gt;Robbert van der Steeg&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&amp;nbsp;- check &lt;a href="http://www.flickr.com/photos/robbie73/3387189144/"&gt;this&lt;/a&gt; one out!&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8738971648516458488?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8738971648516458488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8738971648516458488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8738971648516458488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8738971648516458488'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/2011-blog-review.html' title='2011 Blog Review'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-3PDEoFnpuu0/Tw7w3m0daMI/AAAAAAAAAWg/jgyFAT-C_k4/s72-c/spiral_clock.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9528536 115.8573389</georss:point><georss:box>-31.9797991 115.8178569 -31.9259081 115.89682090000001</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8325456154623138723</id><published>2012-01-11T08:00:00.000+08:00</published><updated>2012-01-11T08:00:01.410+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scalar Subqueries'/><category scheme='http://www.blogger.com/atom/ns#' term='Bind Variables'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Apex performance issues with v()</title><content type='html'>One of the checks in the Apex Advisor is to determine if any instances of the &lt;code&gt;v()&lt;/code&gt; function exist within your SQL.&lt;br /&gt;&lt;br /&gt;This confirms one of the first Apex best practices I remember hearing, that you should use bind variables instead of &lt;code&gt;v()&lt;/code&gt; within your SQL.&lt;br /&gt;It makes sense, since &lt;code&gt;v()&lt;/code&gt; is essentially making an interrogation on the session state table (wwv_flow_data).&lt;br /&gt;&lt;br /&gt;Patrick Wolf talks more about performance with determinism &lt;a href="http://www.inside-oracle-apex.com/drop-in-replacement-for-v-and-nv-function/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In the comment thread Patrick also suggests the wonderful scalar subquery solution that works on all db versions&lt;br /&gt;&lt;code&gt;WHERE id = (SELECT v('MY_ITEM') FROM DUAL)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The trouble is, I think it's a difficult situation to test - how would you go about determining how many times Oracle decides to invoke the &lt;code&gt;v()&lt;/code&gt; function, and for which parameters?&lt;br /&gt;&lt;br /&gt;I came across this case was on a 10.2.0.4 db with Apex 3.1.2. I've added &lt;a href="http://en.wikipedia.org/wiki/Groucho_glasses"&gt;Groucho glasses&lt;/a&gt; to the query to protect the innocent/guilty.&lt;br /&gt;It's also somewhat simplified. There were half a dozen instances of &lt;code&gt;v()&lt;/code&gt;, but I've highlighted what turned out to be the offending line.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql; highlight:[9];"&gt;select * from a_6000_row_table p&lt;br /&gt;where (  ...&lt;br /&gt;or exists&lt;br /&gt;  (select null&lt;br /&gt;   from a_user_access_table aa&lt;br /&gt;   where (aa.org_unit in (SELECT * FROM TABLE (InList_fn(a_pkg.genInList(p.year, p.org_unit))))&lt;br /&gt;       or aa.org_unit in (SELECT * FROM TABLE (InList_fn(a_pkg.genDiffInList(p.year, p.id)))))&lt;br /&gt;  and aa.inactive is null&lt;br /&gt;  and aa.staff_id = v('LOCAL_USER_ID')&lt;br /&gt;  and (  (aa.access_type in ('ABC','ABCXYZ'))&lt;br /&gt;   or (   aa.access_type in ('DEF')&lt;br /&gt;      and p.latest_status = 'YIPEE'))&lt;br /&gt;  )&lt;/pre&gt;&lt;br /&gt;As it turns out line 9 wasn't alone in causing the query to take at least 5 seconds to return &lt;i&gt;1-10 of 6000&lt;/i&gt; in an interactive report.&lt;br /&gt;The first part of the where clause where it constructs a comma delimited list, converts it into a nested table, then interpreted as a table - also lends some form of hand in slowing down the query.&lt;br /&gt;&lt;br /&gt;These function calls could probably be replaced with some form of WHERE EXISTS, but I think the original author had a steel plated encapsulation hat.&lt;br /&gt;&lt;br /&gt;When first assessing this query, I thought the problem related to a stragg function in the column list which used a FOR-SELECT-LOOP, but then I spotted the obvious.&lt;br /&gt;So I replaced all the &lt;code&gt;v()&lt;/code&gt; references with bind variables, and all of a sudden the 5+ second query went sub one second.&lt;br /&gt;&lt;br /&gt;I felt a little social, so I &lt;a href="https://twitter.com/#!/swesley_perth/status/156281580002881536"&gt;tweeted&lt;/a&gt; my little win, and &lt;a href="http://blog.trent-schafer.com/"&gt;Trent&lt;/a&gt; asked if I had more details, and I was curious to isolate the exact improvement as when I've briefly played with performance using &lt;code&gt;v()&lt;/code&gt; functions on simple queries I came away unconvinced of any issues but happy to play it safe.&lt;br /&gt;&lt;br /&gt;Some tests by themselves&lt;br /&gt;&lt;style&gt;#major_list ol {list-style-type:lower-alpha}&lt;/style&gt;&lt;br /&gt;&lt;div id="major_list"&gt;&lt;ol&gt;&lt;li&gt;Removing the IN list functions got the query to around 0.7s&lt;/li&gt;&lt;li&gt;Changing &lt;code&gt;v()&lt;/code&gt; to a bind variable was around 1s&lt;/li&gt;&lt;li&gt;Changing &lt;code&gt;v()&lt;/code&gt; to scalar subquery also gave a 1s query.&lt;/li&gt;&lt;li&gt;Setting entire query to use bind variables got down to about 0.5s&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;For those tuning experts out there who know much more about the Oracle mechanics than I do, I'd be curious to know if you can shed some light on how/why in particular these improvements came about.&lt;br /&gt;For instance, what do you suppose the relationship between the IN list functions and the use of &lt;code&gt;v()&lt;/code&gt; is?&lt;br /&gt;&lt;br /&gt;For reference - I squeezed in a function call at line 10 that counted how many times it was called. It was always 6000 times, regardless of bind variable usage until I took out the call to the IN list, then it was 9 records. I didn't isolate the significance of that second number.&lt;br /&gt;&lt;br /&gt;I remember when learning Apex it was difficult to determine when to use what syntax to refer to values in session state, so two lessons affirmed here today:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Bind variables work! Limit the use of &lt;code&gt;v()&lt;/code&gt; function calls to assignments and conditions in PL/SQL packages&lt;/li&gt;&lt;li&gt;Scalar subqueries are just as &lt;a href="http://www.oratechinfo.co.uk/scalar_subqueries.html"&gt;awesome&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;And I'll just add two more related points&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Never (&lt;a href="http://tkyte.blogspot.com/2006/07/i-believe-strongly-there-are-only-two.html"&gt;never say never&lt;/a&gt;) use &amp;amp;ITEM. syntax in queries - I've got a post in the works on that issue.&lt;/li&gt;&lt;li&gt;Don't forget about the &lt;code&gt;nv()&lt;/code&gt; function, allowing you to compare the same datatype if you're dealing with numbers. You need to make your own dv function...&lt;/li&gt;&lt;/ol&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8325456154623138723?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8325456154623138723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8325456154623138723' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8325456154623138723'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/apex-performance-issues-with-v.html' title='Apex performance issues with v()'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-3618920941874640543</id><published>2012-01-09T12:34:00.001+08:00</published><updated>2012-01-09T13:05:30.283+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Connor McDonald'/><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><category scheme='http://www.blogger.com/atom/ns#' term='JDeveloper'/><title type='text'>First events of 2012</title><content type='html'>Today is the &lt;i&gt;true &lt;/i&gt;new year for many, and Sage Computing Services would like to announce it's first training event for the year open for &lt;a href="http://sagecomputing.com.au/documents/201109_jdev_enrol.doc"&gt;enrolment&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;&lt;b&gt;JDeveloper Workshop&lt;/b&gt;&lt;br /&gt;&lt;i&gt;27th February to 2nd March&lt;/i&gt;&lt;br /&gt;Perth CBD&lt;br /&gt;Taught by Oracle Ace &amp;amp; Educator of the year - Penny Cookson&lt;br /&gt;&lt;a href="http://sagecomputing.com.au/training/oracle_jdeveloper_training_5day.html"&gt;Workshop details&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you can't make that, keep the morning of the 29th Feb free. If things haven't changed on me over the new year, AUSOUG will be sending out details of a breakfast at the West Perth Oracle building by one of our favourites - Connor McDonald.&lt;br /&gt;&lt;br /&gt;If you're interested in any of our courses, feel free to drop us a line and we can schedule a time frame that suits you.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-3618920941874640543?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/3618920941874640543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=3618920941874640543' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3618920941874640543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3618920941874640543'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/first-events-of-2012.html' title='First events of 2012'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9528536 115.8573389</georss:point><georss:box>-31.9797991 115.8178569 -31.9259081 115.89682090000001</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2159145965283879616</id><published>2012-01-06T09:41:00.000+08:00</published><updated>2012-01-06T09:41:14.826+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Green Pig'/><title type='text'>Friday Fun: The SAGE Green Pig</title><content type='html'>&lt;br /&gt;The humble pig. Yep, it's been a while since the Perth conference, but for those of you who were there no doubt you'll remember the Sage Computing Services Green Piggies!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-yZWTGVEE2GE/TwZQM1pMyYI/AAAAAAAAAWU/m160SJrN8Ag/s1600/humble.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-yZWTGVEE2GE/TwZQM1pMyYI/AAAAAAAAAWU/m160SJrN8Ag/s320/humble.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br class="Apple-interchange-newline" /&gt;We've set up a little &lt;a href="http://sagecomputing.com.au/green_pig_sage_computing_services.html"&gt;webpage&lt;/a&gt; containing a few of our favourite photos of piggies doing some interesting things.&lt;br /&gt;&lt;br /&gt;If you happened to have pigged up a pig - take a photo of it doing something silly or useful and mail it through - Penny might decide it's G-rated enough to post on the page!&lt;br /&gt;&lt;br class="Apple-interchange-newline" /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2159145965283879616?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2159145965283879616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2159145965283879616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2159145965283879616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2159145965283879616'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2012/01/friday-fun-sage-green-pig.html' title='Friday Fun: The SAGE Green Pig'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-yZWTGVEE2GE/TwZQM1pMyYI/AAAAAAAAAWU/m160SJrN8Ag/s72-c/humble.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Burswood WA, Australia</georss:featurename><georss:point>-31.9621951 115.8947772</georss:point><georss:box>-31.9756666 115.8750362 -31.948723599999997 115.91451819999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7363270824278748285</id><published>2012-01-04T17:54:00.000+08:00</published><updated>2012-01-20T14:13:50.098+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Wish List'/><title type='text'>My Apex 4.2 wish list</title><content type='html'>I was going to start the new year with something a little more light-hearted, but this has been sitting as a draft for a while and I thought I better not hold onto it for too long.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-luvmI6TYZc0/TwQeAuzyygI/AAAAAAAAAVw/x9s1GP9v3Is/s1600/Wish-List.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-luvmI6TYZc0/TwQeAuzyygI/AAAAAAAAAVw/x9s1GP9v3Is/s200/Wish-List.jpg" width="138" /&gt;&lt;/a&gt;&lt;/div&gt;As I'm sure many people do, while developing with the Apex tool, I occasionally come across improvements that I would love to see in a future version of Apex.&lt;br /&gt;&lt;br /&gt;And, as I'm sure many people do, I keep meaning to note these little feature improvements down so I can provide feedback to the Apex development team.&lt;br /&gt;&lt;br /&gt;Recently I managed to pull my finger out and actually compile a list - some training recently has highlighted some of these features so I made sure I took note when I could.&lt;br /&gt;&lt;br /&gt;Some of them are really minor - aesthetic or workflow adjustments that would facilitate more fluid development. Others are probably a touch more complicated... I think most are for the benefit of the developer more than the end user.&lt;br /&gt;Some probably need more thinking over, and some I may have gotten wrong and there isn't a problem anyway - feel free to correct me where I'm wrong. I'm also going to steer clear of any mobile development issues. Here we go...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Minor&lt;/b&gt; - little improvements I don't think would take much effort:&lt;br /&gt;&lt;style&gt;#minor_list ol {list-style-type:lower-roman}&lt;/style&gt;&lt;br /&gt;&lt;div id="minor_list"&gt;&lt;ol&gt;&lt;li&gt;Navigation bar entry subscriptions - currently when you attempt to define a subscription for navigation bar entries, the list of values displays the alt image text - not the navigation bar label. &lt;br /&gt;I don't have too many entries with this optional field completed, so it becomes annoying.&lt;/li&gt;&lt;li&gt;Hide quick picks on read only - it would be nice to have a&amp;nbsp;declarative&amp;nbsp;feature that facilitates this - possibly turned on by default. &lt;br /&gt;Currently, if you conditionally set an item to read only, any quick picks are still present and clickable - hence updating the field.&lt;/li&gt;&lt;li&gt;Display date/time in form as read only: I didn't investigate this one in depth - a last minute discovery in v3), but short of changing application date format to date/time - I had a strangely difficult time presenting a date column in a form page as read only with full date/time - I often received&amp;nbsp;&lt;i&gt;ERR-1079 Error in item post calculation computation&lt;/i&gt;.&lt;br /&gt;Feel free to direct me to an example of how this done, it wasn't a showstopper so I moved on.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Intermediate&lt;/b&gt; - slightly bigger, more involved improvements, but some of them may be easily achieved:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Dynamic quick picks - this is a nice to have as we can fairly easily provide this using shortcuts (such weird terminology!) &lt;br /&gt;However since we have the option to define static quick picks for an item, why not be able to alternatively provide a query to dynamically supply the quick pick options, or associate an LOV shared component.&lt;/li&gt;&lt;li&gt;API for page/item help - it is so often requested to facilitate the user to enter their own page level or even item level help. This requires it's own set of tables, template modification, supporting pages etc.&lt;br /&gt;If we had an API to the Apex core to update these values, all we'd need are pages to allow the user to read/update the help text so we can retain out-of-the-box functionality.&lt;/li&gt;&lt;li&gt;View consolidating all comments - I originally thought this would be handy when playing around with the Forms migration tool. The annotations were great, but I thought how much handier would it be to be able to query &lt;i&gt;one &lt;/i&gt;view to scan for relevant annotations.&lt;br /&gt;Ditto (and more-so) for component comments. We have an integrated page level comments that are actively visible to the developer, but as component comments can very easily be lost, ignored, forgotten about - I think it would be useful to run a query over any comments found in any of the application components.&lt;/li&gt;&lt;li&gt;Greater usage of page alias - I think the use of a page alias instead of it's number should be more welcome within the development environment. This could apply to anywhere the link attributes are presented. This may also improve accuracy for users who bookmark pages within the application.&lt;/li&gt;&lt;li&gt;Hierarchical validations - This was the first term I could think of. Currently we can tentatively apply conditions on validations based on failures of prior validations in the sequence using apex_application.g_inline_validation_error_cnt&lt;br /&gt;I think if we were able to define some form of hierarchy for validations, just like breadcrumbs or parent regions, this would make a lot of Apex developers very happy.&lt;br /&gt;I had a quick search for Apex wish lists before posting this, and Dan McGhan used the term validation chaining &lt;a href="http://www.danielmcghan.us/2010/11/my-future-feature-wish-list-for-apex.html"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Validating file uploads - recently I needed to validate a file loaded using the File Browse widget. These validations included file size (we had a small limit, thanks to Report Queries) &amp;amp; mime type.&lt;br /&gt;I got there in the end, but it didn't seem very elegant. I'm not sure how easy it would be to provide settings for&amp;nbsp;upper/lower bounds&amp;nbsp;similar to those that numeric/date fields have.&lt;/li&gt;&lt;li&gt;Minimum date setting - relax the format restriction on the date when using substitution syntax.&lt;/li&gt;&lt;li&gt;Report Layout update process - currently if you need to update a report layout, you need to delete the layout record; re-upload the layout document; then re-associate the layout with any Report Queries.&lt;br /&gt;These are currently managed in separate areas of the Shared Components section, and if I remember correctly it takes 20+ clicks to achieve this process for one report. I jumped with glee when I found out recently I needed to update 50 layouts for 57 reports... not. It can't be too hard to re-jig these maintenance pages to allow a better workflow.&lt;/li&gt;&lt;li&gt;Dictionary views for Report Layouts/Queries - are these the only components without associated dictionary views? I thought I'd be able to whip up a query to see which Report Queries used the same Report Layouts, but alas... I had to come up with a fresh technique.&lt;br /&gt;I got there in the end, and my update process for those 57 reports was impressively efficient, but both these improvements would make life easier.&lt;/li&gt;&lt;li&gt;Form limits - my colleague wanted me to include extending the number of items per page from 100. She encountered the limit recently, but I'm not sure the context -&amp;nbsp;&lt;/li&gt;&lt;li&gt;Multiple item copy - my colleague also would like the ability to copy more than one item at a time.&lt;/li&gt;&lt;li&gt;Sequencing of next / previous buttons - when using the "&amp;lt;" and "&amp;gt;" buttons, ie - next / previous to scroll through Regions / Buttons / Branches etc, there seems to be no&amp;nbsp;discernible&amp;nbsp;order. If there is method to the madness, I haven't yet identified it. It should follow the sequence order. If that's what it's supposed to do, it's not evident in the behaviour.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Major &lt;/b&gt;- probably require some form of Apex&amp;nbsp;core&amp;nbsp;infrastructure changes:&lt;br /&gt;&lt;style&gt;#major_list ol {list-style-type:lower-alpha}&lt;/style&gt;&lt;br /&gt;&lt;div id="major_list"&gt;&lt;ol&gt;&lt;li&gt;Build option enhancement - currently we assign a build option to a given component. This is great if it's new - but often there are minor tweaks on various attributes that we'd like to incorporate into a build. I find this even with template modifications. There are a few annoying workarounds, but I was trying to work out if it would be possible to incorporate a change to the Apex development environment.&lt;br /&gt;What came to mind (without thinking too hard about the underlying core structure - but I don't think it's too far fetched) is instead of (or in addition to) being able to allocate a build option to a component, it would be great to be able to have a select list perhaps on the side-bar, or near the "apply changes" button that would allow the developer to snapshot those changes against a given build.&lt;br /&gt;From another angle, when the developer is reviewing attributes for a component, they could view the current version (by default), or use the option to refresh the view for a given build option.&lt;br /&gt;That seems an decent scenario for the Apex developer - but as I said, I haven't yet put thought to the implications is would have on how Apex would manage this meta-data, and possibly more curious - how it would decide what to render.&lt;br /&gt;Perhaps the build option maintenance needs to be expanded to define chronology - and/or precedence.&lt;/li&gt;&lt;li&gt;Saved IR reports retention - While I have not had too many problems in the environments I've been working in, it's definitely an area that needs attention, and the Apex product managers &lt;a href="http://joelkallman.blogspot.com/2010/07/where-did-my-saved-interactive-reports.html"&gt;are aware of it&lt;/a&gt;. The basic premise of my issue with it is some life-cycle plans rotate through application IDs - this means there needs to be a method of transferring saved reports in production from one application to another. The export process leans towards the idea of migrating saved reports from one workspace to another - which to me seems limited as saved reports are typically not going to be in your dev/test workspaces.&lt;/li&gt;&lt;li&gt;Expand XML size for Report Queries - this was the cause for my file upload validation request. If you would like to send an image to a BI publisher report via a report query, you are currently limited to a files size of approximately 22k. After a little chat with &lt;a href="http://blogs.oracle.com/xmlpublisher/entry/inserting_blobs_into_your_repo"&gt;Tim Dexter&lt;/a&gt;, and a lot of trawling through OTN - it seems there is a limitation of 32k per "record" sent via XML.&lt;br /&gt;I can't remember where I put the sole forum reference, but after a quick search I found this 2008 posting by &lt;a href="http://marcsewtz.blogspot.com/2008/06/one-question-about-pdf-printing-feature.html"&gt;Marc Sewtz&lt;/a&gt;&amp;nbsp;acknowledging the limitation and promising an update. It seems this limitation may affect charts also. I did attempt to use the print API instead as it seemed like a great alternative, however I came across what seems like some internal (Oracle end) scripting issues and I ran out of patience to persist.&lt;/li&gt;&lt;li&gt;More declarative options for charts - I'm not a heavy chart user, but it seems the AnyChart infrastructure offers more customisations than the declarative nature of Apex allows. For instance - the &lt;a href="http://roelhartman.blogspot.com/2010/12/creating-cool-dashboard-in-apex.html"&gt;graduated colouring&lt;/a&gt; on dial charts, and adding links for the same.&lt;br /&gt;Don't get me wrong, it's fantastic that it's possible to customise the XML sent to the engine, but I wonder how much work it might be to add context sensitive settings for the chosen chart style - even if it's done in a flexible manner similar to user-defined attribute pairs for Feedback.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Added since initial posting from comments / forum post - limited to only those I like&lt;/i&gt;&lt;/li&gt;&lt;li&gt;Jeff (2012/1/5) - New substitution strings such as APP_PAGE_ALIAS - and variables to return previous page details.&lt;/li&gt;&lt;li&gt;Scott (2012/1/5) - New component in apex_application_install to accept clob that defines an &lt;a href="http://www.grassroots-oracle.com/2010/02/automating-apex-backups-from-db.html"&gt;exported Apex application&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Trent (2012/1/5) - Subscription module to team management&lt;/li&gt;&lt;li&gt;Scott (2012/1/6) - Install supporting objects (stored as installation scripts) when running app install as script&lt;/li&gt;&lt;li&gt;Wes (2012/1/7) - Filter objects in page definition by conditions; more options with search&lt;/li&gt;&lt;li&gt;Andy &amp;nbsp;2012/1/7) - Declarative options for sub-totals in reports&lt;/li&gt;&lt;li&gt;Matt (2012/1/12) - region/page level read only; row level cascading lov; extended APIs for tabular forms&lt;/li&gt;&lt;li&gt;&lt;b&gt;Greg (2012/1/15 - Documentation! &lt;/b&gt;- this is my favourite. I'm a huge fan of the db documentation, and the Apex documentation is still in its infancy. This includes item help - some are awesome and concise, some are not so much - typos in the help don't help the cause.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Oh, and please revert back to 10g style doco - I hate the new 11g doco with the "expand all" option, and the local doco that attempts to hit the Oracle website - I need to configure an extension to stop that...&lt;/i&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kofi (2012/1/13) - declarative popups&lt;/li&gt;&lt;li&gt;Sas&amp;nbsp;(2012/1/13) - alternate lov source for item&lt;/li&gt;&lt;li&gt;Andy (2012/1/20) - Session expiry notificication&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;No doubt the Apex development team already have their 4.2 scope fairly set for an early 2012 release thanks to the JQuery mobile hype, but I'm sure there will be time to slot a few of these in if not target already - otherwise I can wait for 4.3 ;-)&lt;br /&gt;&lt;br /&gt;Happy new year, everyone!&lt;br /&gt;&lt;br /&gt;ScottWe&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7363270824278748285?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7363270824278748285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7363270824278748285' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7363270824278748285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7363270824278748285'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/12/my-apex-42-wish-list.html' title='My Apex 4.2 wish list'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-luvmI6TYZc0/TwQeAuzyygI/AAAAAAAAAVw/x9s1GP9v3Is/s72-c/Wish-List.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-43837208356687507</id><published>2011-12-20T11:05:00.000+08:00</published><updated>2011-12-20T11:05:41.950+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>2012 AUSOUG Conference dates</title><content type='html'>Get your diaries out - the dates and locations for next year's conference series in Australia have been formally announced.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Melbourne&lt;/b&gt;&lt;br /&gt;InSync12 Conference and Exhibition&lt;br /&gt;August 21 and 22&lt;br /&gt;&lt;a href="http://maps.google.com.au/maps?q=65+Queens+Road,+Albert+Park,+Melbourne+VIC+3004&amp;amp;hl=en&amp;amp;ll=-37.849911,144.977969&amp;amp;spn=0.018062,0.042272&amp;amp;sll=-37.849908,144.977968&amp;amp;sspn=0.004549,0.010568&amp;amp;vpsrc=0&amp;amp;hq=65+Queens+Road,+Albert+Park,+Melbourne+VIC+3004&amp;amp;t=m&amp;amp;z=15&amp;amp;layer=c&amp;amp;cbll=-37.849911,144.977969&amp;amp;panoid=l17RfFkjTI45AJ_s7eEvEA&amp;amp;cbp=12,73.69,,0,-13.25"&gt;The Sebel Conference Centre, Melbourne&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;This is a short tram ride from the heart of Melbourne, with stunning views of Albert Park - where they host the Grand Prix Formula 1.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Perth&lt;/b&gt;&lt;br /&gt;Oracle with 20:20 Foresight Conference and Exhibition&lt;br /&gt;October 29 and 30&lt;br /&gt;&lt;a href="http://maps.google.com.au/maps?q=Parmelia+Hilton,+Mill+Street,+Perth,+Western+Australia&amp;amp;hl=en&amp;amp;ll=-31.953692,115.85318&amp;amp;spn=0.002203,0.010568&amp;amp;sll=-37.849911,144.977969&amp;amp;sspn=0.018197,0.042272&amp;amp;vpsrc=6&amp;amp;hq=Parmelia+Hilton,+Mill+Street,+Perth,+Western+Australia&amp;amp;t=m&amp;amp;z=17&amp;amp;layer=c&amp;amp;cbll=-31.953656,115.853055&amp;amp;panoid=2KfOj9M4547vnVCleLrBPA&amp;amp;cbp=12,164.35,,0,-29.42"&gt;Hilton Hotel, Perth&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;This is in the very centre of Perth, walking distance to bus, train, ferry &amp;amp; many other pubs &amp;amp; eateries.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The question is, will we see you in Australia next year?&lt;br /&gt;&lt;br /&gt;Scott&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-43837208356687507?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/43837208356687507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=43837208356687507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/43837208356687507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/43837208356687507'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/12/2012-ausoug-conference-dates.html' title='2012 AUSOUG Conference dates'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8470237642349662796</id><published>2011-12-14T22:14:00.000+08:00</published><updated>2011-12-14T22:14:02.466+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Blog re-name &amp; re-design (round 1)</title><content type='html'>Some of the more astute of you - or those that may have taken notice to the final "slide" of my &lt;a href="http://www.grassroots-oracle.com/p/presentations.html"&gt;Apex security presentation&lt;/a&gt; at the AUSOUG conference - may have noticed that I registered a new name for my blog.&lt;br /&gt;&lt;br /&gt;There were a few reasons for this. Initially it took some time for me to decide on a name when I decided to start blogging, and in hindsight I thought it needed a re-jig. (my personal gmail account could probably do with the same adjustment)&lt;br /&gt;&lt;br /&gt;I also thought that after getting into the groove of blogging, it was time to select a name that suited my particular style and removed the blogspot moniker.&lt;br /&gt;&lt;br /&gt;So I've chosen the following:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: Georgia, 'Times New Roman', serif; font-size: large;"&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;grassroots&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #20124d;"&gt;-oracle.com&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I've updated the &lt;a href="http://www.grassroots-oracle.com/p/me-me-me.html"&gt;about me&lt;/a&gt; page to describe this choice a little further. You may also notice I've got some other tabs across the top for common information you might like to view - using bloggers ability to create Pages for this very purpose. Feel free to check them out.&lt;br /&gt;&lt;br /&gt;For those of you visiting my actual page as opposed to viewing through an RSS feed or aggregator, you may also notice the blog design has changed dramatically.&lt;br /&gt;&lt;br /&gt;I've &lt;b&gt;finally&lt;/b&gt; taken advantage of some of the new tools blogger provides. I don't think I've finished yet though. One reason - I'm on the road, it's really late, and I'm using my phone tether to work on the net.&lt;br /&gt;The other reason - I like to sit on things for a while to see how a like it, and see if any other ideas come up. I'm also not quite happy with the colour scheme - I'm a little spoilt for choice and I wasn't quite ready to perform those finer adjustments.&lt;br /&gt;&lt;br /&gt;I also think there may be some other ramifications from my template of choice - I notice my favicon has disappeared, and it seems I need to re-apply my syntax highlighting. Ahh, the life of a software developer...&lt;br /&gt;&lt;br /&gt;And if you're wondering about the background image in the logo - I took that in my backyard using my smartphone, plus a little trickery - no software involved, except of course adding the text.&lt;br /&gt;&lt;br /&gt;I hope you like the adjustments so far. If you have any tips or ideas, feel free to let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8470237642349662796?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8470237642349662796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8470237642349662796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8470237642349662796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8470237642349662796'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/12/blog-re-name-re-design-round-1.html' title='Blog re-name &amp; re-design (round 1)'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4325679116543781416</id><published>2011-12-13T00:01:00.000+08:00</published><updated>2011-12-13T00:01:00.650+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><title type='text'>A retrospective</title><content type='html'>Throughout our contemporary world there are many references to common denominations of time - and they all revolve around the same thing (pardon the pun).&lt;br /&gt;&lt;br /&gt;Anniversaries of birthdays and various events are designated by a date in the year. These are also accompanied by decennaries, centennials, etc..&lt;br /&gt;&lt;br /&gt;The moon, such an important part of our existence is also used to denote periods of time,&amp;nbsp;albeit&amp;nbsp;sometimes with less exactness.&lt;br /&gt;&lt;br /&gt;So I thought why not use another cycle to mark an occasion, and look back over the years... that and I am basically a year late for the decennary.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-pIycOSD68r4/Ttxm_QTG6EI/AAAAAAAAAVQ/PkmY02V13cc/s1600/ar1302flare_brahic_900.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/-pIycOSD68r4/Ttxm_QTG6EI/AAAAAAAAAVQ/PkmY02V13cc/s320/ar1302flare_brahic_900.jpg" width="243" /&gt;&lt;/a&gt;Our planet experiences a &lt;a href="http://en.wikipedia.org/wiki/Solar_cycle"&gt;solar cycle&lt;/a&gt; of about 11 years. It's still not completely understood why, and the various effects are still being studied - but after an extended dormancy our sun is starting to flare up (another pun!) and instigate &lt;a href="http://spaceweather.com/"&gt;various activity&lt;/a&gt; here on Earth.&lt;br /&gt;&lt;br /&gt;My rambling aside - today marks 11 years since I got my first full-time job thanks to &lt;a href="http://www.ecu.edu.au/schools/computer-and-security-science/overview/"&gt;my university&lt;/a&gt; degree.&lt;br /&gt;&lt;br /&gt;I never pro-actively sought after a job working with the Oracle product - in fact, my first job offer was in Sydney to work on the Collins class submarines using the &lt;a href="http://en.wikipedia.org/wiki/Ada_(programming_language)"&gt;Ada language&lt;/a&gt; - which was the teaching language of choice at ECU at the time.&lt;br /&gt;&lt;br /&gt;So with much thought I declined that offer, deciding to stay in Perth - taking a job in a suburb many miles/kilometers from my home... using Oracle, and I hit the ground running.&lt;br /&gt;&lt;br /&gt;Fortunately my first employer was often on the bleeding edge when it came to Oracle technology, so I learned a lot in a short amount of time.&lt;br /&gt;&lt;br /&gt;With a little hesitation after almost 5 years I left my first employer so I could start exploring other industries (and perhaps work in town, instead of an industrial suburb well out of my way)&lt;br /&gt;&lt;br /&gt;Wind forward to today, and I've touched on Forms, Reports, Designer, Portal, Discoverer, EBS, mod plsql, and a seemingly longish gap to Application Express.&lt;br /&gt;&lt;br /&gt;I think more importantly, however, I've been active in my local user group. I think when it comes to advancing my career, this has been one of the most important aspects.&lt;br /&gt;&lt;br /&gt;Participating in user group events allowed me to meet &amp;amp; greet others in my community, in hindsight allowing me to maintain consistent contact with my future employer (Sage). Ultimately I started presenting papers of my own, rewarding me with a best paper award at this year's &lt;a href="http://ausoug.org.au/2020/"&gt;AUSOUG&lt;/a&gt; conference.&lt;br /&gt;&lt;br /&gt;It's also opened a number of other doors, almost like a &lt;a href="http://en.wikipedia.org/wiki/Ice_age#Positive_feedback_processes"&gt;positive feedback loop&lt;/a&gt;. I've reviewed a number of new Oracle books from &lt;a href="http://www.packtpub.com/"&gt;Packt Publishing&lt;/a&gt;; and&amp;nbsp;I've been a technical reviewer in a number of interesting Oracle books from&amp;nbsp;&lt;a href="http://apress.com/"&gt;Apress&lt;/a&gt;. This is another part of the feedback loop, since I'm learning &amp;amp; reasserting skills while reviewing books I'd want to read anyway.&lt;br /&gt;&lt;br /&gt;As for the future? Well, from a technology perspective I think in due time my lovely employer Penny would like me to learn JDeveloper, but in the nearer future I'm more than happy to continue exploring and improving my Oracle Apex skills.&lt;br /&gt;&lt;br /&gt;I will certainly be continuing my extra curricular activities. Amongst other tasks, soon I hope to co-author some articles with Penny; I have some more ideas for fresh presentations using the &lt;a href="http://prezi.com/"&gt;Prezi&lt;/a&gt; tool - limiting death by powerpoint!; I hope to finally redesign this blog and "officially" launch the new name, but that may be competing with our yearn to translate our Sage website into Apex - which will offer many new opportunities. I've just got to make sure I don't destroy the wonderful SEO work &lt;a href="http://one-size-doesnt-fit-all.blogspot.com/"&gt;Chris Muir&lt;/a&gt; has put into the static HTML version.&lt;br /&gt;&lt;br /&gt;Ultimately, it would be great to start participating in some of the bigger events around the world - &lt;a href="http://ukoug.org.uk/"&gt;UKOUG&lt;/a&gt; &amp;amp; &lt;a href="http://www.odtug.com/"&gt;ODTUG&lt;/a&gt;'s Kaleidoscope, for example. It's just a little shame we're here in the most isolated capital city in the world... but it's worth it - I love living here ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-4325679116543781416?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/4325679116543781416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=4325679116543781416' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4325679116543781416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4325679116543781416'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/12/retrospective.html' title='A retrospective'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-pIycOSD68r4/Ttxm_QTG6EI/AAAAAAAAAVQ/PkmY02V13cc/s72-c/ar1302flare_brahic_900.jpg' height='72' width='72'/><thr:total>2</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9528536 115.8573389</georss:point><georss:box>-31.9797991 115.8178569 -31.9259081 115.89682090000001</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-3439224046303580181</id><published>2011-11-25T12:01:00.000+08:00</published><updated>2011-11-30T14:33:37.683+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Friday Fun - I, Robot</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;DECLARE&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; There is a variety of comics in my RSS feeds, not too many - but what I think are some quality selections ;-)&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;IF &lt;/span&gt;you're interested &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;THEN&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; I can send a list;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-style-span" style="color: #38761d;"&gt;-- The timing is impeccable, but I think this calendar is an awesome purchase for anyone, any time - thought I'd share.&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;safe_link :=&lt;/span&gt; &lt;span class="Apple-style-span" style="color: #3d85c6;"&gt;'&lt;a href="http://www.lulu.com/product/calendar/calamities-of-nature-2012-calendar/18623636"&gt;http://www.lulu.com/product/calendar/calamities-of-nature-2012-calendar/18623636&lt;/a&gt;'&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;READ_IMAGE_FILE&lt;/span&gt;(&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://static.lulu.com/product/calendar/calamities-of-nature-2012-calendar/18623636/thumbnail/320" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://static.lulu.com/product/calendar/calamities-of-nature-2012-calendar/18623636/thumbnail/320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; );&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; I particularly like July - the second one reminds me of an episode of Family Guy.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Another favourite of mine =&amp;gt; I'm a &lt;a href="http://smbc.myshopify.com/products/alien-shirt"&gt;large&lt;/a&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;EXCEPTION&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; Ooh, and check out what my &lt;a href="http://www.grassroots-oracle.com/2010/12/holiday-season-cometh-want-to-decorate.html"&gt;sister&lt;/a&gt; does;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;-- you might have &lt;a href="http://www.grassroots-oracle.com/2010/12/holiday-season-cometh-want-to-decorate.html"&gt;seen it&lt;/a&gt; on penny's laptop at the AUSOUG conference&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;END;&lt;/span&gt;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;SP2-0079: Procedure created with compilation warnings&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;SW_INTERNAL&amp;gt; SHOW ERRORS&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Errors for PROCEDURE SCOTT_WESLEY:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;LINE/COL ERROR&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;-------- -----------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;1/1 &amp;nbsp; &amp;nbsp; &amp;nbsp;PLW-06009: procedure "SCOTT_WESLEY" has no coherance or distinguishable humour.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;SW_INTERNAL&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #274e13;"&gt;Wake up, Neo.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-3439224046303580181?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/3439224046303580181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=3439224046303580181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3439224046303580181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3439224046303580181'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/friday-fun-i-robot.html' title='Friday Fun - I, Robot'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6899407934488754329</id><published>2011-11-23T10:30:00.000+08:00</published><updated>2011-11-23T10:30:00.673+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Apex e-mail lag</title><content type='html'>When you submit e-mail as a process in Oracle Application Express, or using the &lt;a href="http://download.oracle.com/docs/cd/E17556_01/doc/apirefs.40/e15519/apex_mail.htm"&gt;Apex_Mail&lt;/a&gt; API in your own PL/SQL, you are essentially first submitting it to a queue - it won't be e-mailed immediately.&lt;br /&gt;&lt;br /&gt;I have seen this minor fact trip a few people when wondering where/why their mail hasn't been delivered.&lt;br /&gt;&lt;br /&gt;Prior to Apex 4.x, you would need to run the following SQL to find out details about the background job that manages the Apex mail queue:&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;select next_date, broken, what&lt;br /&gt;from dba_jobs&lt;br /&gt;where what like 'wwv_flow_mail%';&lt;/pre&gt;&lt;div&gt;Apex 4.x brings us into 21st Century Oracle by using the scheduler module instead:&lt;/div&gt;&lt;pre class="brush:sql; gutter:false;"&gt;select job_action, next_run_date, last_run_duration, state&lt;br /&gt;from dba_scheduler_jobs&lt;br /&gt;where job_name = 'ORACLE_APEX_MAIL_QUEUE';&lt;/pre&gt;&lt;div&gt;So this also means you have a number of options to push the mail queue. You can use the API mentioned ealier; call dbms_scheduler.run_job; or log in to the INTERNAL workspace and Manage Instance -&amp;gt; Mail Queue -&amp;gt; "Send all mail"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You might also be interested in the following Apex dictionary views:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New',Courier,monospace;"&gt;APEX_MAIL_LOG&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New',Courier,monospace;"&gt;APEX_MAIL_QUEUE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And if you're looking at setting up an email server on your swiss laptop (the laptop that does everything - yes, I just invented that term), perhaps start &lt;a href="https://forums.oracle.com/forums/thread.jspa?threadID=831499"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That is all,&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Scott&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6899407934488754329?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6899407934488754329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6899407934488754329' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6899407934488754329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6899407934488754329'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/apex-e-mail-lag.html' title='Apex e-mail lag'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2880078427019780755</id><published>2011-11-22T12:01:00.000+08:00</published><updated>2011-11-22T12:01:00.385+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><title type='text'>AUSOUG EOY Announcements</title><content type='html'>&lt;br /&gt;Here are some announcements from the Australian Oracle User Group (&lt;a href="http://ausoug.org.au/"&gt;AUSOUG&lt;/a&gt;), near verbatim with some personal commentary ;-)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;WA AUSOUG Xmas Function - Lawn Bowling!!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;All AUSOUG members are welcome to a fun filled afternoon of teams, prizes, drinks, nibbles, networking...and lots more.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Where:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;Perth &amp;amp; Tattersall’s Bowling and Recreation Club in East Perth&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;When:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;Wednesday, December 07, 2011 04:00pm - 07:00pm&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;RSVP:&lt;/b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;By Monday 05th December 5pm by emailing &lt;a href="mailto:vicepresident.wa@ausoug.org.au"&gt;vicepresident.wa@ausoug.org.au&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;This is available to all our AUSOUG members - take advantage of your membership &amp;amp; come join us for a bit of fun.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;If you're a &lt;a href="http://en.wikipedia.org/wiki/Grinch"&gt;grinch&lt;/a&gt; like me, don't worry - it's never too Xmas-y ;-) I find I can skip past the festive components...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AUSOUG WA Welcome New Presenters&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;AUSOUG are running a program to encourage new presenters. &amp;nbsp;We are getting a group together of newbie presenters with a view to developing and refining a presentation for an AUSOUG meeting and then for the conference. &amp;nbsp;If you are terrified of presenting but would like to give it a try in a group of similar minded people then contact &lt;a href="http://sagecomputing.com.au/contact_sage_computing_services.html"&gt;Penny&lt;/a&gt;. We will be providing assistance and encouragement in determining the best presentation for you and developing your presentation techniques.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;If you participated in the panel discussion in this year's conference, you may recall this being addressed. New presenters have always been encouraged and mentored in some form, we'd just like to remind everyone of the support you would receive if you would like to take the plunge.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;When I first started, I had some seasoned presenters more than happy to review my ideas and draft slide decks - even listen to my first practice if I wanted.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;AUSOUG AGM&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The 2011 Annual General Meeting of the Australian Oracle User Group Limited (AUSOUG) will be held at 4:30 p.m. on Wednesday November 23 at the Crowne Plaza, 16 Hindmarsh Square, Adelaide, preceding the SA Branch Christmas Party. The meeting will also be web cast for members who are not able to attend in person.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;All documentation presented at the AGM will be available on the website soon after the event.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Please send any agenda items to secretary@ausoug.org.au.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;To register for the web cast, head &lt;a href="https://meetingexpectations.webex.com/meetingexpectations/k2/j.php?ED=156027597&amp;amp;UID=998694762&amp;amp;HMAC=9572d88c27277459585a01c64eb640125ff35cea&amp;amp;RT=MiMxMQ%3D%3D&amp;amp;FM=1"&gt;here&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;The AGM isn't just for committee members, it's a forum available to all members of the user group, enabling everyone to have a say in the direction of the group. Please feel welcome to join, or contribute by providing feedback for discussion. We'd love to hear from you - but get your comments in soon!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Scott&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2880078427019780755?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2880078427019780755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2880078427019780755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2880078427019780755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2880078427019780755'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/ausoug-eoy-announcements.html' title='AUSOUG EOY Announcements'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total><georss:featurename>231 Hay St, East Perth WA 6004, Australia</georss:featurename><georss:point>-31.9584883 115.8716195</georss:point><georss:box>-31.9719603 115.8518785 -31.9450163 115.89136049999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-663156460367668604</id><published>2011-11-18T14:12:00.000+08:00</published><updated>2011-11-18T14:13:33.546+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.2'/><title type='text'>Apex 4.2 Statement of Direction</title><content type='html'>&lt;br /&gt;At the end of September the Oracle Apex development team updated the &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-sod-087560.html"&gt;statement of direction&lt;/a&gt; for Application Express 4.2&lt;br /&gt;&lt;br /&gt;The list is somewhat smaller than the &lt;a href="http://triangle-circle-square.blogspot.com/2011/02/is-apex-heading-in-right-direction.html"&gt;SOD for 4.1&lt;/a&gt;, but it seems like it will be a release that will tie off some loose ends, perhaps allowing the development team to think of grander plans for 5 - or is that wishful thinking?&lt;br /&gt;No, I wouldn't be surprised if there is a 4.3 and maybe a 4.4 first...&lt;br /&gt;&lt;br /&gt;Not forgetting the fact that &lt;a href="http://www.orafaq.com/maillist/oracle-l/2002/07/29/2400.htm"&gt;version numbers&lt;/a&gt; are probably quite&amp;nbsp;arbitrary&amp;nbsp;and assist marketing more than being a true reflection of functional content. (There are no hard facts here, in fact I couldn't find the article I was going to link to suggesting this notion...)&lt;br /&gt;&lt;br /&gt;As for the points in the SOD:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Mobile applications&lt;/b&gt; - the only delay in this being included in 4.1 was &lt;a href="http://joelkallman.blogspot.com/2011/08/oracle-application-express-41-released.html"&gt;Oracle waiting&lt;/a&gt; for &lt;a href="http://jquerymobile.com/"&gt;jQuery Mobile&lt;/a&gt; to be production ready (announcement of readiness made today!) - not Apex. This is a switch waiting &lt;a href="http://marcsewtz.blogspot.com/2011/11/getting-started-with-mobile-in-apex.html"&gt;to be flicked&lt;/a&gt;.&lt;br /&gt;&lt;i&gt;I saw someone recently suggest 4.2 will be released in first half of 2012 - but do you think I can remember which particular social media mentioned that?&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Charts&lt;/b&gt; - I'm not currently a heavy user of charts, but I'm sure the newer HTML 5 features will be a dream for many. I wonder though if the Apex team will add more declarative options for the AnyChart features - instead of forcing the developer to rely on customising the XML.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Web services&lt;/b&gt; - I'm not currently a heavy user of web services, either. But I know many clients who would love a more declarative &amp;amp; secure nature to web services within Apex.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Application Deployment&lt;/b&gt; - to me, this is what desperately needs the most attention in Apex. I have some thoughts on this that I may share in a future post.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Functional/performance improvements&lt;/b&gt; - aren't there always? I must say I like discovering the &lt;a href="http://www.grassroots-oracle.com/2011/11/apex-matures-sequence-usage.html"&gt;random little features&lt;/a&gt; dotted around the development environment.&lt;br /&gt;And I simply won't say no to &lt;i&gt;even better&lt;/i&gt;&amp;nbsp;performance.&lt;/li&gt;&lt;/ul&gt;If the Apex line-up in &lt;a href="http://www.kscope12.com/"&gt;KScope 12&lt;/a&gt; is any indication, I think next year is going to be when I really get into mobile programming with Apex.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-663156460367668604?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/663156460367668604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=663156460367668604' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/663156460367668604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/663156460367668604'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/apex-42-statement-of-direction.html' title='Apex 4.2 Statement of Direction'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-9156495243356162470</id><published>2011-11-18T08:00:00.000+08:00</published><updated>2011-11-18T08:00:00.876+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sequences'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Triggers'/><title type='text'>Apex matures =&gt; sequence usage</title><content type='html'>Of course many of the new features that come with an Oracle product are &lt;a href="http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21672/toc.htm#CHDICFFC"&gt;well documented&lt;/a&gt;. In fact, it's not a bad idea to read through the entire release notes for every Apex release because they also include things like &lt;a href="http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21672/toc.htm#BABFBHEF"&gt;changed behaviour&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Some changes in Apex 4.1 are that minor that you wouldn't even notice them until you fall over it.&lt;br /&gt;&lt;br /&gt;Something I found recently was the code generated when choosing to source your primary key from a sequence when building a form.&lt;br /&gt;&lt;br /&gt;Previously, the code was a little ugly:&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;declare&lt;br /&gt;  function get_pk return varchar2&lt;br /&gt;  is&lt;br /&gt;  begin&lt;br /&gt;    for c1 in (select EMP_SEQ.nextval next_val&lt;br /&gt;               from dual)&lt;br /&gt;    loop&lt;br /&gt;        return c1.next_val;&lt;br /&gt;    end loop;&lt;br /&gt;  end;&lt;br /&gt;begin&lt;br /&gt;  :P6_EMPNO := get_pk;&lt;br /&gt;end;&lt;/pre&gt;Now it's somewhat simpler:&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;begin&lt;br /&gt;    if :P6_EMPNO is null then&lt;br /&gt;        select "EMP_SEQ".nextval&lt;br /&gt;          into :P6_EMPNO&lt;br /&gt;          from dual;&lt;br /&gt;    end if;&lt;br /&gt;end;&lt;/pre&gt;What they haven't done, however, is clean up the custom function example - and this is a little more noticable.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ugWmSF_A_wE/TsSv5xQQWFI/AAAAAAAAAVE/OqvyJmTWTMs/s1600/max_plus_one.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="328" src="http://4.bp.blogspot.com/-ugWmSF_A_wE/TsSv5xQQWFI/AAAAAAAAAVE/OqvyJmTWTMs/s400/max_plus_one.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;I noted this in EA for 4.0 - I think they said they've logged the change, but it still hasn't come along. While it's not really &lt;i&gt;promoting &lt;/i&gt;this sort of code, it doesn't really have a place anywhere except perhaps an &lt;a href="http://stackoverflow.com/questions/3511826/how-bad-is-using-select-maxid-in-mysql-instead-of-mysql-insert-id-in-php"&gt;article&lt;/a&gt; &lt;a href="http://www.iknowkungfoo.com/blog/index.cfm/2008/6/1/Please-stop-using-SELECT-MAX-id"&gt;talking&lt;/a&gt; about how bad it is for concurrent user environments.&lt;br /&gt;&lt;br /&gt;Perhaps sequence usage will change with &lt;a href="http://blog.sydoracle.com/2011/11/wish-list-iii-sequence-cometh.html"&gt;12c&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;Idle musings... Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-9156495243356162470?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/9156495243356162470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=9156495243356162470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/9156495243356162470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/9156495243356162470'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/apex-matures-sequence-usage.html' title='Apex matures =&gt; sequence usage'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ugWmSF_A_wE/TsSv5xQQWFI/AAAAAAAAAVE/OqvyJmTWTMs/s72-c/max_plus_one.png' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9528536 115.8573389</georss:point><georss:box>-31.9797991 115.8178569 -31.9259081 115.89682090000001</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8742389356845473192</id><published>2011-11-08T12:24:00.002+08:00</published><updated>2011-11-08T12:24:59.595+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>AUSOUG 2011 Conference Review</title><content type='html'>I think this year was successful. We had a&lt;i&gt; superb&lt;/i&gt; line up this year, which inherently meant there were a few clashes on the schedule - especially for the DBAs. My apologies, some of those were hard to avoid due to many changes that were necessary in the final weeks before the conference. (thanks Qantas ;-)&lt;br /&gt;&lt;br /&gt;My first year experience as the Program Chair was interesting, and I'm more than happy to take on the job next year. If anyone has any feedback they'd like to provide on the schedule, the conference, or the user group in general - we welcome &amp;amp; encourage all thoughts or suggestions.&lt;br /&gt;In fact, every month we hold a committee meeting, and there is an AGM on Nov 23 that all are welcome to attend - even by webinar. Alternatively, you can send any agenda items to &lt;a href="mailto:secretary@ausoug.org.au"&gt;Tony&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We had some issues that were responded to well during the conference, and many others have already been addressed in a committee face-to-face over the weekend. Hopefully we can shake things up a little next year.&lt;br /&gt;&lt;br /&gt;Visit here for my small &lt;a href="http://www.grassroots-oracle.com/2011/11/ausoug-2011-photo-gallery.html"&gt;photo gallery&lt;/a&gt;. I'm sure Ailsa will have some more professional shots available soon.&lt;br /&gt;&lt;br /&gt;As for the sessions I attended:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Day 1&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;Us exhibitors started early. Too early. Well, my stomach was confused and someone was handing out these t-shirts with SAGE written in big white letters. I listened to Martin &amp;amp; Ian's intro, then went back to help prepare for the next two days.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chris Muir&lt;/b&gt; - &lt;i&gt;Ultimate Sales Pitch for ADF&lt;/i&gt; - While I had seem something similar during the Sage JDeveloper half day, I thought I'd listen to the skinny on why people should choose ADF. I must say, it was a pretty good sales pitch, but it made me feel like a Cobol programmer that desparately needs to update their skills!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Gabriel Ilarda&lt;/b&gt; &lt;i&gt;OBIEE&lt;/i&gt; / &lt;b&gt;Ray Tindall&lt;/b&gt; &lt;i&gt;WLS&lt;/i&gt; - I started with Gabriel partially because I've been encouraging him to present each year. It seemed his pairing with colleague Dale had him under good control, and it looked pretty good. I had some things to do, so I snuck out and also caught a bit of Ray's look at Web Logic Server. It was going over my head, but he had a captive audience and apparently it was well received.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Alwyn Woo&lt;/b&gt; - &lt;i&gt;OLM&lt;/i&gt; - Alwyn's another local I've encouraged to present. It was his first presentation and had hintered preparation, so I was impressed to see a clear, well thought out presentation. I asked a random question half way through about remote queries and he responded well.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Jeff Kemp&lt;/b&gt; - &lt;i&gt;Simple ETL&lt;/i&gt; - I've worked with Jeff before on a project that involved some heavy ETL, and I was curious to hear what he had to see. It ended up being an interesting case study on a ETL project that was relatively small, but Jeff still had plenty of information to share. I was expecting something a little more technical, but to his credit Jeff did point out at the start what the deal was. Tom Kyte would have been impressed - I saw one SQL statement - a merge - that had plenty of good business logic going on. Golden rule - do as many things as possible in SQL - check!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Graham Wood&lt;/b&gt; - &lt;i&gt;Oracle Hidden Features&lt;/i&gt; - One of many clashes due to such a great line-up. Unfortunately I skipped Penny's winning show - figured I'd seen enough ADF today by going to Chris' presentation earlier, and after seeing Graham in Sydney earlier in the year I was curious to see what sort of features he'd be talking about.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Day 2&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;My third morning with the alarm at 5am, after a few weeks of burning too much candle on both ends - this time I somehow managed to ignore it. So I missed the &lt;i&gt;Introduction to the ACE program&lt;/i&gt;. Instead, after arriving with 10 minutes to spare, I had to find Penny to borrow her laptop (I planned to travel light), find Connor to borrow his pointer (I left my dongle in my laptop at home) and find a Burswood stage-hand (my room must have been 30C!)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Scott Wesley&lt;/b&gt; - &lt;i&gt;Apex 4.1 Security&lt;/i&gt; - what an awesome presentation ;-) Actually, my run through the night before led me to believe it was going to go pretty well. On the day though I must say I had no idea how many people attended, let alone who was in the audience. Usually I'm reasonably aware of this, but my blinkers were on pretty hard! So thank you for those who voted positively... the new style was (apparently) a winner, and I think I'll stick with it when the topic or content will suit.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mark Lancaster&lt;/b&gt; - &lt;i&gt;4.1 Minor upgrade or not&lt;/i&gt; - Given the conference lead up, I really haven't had a chance to play much with Apex 4.1 (beyond the security features), so seeing Mark cover the differences and features at the level he did was excellent.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Frank Nimphius&lt;/b&gt; - &lt;i&gt;Adding Mobile &amp;amp; Web 2.0 UIs to Existing Applications&lt;/i&gt; - The Fusion Way - given the mass amount of Fusion content, the schedule adjustments, and my feeling that mobile UI is only going to get more important - I figured I'd check Frank's session out. He's a good speaker, but at this point I had hit a wall so I was struggling to concentrate. I believe Eddie spotted me blinking...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Panel Discussion&lt;/b&gt; &lt;i&gt;(User Groups) &lt;/i&gt;- I think this was a success. We were always going to be struggling for time, but Vinod kept a tight ship. We had a good discussion with decent participation from the audience. I think we should open up topic ideas for next year. Yury has this session recorded, so stay tuned for visibility.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chris Muir&lt;/b&gt; - &lt;i&gt;Angels in the Architecture&lt;/i&gt; - I had seen Graham talk Exadata in Sydney at length, so I skipped Graham to watch Chris talk ADF blueprints. I currently lack the ADF skill to really comprehend what Chris was trying to illustrate, but he did it really well and I could see the rest of the audience was loving it.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Connor McDonald&lt;/b&gt; - &lt;i&gt;A year in purgatory&lt;/i&gt; - diary of 11.2 RAC upgrade - I find Connor never disappoints, and while his presentation this year wasn't as technical as usual, his tale of hell enthralled the room. He also received a heartfelt applause when he announced (spoiler alert) the upgrade was ultimately successful - on time. Not only that, he kept the audience awake in the last session of the day.&lt;br /&gt;&lt;br /&gt;Good work speakers, for having the tenacity to write the presentation; for having the confidence to present it; and the patience to put up with scheduling changes.&lt;br /&gt;&lt;br /&gt;Thank you to all the delegates. I hoped you enjoyed this year's conference enough to come back again next year. Thanks for listening and appreciating our speakers share their experiences.&lt;br /&gt;&lt;br /&gt;Special thanks to Burke, Penny, Francisco &amp;amp; Chris for assistance with the conference schedule, and those who reviewed the abstracts.&lt;br /&gt;&lt;br /&gt;And a big thank you to all the user group committee members &amp;amp; volunteers involved in bringing it all together. This includes the exhibitors that greeted all those attending with a smile.&lt;br /&gt;&lt;br /&gt;Let's make next year so much better.&lt;br /&gt;&lt;br /&gt;Scott Wesley&lt;br /&gt;AUSOUG 2011 Program Chair&lt;br /&gt;Sage Computing Services&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8742389356845473192?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8742389356845473192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8742389356845473192' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8742389356845473192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8742389356845473192'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/ausoug-2011-conference-review.html' title='AUSOUG 2011 Conference Review'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>2</thr:total><georss:featurename>Burswood WA, Australia</georss:featurename><georss:point>-31.9621951 115.8947772</georss:point><georss:box>-31.9756666 115.8750362 -31.948723599999997 115.91451819999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7740488931248003670</id><published>2011-11-08T12:24:00.000+08:00</published><updated>2011-11-08T12:24:11.338+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>AUSOUG 2011 Photo gallery</title><content type='html'>&lt;b&gt;AUSOUG 2011 Photo gallery&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-u5h1_rmQOTI/TriCY1A3GuI/AAAAAAAAAUY/VspP1U_Qewc/s1600/adf_e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="222" src="http://2.bp.blogspot.com/-u5h1_rmQOTI/TriCY1A3GuI/AAAAAAAAAUY/VspP1U_Qewc/s400/adf_e.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://one-size-doesnt-fit-all.blogspot.com/"&gt;Chris&lt;/a&gt; explaining how ADF is like a flower...&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XLnh6E-vscQ/TriCcApS3TI/AAAAAAAAAUg/yV2llAdIDs0/s1600/gabriele_.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="350" src="http://2.bp.blogspot.com/-XLnh6E-vscQ/TriCcApS3TI/AAAAAAAAAUg/yV2llAdIDs0/s400/gabriele_.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;That looks like Roen front row centre - listening to Gabriel&amp;nbsp;talk BI&amp;nbsp;in what I presume to be a flash Italian suit&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-b-XLMCjEE-c/TriCeHiin5I/AAAAAAAAAUw/RVVVRDmSa5U/s1600/sage_back_e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://3.bp.blogspot.com/-b-XLMCjEE-c/TriCeHiin5I/AAAAAAAAAUw/RVVVRDmSa5U/s640/sage_back_e.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;The Sage team listening to our Managing Director speak - I was in another room...&lt;/div&gt;&lt;div style="text-align: center;"&gt;(Chris - other row, Eddie, Kylie, Kate, Ray, Branka)&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qbTfMn9uNVE/TriCc9wcuAI/AAAAAAAAAUo/VwNlpZVxiRk/s1600/jeff_e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="307" src="http://3.bp.blogspot.com/-qbTfMn9uNVE/TriCc9wcuAI/AAAAAAAAAUo/VwNlpZVxiRk/s400/jeff_e.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://jeffkemponoracle.com/"&gt;Jeff&lt;/a&gt;, that's a naughty word on your slide, there&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-e4w4wFFct1M/TriCfG46EBI/AAAAAAAAAU4/pY22XHCkS8Y/s1600/panel_e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://3.bp.blogspot.com/-e4w4wFFct1M/TriCfG46EBI/AAAAAAAAAU4/pY22XHCkS8Y/s640/panel_e.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;I think &lt;a href="http://debrasoracle.blogspot.com/"&gt;Debra&lt;/a&gt; may be trying to comprehend my slightly modified agenda&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;(Vinod, Tim, Debra, Connor, Graham, Penny, Chris)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-JAAX882HQbU/TriCXRd4EHI/AAAAAAAAAUU/BK4QCAr-F-g/s1600/pigs_e.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="252" src="http://3.bp.blogspot.com/-JAAX882HQbU/TriCXRd4EHI/AAAAAAAAAUU/BK4QCAr-F-g/s640/pigs_e.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;I think &lt;a href="http://www.wtfistheacevest.com/"&gt;Stanley &lt;/a&gt;would like to know if trampling is a crime...&amp;nbsp;&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;i&gt;because if so, these green pigs are GUILTY!&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7740488931248003670?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7740488931248003670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7740488931248003670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7740488931248003670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7740488931248003670'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/ausoug-2011-photo-gallery.html' title='AUSOUG 2011 Photo gallery'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-u5h1_rmQOTI/TriCY1A3GuI/AAAAAAAAAUY/VspP1U_Qewc/s72-c/adf_e.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Burswood WA, Australia</georss:featurename><georss:point>-31.9621951 115.8947772</georss:point><georss:box>-31.9756666 115.8750362 -31.948723599999997 115.91451819999999</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8489923158005073701</id><published>2011-11-04T23:18:00.003+08:00</published><updated>2011-11-07T13:42:46.436+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Connor McDonald'/><title type='text'>Sage Hat Trick!</title><content type='html'>Well done to the Sage team!&lt;br /&gt;&lt;br /&gt;With the help of our wonderful support crew, the Sage team won the three best paper awards&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Best Ace - &lt;a href="http://sagecomputing.com.au/"&gt;Penny Cookson&lt;/a&gt;&amp;nbsp;- I missed her talk this year, but I'm sure it was full of rude jokes&lt;/li&gt;&lt;li&gt;Best from OTN Tour - &lt;a href="http://one-size-doesnt-fit-all.blogspot.com/"&gt;Chris Muir&lt;/a&gt; - finally not foiled by just as superb &lt;a href="http://connormcdonald.wordpress.com/"&gt;Connor McDonald&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Best Paper - &lt;a href="http://www.grassroots-oracle.com/2011/11/oracle-apex-41-security-presentation.html"&gt;Scott Wesley&lt;/a&gt; - me! I'm so happy, particularly since I overslept and made it with only 10 minutes to spare!&lt;/li&gt;&lt;/ol&gt;I'll blog about my experience with the Prezi tool soon, I've had a few people asking questions.&lt;br /&gt;&lt;br /&gt;Now it's bed time.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8489923158005073701?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8489923158005073701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8489923158005073701' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8489923158005073701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8489923158005073701'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/sage-hat-trick.html' title='Sage Hat Trick!'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8584780842708117283</id><published>2011-11-04T12:08:00.000+08:00</published><updated>2011-11-04T23:19:39.955+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Oracle Apex 4.1 Security Presentation</title><content type='html'>As promised here is the link to the presentation I gave on 4th November 2011 at the Perth AUSOUG conference.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Update : I was awarded &lt;a href="http://www.grassroots-oracle.com/2011/11/sage-hat-trick.html"&gt;Best Paper&lt;/a&gt; for this. Thanks everyone!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I hope you enjoy it, and find it informative.&lt;br /&gt;&lt;a href="http://prezi.com/89xxuz4ekmvv/oracle-apex-41-security/"&gt;http://prezi.com/89xxuz4ekmvv/oracle-apex-41-security/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="prezi-player"&gt;&lt;style media="screen" type="text/css"&gt;.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }&lt;/style&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" height="400" id="prezi_89xxuz4ekmvv" name="prezi_89xxuz4ekmvv" width="550"&gt;&lt;param name="movie" value="http://prezi.com/bin/preziloader.swf"/&gt;&lt;param name="allowfullscreen" value="true"/&gt;&lt;param name="allowscriptaccess" value="always"/&gt;&lt;param name="bgcolor" value="#ffffff"/&gt;&lt;param name="flashvars" value="prezi_id=89xxuz4ekmvv&amp;amp;lock_to_path=1&amp;amp;color=ffffff&amp;amp;autoplay=no&amp;amp;autohide_ctrls=0"/&gt;&lt;embed id="preziEmbed_89xxuz4ekmvv" name="preziEmbed_89xxuz4ekmvv" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=89xxuz4ekmvv&amp;amp;lock_to_path=1&amp;amp;color=ffffff&amp;amp;autoplay=no&amp;amp;autohide_ctrls=0"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div class="prezi-player-links"&gt;&lt;a href="http://prezi.com/89xxuz4ekmvv/oracle-apex-41-security/" title="Offering Obfuscation Options - AUSOUG 2011"&gt;Oracle Apex 4.1 Security&lt;/a&gt; on &lt;a href="http://prezi.com/"&gt;Prezi&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Just a shame you don't hear my, err..."charismatic"&amp;nbsp;commentary ;-)&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8584780842708117283?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8584780842708117283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8584780842708117283' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8584780842708117283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8584780842708117283'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/oracle-apex-41-security-presentation.html' title='Oracle Apex 4.1 Security Presentation'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4302634872091096687</id><published>2011-11-01T23:36:00.001+08:00</published><updated>2011-11-02T05:27:30.888+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>SAGE Welcomes the 2011 AUSOUG Conference</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;&lt;/div&gt;This years AUSOUG conference is just about upon us, and I'd like to make a few announcements.&lt;br /&gt;&lt;br /&gt;I've created a special page on the &lt;a href="http://sagecomputing.com.au/presentations_sage_computing_services.html"&gt;Sage Computing website&lt;/a&gt; that details our involvement.&lt;br /&gt;&lt;br /&gt;We will have a booth in the exhibition centre, so seek us out. In between mingling, feasting, networking and general mucking about you might have a chance to talk with us about resourcing, training or how nice the curry was today.&lt;br /&gt;&lt;br /&gt;You can also find members of our team presenting at the following times:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Chris Muir&lt;/strong&gt;  - Thursday 10:30 - Studio 1&lt;br /&gt;&lt;a href="http://www.ausoug.org.au/2020/documents/SpeakerProfiles/Dev/Muir_Chris(1)_The%20Ultimate%20Sales%20Pitch%20for%20ADF.pdf"&gt;The Ultimate Sales Pitch for ADF:&lt;/a&gt;&lt;br /&gt;on strategic importance and practical value&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Ray Tindall&lt;/strong&gt;  - Thursday 11:30 - Astral 3&lt;br /&gt;Tips, Tricks &amp;amp; Traps for &lt;a href="http://www.ausoug.org.au/2020/documents/SpeakerProfiles/fmjdev/Tindall_Ray_Tips%20and%20traps.pdf"&gt;Weblogic Server&lt;/a&gt; Installation &amp;amp; Maintenance&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Penny Cookson&lt;/strong&gt;  - Thursday 16:15 - The Studio&lt;br /&gt;&lt;a href="http://www.ausoug.org.au/2020/documents/SpeakerProfiles/fmjdev/Cookson_Penny_JDev%20ADF.pdf"&gt;JDeveloper ADF and the Oracle Database:&lt;/a&gt;&amp;nbsp;friends not foes&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Scott Wesley&lt;/strong&gt;  - Friday 8:45 - The Studio&lt;br /&gt;&lt;a href="http://www.ausoug.org.au/2020/documents/SpeakerProfiles/Dev/Wesley_Scott_Apex.pdf"&gt;Apex 4.1 Security:&lt;/a&gt;&amp;nbsp;offering obfuscation options&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Penny Cookson, Chris Muir et al&lt;/strong&gt; - Astral 2&lt;br /&gt;Friday 13:45 - &lt;a href="http://www.ausoug.org.au/2020/documents/SpeakerProfiles/general/Panel_Discussion.pdf"&gt;Panel Discussion&lt;/a&gt;&lt;br /&gt;Presenting: from novice to expert - How your user group can improve your career.&lt;br /&gt;&lt;a href="mailto:scott.wesley@sagecomputing.com.au'"&gt;Submit a question&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Chris Muir&lt;/strong&gt; - Friday 14:45 - Studio 2&lt;br /&gt;&lt;a href="http://www.ausoug.org.au/2020/documents/SpeakerProfiles/Dev/Muir_Chris_angels.pdf"&gt;Angels in the Architecture:&lt;/a&gt;&lt;br /&gt;An ADF Application Architecture Blueprint&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Branka promises me our booth will look &lt;i&gt;stunning&lt;/i&gt; this year, no doubt outshone by including rest our stunning team (ahem)&amp;nbsp;Kate,&amp;nbsp;Eddie &amp;amp; Kylie.&lt;br /&gt;&lt;br /&gt;We will also be reminding delegates of our two upcoming Perth workshops:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Apex 4 Workshop November 9-11&amp;nbsp;&lt;/li&gt;&lt;li&gt;Oracle PL/SQL&amp;nbsp;11g&amp;nbsp;Workshop 21-23&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Talk to us for further details, we should have pamphlets available - right next to our &lt;span class="Apple-style-span" style="color: #274e13;"&gt;&lt;b&gt;freebies!&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Swing by, there might be some other surprises.&lt;br /&gt;&lt;br /&gt;**&lt;br /&gt;&lt;br /&gt;With my 2011 AUSOUG Program Chair hat on, please check the AUSOUG conference &lt;a href="http://www.ausoug.org.au/2020/program.html"&gt;program page&lt;/a&gt; for the latest updates - it's been a tough battle keeping the schedule still with the turbulence this year ;-)&lt;br /&gt;&lt;br /&gt;To print it was updated &lt;a href="http://www.ausoug.org.au/2020/documents/Program_20111101.pdf"&gt;1st November&lt;/a&gt;. If you are interested in attending the panel session on Friday just after lunch - think about e-mailing us a question for the panel to discuss.&lt;br /&gt;&lt;br /&gt;Something else you haven't seen before - on the second morning we have Dennis Ward introducing the Oracle ACE &amp;amp; Java Champions program at 8.25am, so grab a coffee/tea and come by Astral 3 to find out what the deal is with all the ACEs on the program.&lt;br /&gt;&lt;br /&gt;Then later, after lunch&amp;nbsp;listen/join in on a discussion with a panel of experts moderated by kind Vinod Patel - they will be talking about how user groups can help improve your career, and maybe even become an ACE yourself.&lt;br /&gt;&lt;br /&gt;**&lt;br /&gt;&lt;br /&gt;I look forward to meeting those I haven't met, and greeting those I haven't seen in a while. And a cheerio to those that I saw just the other day!&lt;br /&gt;&lt;br /&gt;Bring on the food.&lt;br /&gt;&lt;br /&gt;Scott&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ps - if there is one presentation you should see, just for something different, check out &lt;a href="http://www.ausoug.org.au/2020/documents/SpeakerProfiles/DBA/McDonald_Connor_a%20year%20in%20purgatory.pdf"&gt;Connor McDonald&lt;/a&gt; at the end of the last day. You'll come out laughing, and ready to find out which bar people are heading to!&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-4302634872091096687?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/4302634872091096687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=4302634872091096687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4302634872091096687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4302634872091096687'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/11/sage-welcomes-2011-ausoug-conference.html' title='SAGE Welcomes the 2011 AUSOUG Conference'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7471929612271271667</id><published>2011-10-18T10:38:00.001+08:00</published><updated>2011-10-18T10:38:51.688+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Updates to the AUSOUG Conference schedule</title><content type='html'>Some of you may have received an e-mail today from the AUSOUG conference manager regarding some examples of new sessions included in the line-up.&lt;br /&gt;&lt;br /&gt;This year we've been lucky in that we haven't had to make many adjustments to the program due to issues like international speakers having visa problems. Last week however we had a bit of rearranging to do to fit in the new sessions without creating conflicts.&lt;br /&gt;&lt;br /&gt;There haven't been too many adjustments, most of them just different times on the same day - but I know some of you out there only come for the one day, and often select which day based on particular sessions. You might want to visit the conference &lt;a href="http://www.ausoug.org.au/2020/program.html"&gt;program page&lt;/a&gt; to check out the latest changes, as of 17th October.&lt;br /&gt;&lt;br /&gt;If you haven't looked at the line-up for a while, you may notice at 1:45pm on the second day there is a panel discussion titled "&lt;i&gt;Presenting: from novice to expert - How your user group can improve your career&lt;/i&gt;"&lt;br /&gt;&lt;br /&gt;Our panel members will be&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Debra Lilley&lt;/li&gt;&lt;li&gt;Chris Muir&lt;/li&gt;&lt;li&gt;Connor McDonald&lt;/li&gt;&lt;li&gt;Penny Cookson&lt;/li&gt;&lt;li&gt;Tim Hall&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;And Vinod Patel has kindly accepted to be the ring leader keeping them all in line ;-)&lt;/div&gt;&lt;div&gt;Vinod is also talking to Oracle WA to have a representative from Oracle up there as well.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm currently sorting out the agenda with Yury Velikanov, who has just started a &lt;a href="http://www.linkedin.com/groups/AUSOUG-Oracle-20-20-Foresight-4133245?home=&amp;amp;gid=4133245&amp;amp;trk=anet_ug_hm"&gt;LinkedIn&lt;/a&gt;&amp;nbsp;and &lt;a href="http://www.facebook.com/groups/235028623220942/"&gt;Facebook&lt;/a&gt; group&amp;nbsp;for the Perth conference. He's also started a discussion to accept any questions you might like to put to the panel. If you submit them now, we can better prepare for the day and have a better chance of your question being answered. We want to make the session as interactive as we can, and eke out as much advice from our experts as possible!&lt;/div&gt;&lt;div&gt;If you can't make it to the conference, but have a good question you think should put to the group, feel free to post it anyway so others may benefit. I'll comment about the session after the conference and I might be able to share any wealth I can remember.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If the panel isn't your thing, we have an alternative session on that time slot by Bryan Frew from Oracle. He will be talking about an interesting case study on Business Process Management (BPM).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Other additions include&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Graham Wood on Exadata - You may have seen him as part of the trio at the Real World Performance day post-Insync. He'll give us a much closer look at what's involved in constructing an Exadata environment. This will be in&amp;nbsp;lieu&amp;nbsp;of Graham's hidden features presentation.&lt;/li&gt;&lt;li&gt;Yury Velikanov - This fellow is back from Oracle Open World, and since there have been all sorts of big announcements from Oracle, we've substituted one of his more appropriate &amp;amp; timely presentations in.&lt;/li&gt;&lt;li&gt;Chris Muir on ADF - If you want to know &lt;i&gt;anything &lt;/i&gt;about ADF, Chris is the man to talk to. He is an ACE director for the product, and we now have a second presentation to include from him. He's first presentation on day one will introduce ADF and it's strategic &amp;amp; practical use in our industry; then he'll follow it up on day two with an architectural blueprint on application delivery. Chris is currently instrumental in a large Forms -&amp;gt; JDeveloper migration in Perth. You can find commentary on this &lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/fhog-uin-157767.pdf"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Never fear, though - I'm still due to present my chat on options for security in Apex 4.1 first up on day two. I&lt;i&gt; won't &lt;/i&gt;be using boring old powerpoint, so come by to check out something a little different ;-)&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Scott&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7471929612271271667?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7471929612271271667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7471929612271271667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7471929612271271667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7471929612271271667'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/10/updates-to-ausoug-conference-schedule.html' title='Updates to the AUSOUG Conference schedule'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-659674943184436733</id><published>2011-10-12T07:23:00.000+08:00</published><updated>2011-10-12T07:23:49.902+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Three AUSOUG announcements (incl free breakfast!)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-0vWhoZJiSGk/TpLr0jMkB_I/AAAAAAAAAUE/PMU2sbNcZP0/s1600/1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-0vWhoZJiSGk/TpLr0jMkB_I/AAAAAAAAAUE/PMU2sbNcZP0/s1600/1.png" /&gt;&lt;/a&gt;&lt;/div&gt;If you like a &lt;span class="Apple-style-span" style="color: red;"&gt;free breakfast&lt;/span&gt;, then you should visit the Perth Oracle Building on Friday Oct 21 from 7:30-9am. Visiting Victorian branch president &lt;a href="http://www.linkedin.com/pub/barbara-rabinowicz/4/99/559"&gt;Barbara Rabinowicz&lt;/a&gt; will be presenting on &lt;b&gt;Oracle Database Security&lt;/b&gt;.&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Oracle database security is a topic that impacts on ALL Oracle professionals.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Database security is an important aspect of the database which is often overlooked. This presentation will cover the security and auditing aspects of the database. It will include securing methods, monitoring and auditing techniques of the database environment in areas of network security,authentication, authorisation issues, links, replication, database Trojan and more.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;The session will include a demo of configuring Oracle Network Encryption.&lt;/i&gt;&lt;/blockquote&gt;Oracle Australia: Level 2, 66 Kings Park Road, West Perth&lt;br /&gt;Ticket parking is available in neighboring streets, and it's also not far from the peak of the Red CAT bus route.&lt;br /&gt;RSVP to&amp;nbsp;&lt;a href="mailto:vicepresident.wa@ausoug.org.au"&gt;vicepresident.wa@ausoug.org.au&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I had the pleasure of meeting Barbara at Insync11, and unfortunately I missed out on her talk while over there - so here's everyone's chance from Perth to see her in&amp;nbsp;our final event before the conference, and remember - breakfast is free - and based on the last event, quite tasty.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-OT419G77ga0/TpLr0dOZQOI/AAAAAAAAAUA/JDfaY7LSGK8/s1600/2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-OT419G77ga0/TpLr0dOZQOI/AAAAAAAAAUA/JDfaY7LSGK8/s1600/2.png" /&gt;&lt;/a&gt;&lt;/div&gt;We have lined up something a little different in one of the keynote slots at the &lt;a href="http://www.ausoug.org.au/2020/program.html"&gt;AUSOUG conference&lt;/a&gt; this year - we have lined up an informal style panel opening the floor&amp;nbsp;to discussions regarding a career that involves public speaking as an Oracle expert.&lt;br /&gt;Panelists coming (almost) straight from OOW including Yury Velikanov, Debra Lilley, Tim Hall, Connor McDonald &amp;amp; Chris Muir.&lt;br /&gt;&lt;br /&gt;More details to come soon.&lt;br /&gt;&lt;br /&gt;And we have some updates to the schedule with people bringing even more information straight from OOW - Paul Kangro from Oracle will be lettings us know about&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Oracle Enterprise Manager 12C – Managing in the Clouds&lt;/li&gt;&lt;li&gt;The New OVM 3.0 – Virtualization from Oracle&lt;/li&gt;&lt;/ul&gt;We also have meet the speakers program, facilitating opportunities to have a 15 minute discussion with some of our experts. Email our&amp;nbsp;&lt;a href="mailto:conferencemanager@ausoug.org.au"&gt;conference manager&lt;/a&gt;&amp;nbsp;for more information or &lt;a href="http://www.ausoug.org.au/2020/registration.html"&gt;register&lt;/a&gt; soon!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-bpWFS3HzfSw/TpLrz6Px0cI/AAAAAAAAAT8/zweZQQSVTpQ/s1600/3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-bpWFS3HzfSw/TpLrz6Px0cI/AAAAAAAAAT8/zweZQQSVTpQ/s1600/3.png" /&gt;&lt;/a&gt;&lt;/div&gt;The WA committee has also organised an end of year party for all our AUSOUG members. This year it will be fun filled time lawn bowling at Perth &amp;amp; Tattersall's Bowling Club, 2 Plain St Perth from 4pm Wednesday December 7th, 2011. Further details will be available closer to the event.&lt;br /&gt;&lt;br /&gt;Hope to see you soon!&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-659674943184436733?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/659674943184436733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=659674943184436733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/659674943184436733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/659674943184436733'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/10/three-ausoug-announcements-incl-free.html' title='Three AUSOUG announcements (incl free breakfast!)'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-0vWhoZJiSGk/TpLr0jMkB_I/AAAAAAAAAUE/PMU2sbNcZP0/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>66 Kings Park Rd, West Perth WA 6005, Australia</georss:featurename><georss:point>-31.9508212 115.8346604</georss:point><georss:box>-31.9525052 115.83219290000001 -31.9491372 115.8371279</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2585288798274796400</id><published>2011-10-10T15:10:00.001+08:00</published><updated>2011-10-10T15:10:39.578+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apex Listener'/><category scheme='http://www.blogger.com/atom/ns#' term='JQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.1'/><title type='text'>Upgrading to Apex 4.1</title><content type='html'>Today I finally upgraded the Apex instance on my laptop to 4.1, and I'm very keen to start playing with the &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-41-new-features-459652.html"&gt;new goodies&lt;/a&gt; once I &lt;strike&gt;start&lt;/strike&gt;&amp;nbsp;finish&amp;nbsp;my AUSOUG conference presentation.&lt;br /&gt;&lt;br /&gt;When installing/upgrading anything Oracle, it's always a good start reading through the relevant installation notes. In my case, I started here:&lt;br /&gt;&lt;i&gt;Installing/upgrading with Apex Listener&lt;/i&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21673/otn_install.htm#BABEHJHG"&gt;http://download.oracle.com/docs/cd/E23903_01/doc/doc.41/e21673/otn_install.htm#BABEHJHG&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've heard some people are a little daunted sometimes with these notes - it's a shame because they are useful &amp;amp; concise. I've summarised the steps I needed to take below - as out of that page I linked to above - I only needed to apply a small percentage of commands. (I have Apex running on Glassfish on a Windows box)&lt;br /&gt;&lt;br /&gt;1) First, I downloaded the software I needed for my system. Googling "&lt;a href="http://lmgtfy.com/?q=download+oracle+apex"&gt;download oracle apex&lt;/a&gt;" is always the best place to start for getting what you need.&lt;br /&gt;&lt;br /&gt;I unpacked it to a fresh folder on my C drive:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QhVeio7ivns/TpKVCck5I7I/AAAAAAAAAT0/39sqQ6kkGqg/s1600/apex41.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-QhVeio7ivns/TpKVCck5I7I/AAAAAAAAAT0/39sqQ6kkGqg/s1600/apex41.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;2) Then I opened up SQL*Plus, ensuring my "Start in" was set to "c:\apex41", then logged in as SYS.&lt;br /&gt;I ran the following script, which took about 15 minutes to run through and rejig my Apex 4.0 to 4.1&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;@apexins apex sysaux temp /i/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3) Then I had to copy all the images to my application server folder. Apex 4.1 has some fresh icons &amp;amp; updates to various supporting software like JQuery - so that needed to be updated.&lt;br /&gt;However before I did this I backed up my existing images folder as I had modified some themes.&lt;br /&gt;This is the command I executed:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;xcopy /E /I C:\apex41\images C:\glassfishv3\glassfish\domains\domain1\docroot\i&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first time I ran I had permission issues overwriting the files, so I turned off read only for files in the folder. I probably should have thought a little harder over this, but since this laptop is very much localised just for my use, it didn't concern me much.&lt;br /&gt;&lt;br /&gt;4) Before I did any cleaning up, I wanted to ensure I could log into the updated 4.1 instance, so I opened up the Apex log in page only to see the following error:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;ORA-01658: unable to create INITIAL extent for segment in tablespace APEX&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Turns out my tablespace was full, so I added another datafile:&lt;br /&gt;&lt;code&gt;alter tablespace apex&lt;br /&gt;add datafile 'C:\app\Scott\oracle\11.2.0\oradata\sw11g\apex_b.dbf'&lt;br /&gt;SIZE 500M;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;From then I was able to log in successfully.&lt;br /&gt;&lt;br /&gt;5) Then I decided to clean out any old users I had, so I ran this slightly modified SQL to list the users I could drop:&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;SELECT 'drop user '||username||' cascade;' ddl&lt;br /&gt;   FROM dba_users &lt;br /&gt; WHERE (username LIKE 'FLOWS_%' OR USERNAME LIKE 'APEX_%') &lt;br /&gt;   AND USERNAME NOT IN (&lt;br /&gt;        SELECT 'FLOWS_FILES' &lt;br /&gt;          FROM DUAL &lt;br /&gt;         UNION &lt;br /&gt;        SELECT 'APEX_PUBLIC_USER' FROM DUAL &lt;br /&gt;         UNION&lt;br /&gt;        SELECT SCHEMA s &lt;br /&gt;           FROM dba_registry&lt;br /&gt;         WHERE comp_id = 'APEX');&lt;br /&gt;&lt;br /&gt;DDL&lt;br /&gt;----------------------------------&lt;br /&gt;drop user APEX_040000 cascade;&lt;br /&gt;drop user APEXLIB cascade;&lt;br /&gt;drop user APEX_030200 cascade;&lt;br /&gt;&lt;/pre&gt;And after executing those drop statements my tablespaces got a little lighter anyway.&lt;br /&gt;&lt;br /&gt;6) The only issue I've spotted so far is my &lt;a href="http://triangle-circle-square.blogspot.com/2011/07/modifying-your-apex-login-page.html"&gt;modified login page&lt;/a&gt;, (thanks to &lt;a href="http://www.oracle-and-apex.com/customize-the-apex-workspace-login-page/"&gt;Peter Raganitsch&lt;/a&gt;)&lt;br /&gt;When opening my log in page, I noticed the following error in my console window - and my modifications weren't showing;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Error: uncaught exception: Syntax error, unrecognized expression: [src$=apex-logo-white.gif]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A quick google revealed this sort of response:&lt;br /&gt;&lt;a href="http://forum.jquery.com/topic/error-after-upgrade-to-jquery-1-5-in-img-src-new-png"&gt;http://forum.jquery.com/topic/error-after-upgrade-to-jquery-1-5-in-img-src-new-png&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;So in our case this is probably due to the Apex team upgrading from JQuery 1.4.2 to 1.6.2 - so keep an eye out for that when you test your existing applications, if they use JQuery.&lt;br /&gt;&lt;br /&gt;So I had a play with the code in the&amp;nbsp;&lt;a href="http://apexlib.svn.sourceforge.net/viewvc/apexlib/trunc/Server/Tools/ApexLib_Loginpage.js"&gt;ApexLib_Loginpage.js&lt;/a&gt; script. I had to change this:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var vLoginTitle$ = jQuery("img[src$=apex-logo-white.gif]").parent();&lt;/span&gt;&lt;br /&gt;to this, noting the quote usage:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;var vLoginTitle$ = jQuery(&lt;span class="Apple-style-span" style="color: red;"&gt;'&lt;/span&gt;img[src$=&lt;span class="Apple-style-span" style="color: red;"&gt;"&lt;/span&gt;apex-logo-white.gif&lt;span class="Apple-style-span" style="color: red;"&gt;"&lt;/span&gt;]&lt;span class="Apple-style-span" style="color: red;"&gt;'&lt;/span&gt;).parent();&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This meant lines containing the bold also needed modification (to what you see here)&lt;br /&gt;var vLoginRegionLogoImage$ = jQuery('img[src$="&lt;b&gt;apex-db-apps.png&lt;/b&gt;"]');&lt;br /&gt;jQuery('a[href^="&lt;b&gt;f?p=4550:7&lt;/b&gt;:"]').parents(".rounded-corner-region").css("display","none");&lt;br /&gt;jQuery('a[href^="&lt;b&gt;f?p=4600:6&lt;/b&gt;:"]').parents(".rounded-corner-region").css("display","none");&lt;br /&gt;jQuery('a[href="http://forums.oracle.com/forums/forum.jspa?&lt;b&gt;forumID=137&lt;/b&gt;"]').parents(".rounded-corner-region").css("display","none");&lt;br /&gt;&lt;br /&gt;So the upgrade took about 15 minutes computing time &amp;amp; about half an hour of my time, plus me sledgehammering JQuery to make it work.&lt;br /&gt;&lt;br /&gt;Happy coding! Now, about that presentation...&lt;br /&gt;&lt;br /&gt;Scott&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2585288798274796400?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2585288798274796400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2585288798274796400' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2585288798274796400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2585288798274796400'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/10/upgrading-to-apex-41.html' title='Upgrading to Apex 4.1'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-QhVeio7ivns/TpKVCck5I7I/AAAAAAAAAT0/39sqQ6kkGqg/s72-c/apex41.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4255046589031802521</id><published>2011-10-08T01:14:00.001+08:00</published><updated>2011-10-08T01:14:30.425+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Advert: Sage Training for Apex &amp; PL/SQL</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;&lt;/div&gt;Hello to all from Perth, Australia (and beyond if you like)&lt;br /&gt;&lt;br /&gt;Sage Computing Services have just scheduled two courses for November:&lt;br /&gt;&lt;br /&gt;Oracle Apex 4 Workshop =&amp;gt; 9-11th November&lt;br /&gt;PL/SQL Workshop =&amp;gt; 21-23 November&lt;br /&gt;&lt;br /&gt;Both will be held in the Perth CBD, please &lt;a href="mailto:scott.wesley@sagecomputing.com.au"&gt;e-mail&lt;/a&gt; us if you're interested in further details.&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;Scott&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ps - we don't often put on PL/SQL training here in Perth - get in while you can!&lt;/i&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-4255046589031802521?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/4255046589031802521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=4255046589031802521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4255046589031802521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4255046589031802521'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/10/advert-sage-training-for-apex-plsql.html' title='Advert: Sage Training for Apex &amp; PL/SQL'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-5211083450189579310</id><published>2011-10-06T11:59:00.000+08:00</published><updated>2011-10-06T12:46:19.605+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>He started a fruit company...</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-1wWpFsErhq8/To0XROn6OxI/AAAAAAAAATw/RdzAmGI7sYI/s1600/apple.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-1wWpFsErhq8/To0XROn6OxI/AAAAAAAAATw/RdzAmGI7sYI/s1600/apple.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Sometimes I find it hard to think of some people without thinking of references to pop culture.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Edit: This &lt;a href="http://skeptoid.com/blog/2011/10/05/a-lesson-in-treating-illness/"&gt;post&lt;/a&gt; from Brian Dunning is a timely &amp;amp; worthy read regarding treatment of health issues with modern medicine vs naturopathic woo&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;There are people in this modern world live their lives as best they can - grow up, get a job, get married, work hard, retire when they can. No doubt making many mistakes along the way, hopefully learning from each and every one.&lt;br /&gt;&lt;br /&gt;Other people also live their lives the best the can, making similar mistakes, but for whatever reason taking hold of different opportunities, then start affecting the lives of many others - either directly or indirectly.&lt;br /&gt;&lt;br /&gt;Two sets of people, different paths, same result. We all have an expiry date. Some sooner than others, some know when the end is near, others find it unexpectedly - some don't even see it coming.&lt;br /&gt;&lt;br /&gt;One person might end their life with billions of dollars in their pocket, the other may have saved enough for a dream holiday one day once they retire.&lt;br /&gt;&lt;br /&gt;Either way, I just hope both of them have enjoyed their life, perhaps finding a profession they love. One where they can go to work every day and do it with enthusiasm. &lt;br /&gt;&lt;br /&gt;And if they &lt;i&gt;are&lt;/i&gt; lucky enough to finish up with mega-bucks in the pocket, I hope they eased off the hard work, regularly spent time with the people they love, and doing the things they enjoy.&lt;br /&gt;&lt;br /&gt;Because at the end of the day, there are some people out their with the sole purpose of seeking wealth - but to what end? If you die with a million dollars in your pocket, but haven't found happiness or contentedness - has it been worth it? Did you "win" because you finished with more money than the next person, or did you enjoy your life because of what you did every day, because of the people you touched?&lt;br /&gt;&lt;br /&gt;Idle thoughts.&lt;br /&gt;&lt;br /&gt;My condolences to the family &amp;amp; friends of Steve Jobs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-5211083450189579310?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/5211083450189579310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=5211083450189579310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5211083450189579310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5211083450189579310'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/10/he-started-fruit-company.html' title='He started a fruit company...'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-1wWpFsErhq8/To0XROn6OxI/AAAAAAAAATw/RdzAmGI7sYI/s72-c/apple.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-311849832978086516</id><published>2011-10-06T10:10:00.000+08:00</published><updated>2011-10-06T10:10:00.245+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Glassfish'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Upgrading Apex Listener on Glassfish</title><content type='html'>I can't believe it was July when I &lt;a href="http://triangle-circle-square.blogspot.com/2011/07/glassfish-url-is-not-allowed.html"&gt;blogged&lt;/a&gt; about a problem with my Glassfish server.&lt;br /&gt;&lt;br /&gt;Since then Oracle has release Apex Listener 1.1.3 (September 2011)&lt;br /&gt;&lt;br /&gt;I thought I'd finally upgrade, and I was surprised how simple it was.&lt;br /&gt;&lt;br /&gt;If you're using Glassfish already, check out the &lt;a href="http://download.oracle.com/docs/cd/E21611_01/doc.11/e21058/install.htm#CHDFBGDD"&gt;notes for upgrading&lt;/a&gt; Apex listener with Glassfish. The details are super simple and fit on one screen.&lt;br /&gt;&lt;br /&gt;First I went to my Glassfish Administration module at http://localhost:4848&lt;br /&gt;It took a while to respond, and so did logging in - the rest of the process for upgrading the listener didn't even take as long.&lt;br /&gt;&lt;br /&gt;Clicking on the Application node took me here&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-zuhuaieo_yM/ToT6BPyAZGI/AAAAAAAAATU/0AIY7YHzjww/s1600/gf_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://1.bp.blogspot.com/-zuhuaieo_yM/ToT6BPyAZGI/AAAAAAAAATU/0AIY7YHzjww/s320/gf_1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Then I disabled my Apex deployment&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-gk8DiU_Vj0U/ToT6CZEBHbI/AAAAAAAAATY/_8sf97qSkdg/s1600/gf_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://3.bp.blogspot.com/-gk8DiU_Vj0U/ToT6CZEBHbI/AAAAAAAAATY/_8sf97qSkdg/s320/gf_2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Clicking on deploy enabled me to select the WAR file from my Apex Listener download, which I extracted to C:\app\Scott\apex_listener_113\apex.war&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-EZNX8ZLwVdI/ToT6ElGWzRI/AAAAAAAAATc/L9DVJibvmTY/s1600/gf_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://4.bp.blogspot.com/-EZNX8ZLwVdI/ToT6ElGWzRI/AAAAAAAAATc/L9DVJibvmTY/s320/gf_3.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;And it was enabled straight away&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-TkGuRS5ZkqI/ToT6F0oqn1I/AAAAAAAAATg/_iAwymhUac4/s1600/gf_4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="145" src="http://4.bp.blogspot.com/-TkGuRS5ZkqI/ToT6F0oqn1I/AAAAAAAAATg/_iAwymhUac4/s320/gf_4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I opened my Apex login URL (without the trailing slash, which was the bug I wanted to avoid) and presto, all was good!&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-q4LGFuZtrHw/ToT7wukvfaI/AAAAAAAAATo/1sUl43oqvgU/s1600/apex_login.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="181" src="http://3.bp.blogspot.com/-q4LGFuZtrHw/ToT7wukvfaI/AAAAAAAAATo/1sUl43oqvgU/s320/apex_login.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Next I need to upgrade my local instance to 4.1...&lt;br /&gt;&lt;br /&gt;While in the Glassfish Administration console, I noticed there were 47 updates available to my Glassfish server.&amp;nbsp; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-mxKH-fDlV_Y/ToT6H-1MA4I/AAAAAAAAATk/Z-IHMcLt7sA/s1600/gf_5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="148" src="http://1.bp.blogspot.com/-mxKH-fDlV_Y/ToT6H-1MA4I/AAAAAAAAATk/Z-IHMcLt7sA/s320/gf_5.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;So I attempted to upgrade them all, but received the following lovely error:&lt;br /&gt;&lt;span class="Apple-style-span" style="color: magenta; font-family: 'Courier New', Courier, monospace;"&gt;manifest of pkg://release.javaeesdk.sun.com/glassfish-bundled-jdk@1.6.0.26,0-3.1:20110525T211958Z has duplicates: file: path=jdk/register.html &amp;amp; file: path=jdk/register.html&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I decided to call it a night - if it ain't broke...&lt;br /&gt;&lt;br /&gt;On a final note, if you would like to use &lt;a href="http://glassfish.java.net/"&gt;Glassfish&lt;/a&gt; as your proxy between your web browser as the Application Express engine, check out the &lt;a href="http://download.oracle.com/docs/cd/E21611_01/doc.11/e21058/install.htm#CHDBIAIF"&gt;installation notes&lt;/a&gt;. This would be instead of using a dedicated HTTP server, which might be overkill for your laptop; and the basic XDB HTTP server embedded in the database - Embedded PL/SQL Gateway (EPG)&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-311849832978086516?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/311849832978086516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=311849832978086516' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/311849832978086516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/311849832978086516'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/10/upgrading-apex-listener-on-glassfish.html' title='Upgrading Apex Listener on Glassfish'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-zuhuaieo_yM/ToT6BPyAZGI/AAAAAAAAATU/0AIY7YHzjww/s72-c/gf_1.png' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9522222 115.8588889</georss:point><georss:box>-32.814511700000004 114.59546139999999 -31.089932700000002 117.1223164</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2620683698348616725</id><published>2011-10-04T07:07:00.001+08:00</published><updated>2011-10-04T07:07:07.955+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><title type='text'>Today's post is brought to you by the letter 'C'</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-nAAiQQYUltw/Too-kf5ZvcI/AAAAAAAAATs/lCwiJfDKRWM/s1600/letter+c+post.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="http://3.bp.blogspot.com/-nAAiQQYUltw/Too-kf5ZvcI/AAAAAAAAATs/lCwiJfDKRWM/s200/letter+c+post.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;I may not be at OOW11, but I've been listening to what's going on - one thing I did notice was the announcement of one of Oracle's latest products: &lt;a href="http://www.oracle.com/us/products/enterprise-manager/index.html"&gt;Oracle Enterprise Manager 12&lt;i&gt;c&lt;/i&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I was joking with someone just the other day about what letter they were going to use for Oracle 12, and suggested perhaps &lt;i&gt;C is for Cloud&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Careful what you wish for... this statement accompanied the press release:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Oracle Enterprise Manager 12c is the first product in Oracle’s portfolio numbered “12c” where the “c” stands for Oracle’s significant investments in delivering cloud-ready products&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This of course follows&lt;br /&gt;8i - Internet&lt;br /&gt;10g - Grid&lt;br /&gt;&lt;br /&gt;It already makes me wonder - what is going to be the next big thing in 5 years time. One suggestion:&lt;br /&gt;"M" - Mobile. Yes, mobile technology is ubiquitous now - and that's what cloud technology is all about, but what's Oracle going to do with it? Whack some specially designed database on your latest octo-core, 8GB RAM, post-SSD &amp;nbsp;mobile device?&lt;br /&gt;&lt;br /&gt;People like &lt;a href="http://www.oracle-base.com/blog/2011/10/01/oow11-oracle-ace-director-briefing-day-1-2/"&gt;Tim Hall&lt;/a&gt; will have you thinking Oracle will come out with something like 13OGC, or some cleverly branded acronym/mnemonic...&lt;br /&gt;&lt;br /&gt;What pace our technological world grows in, huh?!&lt;br /&gt;&lt;br /&gt;Scott&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2620683698348616725?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2620683698348616725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2620683698348616725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2620683698348616725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2620683698348616725'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/10/todays-post-is-brought-to-you-by-letter.html' title='Today&apos;s post is brought to you by the letter &apos;C&apos;'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-nAAiQQYUltw/Too-kf5ZvcI/AAAAAAAAATs/lCwiJfDKRWM/s72-c/letter+c+post.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4676777688335544393</id><published>2011-09-22T17:11:00.000+08:00</published><updated>2011-09-22T18:29:23.536+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Quick Picks'/><category scheme='http://www.blogger.com/atom/ns#' term='Conditions'/><category scheme='http://www.blogger.com/atom/ns#' term='Read Only'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Apex Tutorial: Adding a Read Only Option</title><content type='html'>&lt;strike&gt;Last week&lt;/strike&gt; Recently I published a &lt;a href="http://triangle-circle-square.blogspot.com/2011/09/apex-tutorial-form-report-sharing-same.html"&gt;tutorial&lt;/a&gt; walking through setting up a form and report on the same Apex page. This one done using out of the box functionality, without the use of dynamic actions. Hence this is aimed at those learning the Oracle Application Express development tool.&lt;br /&gt;&lt;br /&gt;We can take this a step further and&amp;nbsp;extend this functionality to open the record in read-only mode first.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1)&lt;/b&gt; Modify report link to pass P6_MODE = R, instead of E&lt;br /&gt;&lt;i&gt;Now we have three "modes" &lt;b&gt;V&lt;/b&gt;iew (which doesn't display the HTML region), &lt;b&gt;R&lt;/b&gt;ead only &amp;amp; &lt;b&gt;E&lt;/b&gt;dit.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2) &lt;/b&gt;Modify all form items to apply read only condition to P6_MODE = R&lt;br /&gt;&lt;i&gt;Now when you click the link for an employee record, the form initially opens in read-only mode.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3)&lt;/b&gt; Modify HMTL region condition to be &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:P6_MODE IN ('E','R')&lt;/span&gt;&lt;br /&gt;&lt;i&gt;We need this region to display in edit and read-only mode.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4)&lt;/b&gt; Extend Delete/Save buttons conditions to include &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:P6_MODE = 'E'&lt;/span&gt;&lt;br /&gt;&lt;i&gt;ie &lt;/i&gt;=&amp;gt;&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:P6_EMPNO IS NOT NULL AND :P6_MODE = 'E'&lt;/span&gt;&lt;br /&gt;&lt;i&gt;We don't necessarily want these buttons being displayed in read only mode.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5)&lt;/b&gt; Create Edit button in the HTML region&lt;br /&gt;&lt;i&gt;You could add an authorisation condition on this button to make editing records available only to privileged users.&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-UUpAQUz6hMw/Tnr2jdc8ReI/AAAAAAAAASQ/Jah2PEA1gtM/s1600/r_edit_btn.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="237" src="http://1.bp.blogspot.com/-UUpAQUz6hMw/Tnr2jdc8ReI/AAAAAAAAASQ/Jah2PEA1gtM/s320/r_edit_btn.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;* condition &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:P6_MODE = 'R'&lt;/span&gt;&lt;/div&gt;&lt;div&gt;* redirect to page 6&amp;nbsp;&lt;/div&gt;&lt;div&gt;* passing parameter P6_MODE = E&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The problem now if if you have, for example, quick picks on any of your items - these will still be displayed as the read only option &lt;a href="https://forums.oracle.com/forums/thread.jspa?forumID=137&amp;amp;threadID=2287551"&gt;only adds&lt;/a&gt; the class="display_only" tag to the item definition:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_XeVySXXPEU/Tnr2kfnkmlI/AAAAAAAAASU/niA_aBztJ1c/s1600/r_f1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://1.bp.blogspot.com/-_XeVySXXPEU/Tnr2kfnkmlI/AAAAAAAAASU/niA_aBztJ1c/s320/r_f1.png" style="cursor: move;" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;6)&lt;/b&gt; So to clean this up, we need to make a copy of item P6_JOB&lt;/div&gt;&lt;div&gt;Use nearby sequence number to create the copy in the same position on the page.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-DPoUhVsa7cM/Tnr2iWoA9aI/AAAAAAAAASI/VcBcc9Vx0R4/s1600/r_copy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://1.bp.blogspot.com/-DPoUhVsa7cM/Tnr2iWoA9aI/AAAAAAAAASI/VcBcc9Vx0R4/s320/r_copy.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;My job field sequence was 30, so I chose 35&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MPdV2i3BHcE/Tnr2ix_KxtI/AAAAAAAAASM/DafgrSk6GO0/s1600/r_copy_det.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="175" src="http://2.bp.blogspot.com/-MPdV2i3BHcE/Tnr2ix_KxtI/AAAAAAAAASM/DafgrSk6GO0/s320/r_copy_det.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;7) &lt;/b&gt;Remove the quick picks option from copied item P6_JOB_DSP&lt;/div&gt;&lt;div&gt;&lt;i&gt;These are the options we don't want displayed in read-only mode. The user can't save the change, but it looks untidy.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;8)&lt;/b&gt; Add display condition on P6_JOB_DSP as &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:P6_MODE = 'R'&lt;/span&gt;, retaining the existing read only condition.&lt;/div&gt;&lt;div&gt;&lt;i&gt;Alternatively we could set the item type to display only, however we still only want it appearing in read-only mode.&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-x6HZi3Vzj8c/Tnr2lqFOzMI/AAAAAAAAASc/PprWodtxKYc/s1600/r_job_dsp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://4.bp.blogspot.com/-x6HZi3Vzj8c/Tnr2lqFOzMI/AAAAAAAAASc/PprWodtxKYc/s320/r_job_dsp.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;9)&lt;/b&gt; Add display condition to P6_JOB as :P6_MODE = 'E'&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;The original item only needs to appear in edit mode.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We now have a functioning read-only mode option, with an Edit button available to re-open the page in edit mode.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5uBKgQ3JqIU/Tnr2lBXVkWI/AAAAAAAAASY/60Pg0_Y2YOs/s1600/r_f2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="199" src="http://4.bp.blogspot.com/-5uBKgQ3JqIU/Tnr2lBXVkWI/AAAAAAAAASY/60Pg0_Y2YOs/s320/r_f2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;The item list in the page builder will now look more like this:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-8BjuIHj3-sc/Tnr2mJlsUkI/AAAAAAAAASg/0bZSJ2nXZrc/s1600/r_new_items.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-8BjuIHj3-sc/Tnr2mJlsUkI/AAAAAAAAASg/0bZSJ2nXZrc/s1600/r_new_items.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;I hope that further helps your understanding of some of the concepts available to the Application Express environment.&lt;br /&gt;&lt;br /&gt;Scott.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-4676777688335544393?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/4676777688335544393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=4676777688335544393' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4676777688335544393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4676777688335544393'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/apex-tutorial-adding-read-only-option.html' title='Apex Tutorial: Adding a Read Only Option'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-UUpAQUz6hMw/Tnr2jdc8ReI/AAAAAAAAASQ/Jah2PEA1gtM/s72-c/r_edit_btn.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7121326536237543009</id><published>2011-09-21T21:38:00.000+08:00</published><updated>2011-09-21T21:38:26.573+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Apex Tutorial - Form &amp; Report sharing the same page</title><content type='html'>During some training recently I walked through the "Form on a Table with Report" wizard to create two pages - one report listing records from a table, which then linked to a form page allowing edits on that table.&lt;br /&gt;&lt;br /&gt;I was asked how you could amalgamate the two pages into one. Here is a tutorial that completes this exercise from scratch.&lt;br /&gt;&lt;i&gt;Note: if you have existing pages already defined, I would recommend you copy the report region onto your Form page, and modify the relevant attributes - then remove your report page.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1) &lt;/b&gt;First, create a form on page on a table - I use the sample EMP table&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-VNCGIlHVo-s/TnngenOdWNI/AAAAAAAAARY/WuAr-iJ3loE/s1600/e_s1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-VNCGIlHVo-s/TnngenOdWNI/AAAAAAAAARY/WuAr-iJ3loE/s1600/e_s1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;* When prompted during the create form wizard, set branch for apply/cancel to the same page you're creating. &lt;i&gt;Note in my case it's page 6.&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;Now we have a basic form page, where most of the hard work has been done by the wizard, such as defining page processes, branches and item definitions.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;You form will look something like this to start with:&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kYenmtr8MAY/TnngfIva48I/AAAAAAAAARc/P6KukMQRpkI/s1600/e_s2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-kYenmtr8MAY/TnngfIva48I/AAAAAAAAARc/P6KukMQRpkI/s1600/e_s2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;2)&lt;/b&gt; Now create a report region listing employees from EMP&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-gud307eB6N0/Tnngf2qBCII/AAAAAAAAARg/UYfhqR7AE5I/s1600/e_s3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-gud307eB6N0/Tnngf2qBCII/AAAAAAAAARg/UYfhqR7AE5I/s1600/e_s3.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;&amp;nbsp;This will show a simple report underneath your form:&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bPkIN35CBlQ/TnnggbP3rTI/AAAAAAAAARk/cDJGvWPZ2RQ/s1600/e_s4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-bPkIN35CBlQ/TnnggbP3rTI/AAAAAAAAARk/cDJGvWPZ2RQ/s1600/e_s4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;3)&lt;/b&gt; Create item P6_MODE&lt;br /&gt;T&lt;i&gt;his will be the catalyst for showing/hiding certain components on the page&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-cbL9OyzMEII/TnnghOWGNXI/AAAAAAAAARo/5dfpNRTaiyY/s1600/e_s5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-cbL9OyzMEII/TnnghOWGNXI/AAAAAAAAARo/5dfpNRTaiyY/s1600/e_s5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;4)&lt;/b&gt; Create a button called NEW on the Employee List report region&lt;br /&gt;&lt;i&gt;This will allow you to create a new employee record&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-B83iBOjA3Ic/TnnghpYYkyI/AAAAAAAAARs/KO8wPF4bruw/s1600/e_s6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-B83iBOjA3Ic/TnnghpYYkyI/AAAAAAAAARs/KO8wPF4bruw/s1600/e_s6.png" /&gt;&lt;/a&gt;&lt;/div&gt;Action details:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ydMDaFo-gIQ/TnngiRNtL8I/AAAAAAAAARw/IxL_PwKU02k/s1600/e_s6b.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-ydMDaFo-gIQ/TnngiRNtL8I/AAAAAAAAARw/IxL_PwKU02k/s1600/e_s6b.png" /&gt;&lt;/a&gt;&lt;/div&gt;* redirect to 6&lt;br /&gt;* set parameter P6_MODE = E&lt;br /&gt;* clear cache =&amp;gt; 6&lt;br /&gt;* condition =&amp;gt; &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;COALESCE(:P6_MODE,'V') = 'V'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5)&lt;/b&gt; Modify the Cancel button action to set P6_MODE = V&lt;br /&gt;&lt;i&gt;This ensures your page returns to status quo when the cancel button is pressed&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;6)&lt;/b&gt; Modify the branch defined by the create form wizard and pass parameter P6_MODE = V&lt;br /&gt;&lt;i&gt;Whenever you submit your page, it will now return it to status quo&lt;/i&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;b&gt;7)&lt;/b&gt; Add condition on HTML region that contains your form items to check &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;:P6_MODE = 'E'&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;i&gt;Now your form region will only appear when in "Edit mode", such as when the New button is pressed or the user edits an existing record (next step)&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-x6bgIYTNoOA/TnnkMw3svZI/AAAAAAAAASA/b7xS7F2_0dM/s1600/e_s8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-x6bgIYTNoOA/TnnkMw3svZI/AAAAAAAAASA/b7xS7F2_0dM/s1600/e_s8.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;8)&lt;/b&gt; Modify EMPNO column in the report to become a link&lt;br /&gt;&lt;i&gt;This will allow your user to edit an existing employee record.&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;While in the report attributes page, I set the column headings to custom and cleared the heading for EMPNO - just to tidy up the display a touch.&lt;/i&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HiQmS6ZS3co/Tnngi2iY9cI/AAAAAAAAAR0/AGxutAZwGRE/s1600/s_e7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-HiQmS6ZS3co/Tnngi2iY9cI/AAAAAAAAAR0/AGxutAZwGRE/s1600/s_e7.png" /&gt;&lt;/a&gt;&lt;/div&gt;* redirect to 6&lt;br /&gt;* set parameters P6_EMPNO = #EMPNO# and P6_MODE = E&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;You should now have report page that displays the form region when the New button is pressed, or when you click to edit an existing record. The form region will disappear again once you Apply/Delete/Cancel.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-XkQ2g8qYzhY/TnnkCxGsLvI/AAAAAAAAAR4/1h3ZSWmqppA/s1600/e_f1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-XkQ2g8qYzhY/TnnkCxGsLvI/AAAAAAAAAR4/1h3ZSWmqppA/s1600/e_f1.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;i&gt;Above is "status quo"; below while editing an existing record&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mvxFn9xvXRo/TnnkDg0z_fI/AAAAAAAAAR8/ae1wFr_fnls/s1600/e_f2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-mvxFn9xvXRo/TnnkDg0z_fI/AAAAAAAAAR8/ae1wFr_fnls/s1600/e_f2.png" /&gt;&lt;/a&gt;&lt;/div&gt;I hope that helps, and I also hope it made sense. I made certain presumptions about you finding the relevant settings - otherwise there would be a real flood of screenshots!&lt;br /&gt;&lt;br /&gt;Here is a screen grab of the page builder after all the modifications have been made (the row fetch page render process is off-screen, and shared components section not displayed)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/--UhS3VSEIr0/TnnoBFaksKI/AAAAAAAAASE/mX0HaTNLtfw/s1600/e_pb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="464" src="http://3.bp.blogspot.com/--UhS3VSEIr0/TnnoBFaksKI/AAAAAAAAASE/mX0HaTNLtfw/s640/e_pb.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Scott&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7121326536237543009?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7121326536237543009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7121326536237543009' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7121326536237543009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7121326536237543009'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/apex-tutorial-form-report-sharing-same.html' title='Apex Tutorial - Form &amp; Report sharing the same page'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-VNCGIlHVo-s/TnngenOdWNI/AAAAAAAAARY/WuAr-iJ3loE/s72-c/e_s1.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7454546096023096926</id><published>2011-09-21T19:29:00.000+08:00</published><updated>2011-09-21T19:29:28.480+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Forms'/><title type='text'>Short Oracle Forms Survey (Whitehorses)</title><content type='html'>Still using Oracle Forms?&lt;br /&gt;&lt;br /&gt;Why not participate in this quick Forms survey at &lt;a href="http://blog.whitehorses.nl/2011/08/31/interesting-finds-in-oracle-forms-survey/"&gt;Whitehorses&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It has 9 short questions and only takes a couple of minutes.&lt;br /&gt;&lt;br /&gt;Get it done ;-)&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7454546096023096926?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7454546096023096926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7454546096023096926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7454546096023096926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7454546096023096926'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/short-oracle-forms-survey-whitehorses.html' title='Short Oracle Forms Survey (Whitehorses)'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8755177797827443188</id><published>2011-09-13T21:34:00.001+08:00</published><updated>2011-10-10T13:33:43.861+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Perth 2011 conference program available</title><content type='html'>Yep, this year's AUSOUG conference program is &lt;a href="http://www.ausoug.org.au/2020/program.html"&gt;now available&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.ausoug.org.au/2020/images/banner.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="90" src="http://www.ausoug.org.au/2020/images/banner.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It was quite a challenge putting it together, and I thank those involved in helping out. It's not yet final, but gives a good indication of how strong it is this year. I count 3 Oracle Aces &amp;amp; 9 Ace Directors - plus a few quality speakers not (yet) recognised by that particular &lt;a href="http://www.oracle.com/technetwork/community/oracle-ace/index.html"&gt;program&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The early bird special finishes at the end of September, so why not register early to see speakers such as:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Local&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Connor McDonald&lt;/li&gt;&lt;li&gt;Penny Cookson&lt;/li&gt;&lt;li&gt;Chris Muir&lt;/li&gt;&lt;li&gt;Mark Lancaster&lt;/li&gt;&lt;li&gt;Yury Velikanov&lt;/li&gt;&lt;li&gt;Gavin Soorma&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;International&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Graham Wood&lt;/li&gt;&lt;li&gt;Francisco Munoz Alvarez&lt;/li&gt;&lt;li&gt;Debra Lilley&lt;/li&gt;&lt;li&gt;Craig Shallahamer&lt;/li&gt;&lt;li&gt;Tim Hall&lt;/li&gt;&lt;li&gt;Ronald Bradford&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;Plus me, of course&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All covering topics ranging through Fusion Middleware, Apex, ADF, EBS, DBA interests and even MySQL &amp;amp; Java.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Burswood is a fantastic venue, hope to see you there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Scott&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8755177797827443188?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8755177797827443188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8755177797827443188' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8755177797827443188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8755177797827443188'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/perth-2011-conference-program-available.html' title='Perth 2011 conference program available'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8244287278674497049</id><published>2011-09-09T12:01:00.000+08:00</published><updated>2011-09-09T12:01:01.581+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Oracle in pop culture</title><content type='html'>Twice this week I noticed Oracle mentioned in a web comic.&lt;br /&gt;&lt;br /&gt;The first was &lt;a href="http://dilbert.com/strips/comic/2011-09-03"&gt;Dilbert&lt;/a&gt; joking about the patent infringements amongst all the major companies at the moment - of which you could probably find a zillion info-graphics looking like &lt;a href="http://www.readwriteweb.com/mobile/2011/08/chart-of-the-day-who-is-suing.php"&gt;this&lt;/a&gt; these days. I think Scott Adams had a flaw in the middle frame however - there is no way Google, Apple, Microsoft and Oracle would join forces. Oracle &amp;amp; Microsoft alone are justification for that - evidence in that the Windows version of SQL*Plus is no longer available from 11g, and &lt;a href="http://www.oracle.com/technetwork/developer-tools/sql-developer/index.html"&gt;SQL Developer&lt;/a&gt; is as portable as my Android phone.&lt;br /&gt;&lt;br /&gt;What I did enjoy however was this from &lt;a href="http://www.bonkersworld.net/"&gt;BonkersWorld&lt;/a&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-JtFOiU7iO7c/Tmiym9xcVQI/AAAAAAAAARM/VUjyKsjGD4E/s1600/marketing_styles.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-JtFOiU7iO7c/Tmiym9xcVQI/AAAAAAAAARM/VUjyKsjGD4E/s1600/marketing_styles.png" /&gt;&lt;/a&gt;&lt;/div&gt;Having just come from an Oracle conference, the comparison of more power for less cost seems spot on! Mind you, the other vendors seem well represented also. Looking through the archives, I found &lt;a href="http://www.bonkersworld.net/2010/09/03/about-yoghurts/"&gt;another&lt;/a&gt; suggesting Oracle will just sue you if necessary - I think perhaps they might buy you out!&lt;br /&gt;&lt;br /&gt;Nothing quite so simple as &lt;a href="http://www.stickycomics.com/computer-update/"&gt;this&lt;/a&gt; though, comparing computer updates for Apple, Windows &amp;amp; Mac.&lt;br /&gt;&lt;br /&gt;My question for you is - have you seen Oracle mentioned in a web-comic or something similar and you think it's worth a giggle? Please comment below.&lt;br /&gt;&lt;br /&gt;Scott.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8244287278674497049?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8244287278674497049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8244287278674497049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8244287278674497049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8244287278674497049'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/oracle-in-pop-culture.html' title='Oracle in pop culture'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-JtFOiU7iO7c/Tmiym9xcVQI/AAAAAAAAARM/VUjyKsjGD4E/s72-c/marketing_styles.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4287318058887761120</id><published>2011-09-08T21:35:00.000+08:00</published><updated>2011-09-08T21:35:38.917+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Connor McDonald'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Apex performance presentation</title><content type='html'>At the &lt;a href="http://insync-conference.com.au/"&gt;Insync&lt;/a&gt; conference in &lt;a href="http://triangle-circle-square.blogspot.com/2011/08/insync-2011-day-1.html"&gt;Sydney&lt;/a&gt; I experimented with a different presentation technique.&lt;br /&gt;&lt;br /&gt;I've forgotten already where I stumbled across it - might have even been somewhere on &lt;a href="https://twitter.com/swesley_perth"&gt;twitter&lt;/a&gt;&amp;nbsp;-&amp;nbsp;but it's called &lt;a href="http://prezi.com/"&gt;Prezi&lt;/a&gt;. I did have a fear that I would instill motion sickness onto my audience, but after some initial feedback with a prototype I decided to go for it.&lt;br /&gt;&lt;br /&gt;My topic was Oracle Apex Performance, and I originally presented it as a powerpoint slide deck at last year's &lt;a href="http://www.ausoug.org.au/2020/"&gt;AUSOUG conference&lt;/a&gt; in Perth (Nov 3-4 2011, btw).&lt;br /&gt;&lt;br /&gt;So I updated and converted it to the Prezi format, which can be found here:&lt;br /&gt;&lt;a href="http://prezi.com/gfmw8q_gstcl/n-methods-to-improve-apex-performance/"&gt;http://prezi.com/gfmw8q_gstcl/n-methods-to-improve-apex-performance/&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UqxXYs8_-og/TmjEV0OfwtI/AAAAAAAAARU/8gkrnirW-i4/s1600/prezi_grab.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://3.bp.blogspot.com/-UqxXYs8_-og/TmjEV0OfwtI/AAAAAAAAARU/8gkrnirW-i4/s400/prezi_grab.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A link to the PDF version of my powerpoint display can be found &lt;a href="http://triangle-circle-square.blogspot.com/2009/07/presentations.html#ApexPerformance"&gt;here&lt;/a&gt;. Yes, in writing that it does seem a little strange, I'm not sure why I didn't publish the PPTx version - not that there would be much difference.&lt;br /&gt;&lt;br /&gt;I certainly learned a few things from the experience - things that worked and things that didn't. I have plenty of visual ideas for the topic I'm doing in November, to try and further embrace the prezi style instead of thinking "slides".&lt;br /&gt;&lt;br /&gt;I don't think the technique will work for everyone. Connor certainly has a unique style, similar to Larry Lessig and further pioneered in IT by Dick Hardt. A great write up can be found &lt;a href="http://presentationzen.blogs.com/presentationzen/2005/10/the_lessig_meth.html"&gt;here&lt;/a&gt;. If you've never seen Connor present, you must make it happen. He makes powerpoint his own and will rip through a zillion slides in less than one hour - and you'll come out very much entertained!&lt;br /&gt;&lt;br /&gt;I don't think Connor could adapt his slick style to the prezi format, and I think many technical presentations would be difficult to translate. I found when converting my original presentation I had trouble "forgetting" the powerpoint way of thinking. I think when I do my next one, since it will be fresh I'll be able to plan the layout a little better and provide something more fresh &amp;amp; creative. I found myself jotting ideas down as I listened to people speak at Insync. It will be on Apex 4.1 security.&lt;br /&gt;&lt;br /&gt;If you come along to our Perth conference you can experience it first hand! ;-)&lt;br /&gt;&lt;br /&gt;Now, to start writing it...&lt;br /&gt;&lt;br /&gt;Scott&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-4287318058887761120?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/4287318058887761120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=4287318058887761120' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4287318058887761120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4287318058887761120'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/apex-performance-presentation.html' title='Apex performance presentation'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-UqxXYs8_-og/TmjEV0OfwtI/AAAAAAAAARU/8gkrnirW-i4/s72-c/prezi_grab.png' height='72' width='72'/><thr:total>5</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9522222 115.8588889</georss:point><georss:box>-32.814511700000004 114.59546139999999 -31.089932700000002 117.1223164</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7445620765970107398</id><published>2011-09-02T14:25:00.001+08:00</published><updated>2011-09-08T20:51:13.604+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Off topic: Friday fact</title><content type='html'>Being the fact it's Friday, I'm home sick, it's related to my interests and that this picture moved me - I thought I'd share it.&lt;br /&gt;&lt;br /&gt;I'm a regular reader of Phil Plait's Bad Astronomy &lt;a href="http://blogs.discovermagazine.com/badastronomy/2011/08/31/home-from-the-start-of-a-long-long-journey"&gt;blog&lt;/a&gt;, and recently he posted this image from NASA's Juno spacecraft heading to Jupiter.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XTBHGjJPO2w/TmBzqVZEK_I/AAAAAAAAARA/ZqvBgpBw9MY/s1600/583510main_juno20110830-full.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-XTBHGjJPO2w/TmBzqVZEK_I/AAAAAAAAARA/ZqvBgpBw9MY/s400/583510main_juno20110830-full.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It's a picture of Earth and our moon from almost 10 million kilometers away. Now just for a moment, contemplate the sheer&amp;nbsp;&lt;i&gt;scale &lt;/i&gt;of what's being mentioned there - a tenth of the distance from Earth to the Sun, and this is all we see.&lt;br /&gt;&lt;br /&gt;It also helps highlight just how far away the moon really is, and it's not even at an angle which reflects the &lt;a href="http://www.traipse.com/earth_and_moon/"&gt;true distance&lt;/a&gt;&amp;nbsp;spanning the two.&lt;br /&gt;&lt;br /&gt;As in Phil's blog, this reminded me of part of what I think is my favourite literary piece ever, from Carl Sagan's&amp;nbsp;&lt;a href="http://www.youtube.com/watch?v=p86BPM1GV8M"&gt;Pale Blue Dot&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;i&gt;"The earth is a very small stage in a vast cosmic arena.&amp;nbsp;&lt;/i&gt;&lt;b&gt;&lt;i&gt;Think of the rivers of blood spilled by all those&amp;nbsp;&lt;/i&gt;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; color: #222222; font-style: italic;"&gt;generals&lt;/span&gt;&lt;i&gt;&amp;nbsp;and emperors, so that in glory and triumph they can become the momentary masters of a &lt;/i&gt;fraction of a&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; color: #222222;"&gt;dot&lt;/span&gt;&lt;/b&gt;&lt;i&gt;. Our planet is a lonely speck in the great enveloping cosmic dark. There is perhaps no better demonstration of the folly of human conceits than this distant image of our tiny world. To me, it underscores our responsibility to deal more kindly with one another, and to preserve and cherish the&amp;nbsp;&lt;/i&gt;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; color: #222222; font-style: italic;"&gt;pale&lt;/span&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; color: #222222; font-style: italic;"&gt;blue&lt;/span&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; color: #222222; font-style: italic;"&gt;dot&lt;/span&gt;&lt;i&gt;. The only home we've ever known"&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;He is of course referring to a different &lt;a href="http://www.skyimagelab.com/pale-blue-dot.html"&gt;image&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Pale_Blue_Dot"&gt;taken&lt;/a&gt; from 6 &lt;i&gt;billion&lt;/i&gt; kilometers away - but it works just the same.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;Have a great weekend :-)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;Scott.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7445620765970107398?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7445620765970107398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7445620765970107398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7445620765970107398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7445620765970107398'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/off-topic-friday-fact.html' title='Off topic: Friday fact'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-XTBHGjJPO2w/TmBzqVZEK_I/AAAAAAAAARA/ZqvBgpBw9MY/s72-c/583510main_juno20110830-full.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-338796454727811038</id><published>2011-09-02T10:09:00.000+08:00</published><updated>2011-09-02T14:26:34.084+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='11g'/><title type='text'>Free Oracle 11.2 database just released</title><content type='html'>Kris Rice has just &lt;a href="http://krisrice.blogspot.com/2011/09/oracle-express-edition-112-is-here.html"&gt;announced&lt;/a&gt; the release of Oracle Express Edition 11.2.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;This is a &lt;b&gt;free&lt;/b&gt; product you can download, install &amp;amp; learn. A thorough description of the exact licencing can be found &lt;a href="http://download.oracle.com/docs/cd/E17781_01/license.112/e18068/toc.htm"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's very easy to install, just like installing any other software on your computer. I created a &lt;a href="http://sagecomputing.com.au/scott_blog/Install_Oracle_XE_11g_at_home.pdf"&gt;document&lt;/a&gt; with some step-by-steps to help get people learning started - including logging in with SQL Developer to establish some users, instead of using SYS.&lt;br /&gt;&lt;br /&gt;Go, install, play, learn.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-338796454727811038?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/338796454727811038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=338796454727811038' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/338796454727811038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/338796454727811038'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/09/free-oracle-112-database-just-released.html' title='Free Oracle 11.2 database just released'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-694741793107450284</id><published>2011-08-24T21:03:00.000+08:00</published><updated>2011-08-24T21:03:47.750+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Tom Kyte'/><category scheme='http://www.blogger.com/atom/ns#' term='InSync'/><category scheme='http://www.blogger.com/atom/ns#' term='Tuning'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Insync 2011 Day 3</title><content type='html'>First you may be thinking - hang on, there was only 2 days in the Insync conference, wasn't there?&lt;br /&gt;&lt;br /&gt;Just like a PL/SQL boolean, there is true, false, and unknown to that statement.&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;Ooh, did I really go there?&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;True - there was two days of scheduled presentations.&lt;br /&gt;&lt;br /&gt;False - like any conference, there are often fringe events scheduled before or after the main event.&lt;br /&gt;&lt;br /&gt;Unknown - for those unfortunate enough not to have heard of the event, in the &lt;a href="http://www.scec.com.au/"&gt;Sydney Convention &amp;amp; Exhibition Centre&lt;/a&gt;&amp;nbsp;there was an extra day-long session entitled "&lt;b&gt;A Day of Real World Performance&lt;/b&gt;". More information can be found &lt;a href="http://www.ukoug.org/events/a-day-of-real-world-performance/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It was co-presented by&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Tom Kyte&lt;/b&gt; - author of &lt;a href="http://asktom.oracle.com/"&gt;AskTom&lt;/a&gt; - directing the core of the discussion with slides in a centre screen, providing a developer perspective.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Graham Wood&lt;/b&gt; - Oracle Database &lt;a href="http://www.youtube.com/watch?v=OAo10jLIEBc"&gt;Performance Architect&lt;/a&gt;&amp;nbsp;- dishing out Enterprise Manager output as an Exadata box is manipulated&lt;/li&gt;&lt;li&gt;&lt;b&gt;Andrew Holdsworth&lt;/b&gt; - Head of Oracle's &lt;a href="http://www.ioug.org/portals/0/events/tuning/aholdsworth.html"&gt;Real World Performance&lt;/a&gt; team.&lt;/li&gt;&lt;/ul&gt;It was less of your usual seminar style format, more of a conversational piece - which made it much easier to concentrate after two days of conference presentations. This style also made it more engaging. There was a general script, but Graham mentioned to me at one point that after nine roadshows, none ever really come out the same - I'm not surprised!&lt;br /&gt;&lt;br /&gt;They kicked off by loading a terabtye of data into a remote &lt;a href="http://www.oracle.com/us/products/database/exadata-database-machine/index.html"&gt;Oracle Exadata&lt;/a&gt; box, then used that as a platform to discuss performance issues from compression to statement parsing to index use - but nothing like you've ever really seen before. Andrew kept tweaking settings in the exadata machine to show how they can affect performance - accompanied by a screen full of numbers whaling up and down; Graham showed pretty graphs that illustrated what was going on post-change; and Tom get adding his pearls of wisdom with his easy listening voice.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracleinsights.blogspot.com/2011/08/oracle-real-world-performance-day.html"&gt;Mark Lancaster&lt;/a&gt; also described the event in his blog and I must agree - if this roadshow comes to a town near you, it is a must see. If you can't, try out the &lt;a href="http://www.youtube.com/user/OracleLearning"&gt;videos&lt;/a&gt;. They don't do it any justice, but apparently they have been used to sway decisions by the powers that be in the correct direction.&lt;br /&gt;&lt;br /&gt;A little tip - don't book flights for conferences without checking/looking out for these events - I know a few people who missed out because they booked flights too early. Mind you, I also know there are a few people who flew up from Melbourne specifically for this day.&lt;br /&gt;&lt;br /&gt;And to cap it off - Tony, Barbara &amp;amp; I finished the day with a beer overlooking Darling Harbour in a wonderful sunny Sydney afternoon.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-r3vwcq2rKNY/TlH256j_7ZI/AAAAAAAAAQ8/KiELb5PrKrE/s1600/2011-08-18+16.41.45.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="280" src="http://3.bp.blogspot.com/-r3vwcq2rKNY/TlH256j_7ZI/AAAAAAAAAQ8/KiELb5PrKrE/s640/2011-08-18+16.41.45.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;... but then we had to head to the airport to go home...&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-694741793107450284?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/694741793107450284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=694741793107450284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/694741793107450284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/694741793107450284'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/08/insync-2011-day-3.html' title='Insync 2011 Day 3'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-r3vwcq2rKNY/TlH256j_7ZI/AAAAAAAAAQ8/KiELb5PrKrE/s72-c/2011-08-18+16.41.45.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Sydney Convention Centre, Darling Dr, Darling Harbour NSW 2000, Australia</georss:featurename><georss:point>-33.873106 151.198987</georss:point><georss:box>-33.8909215 151.1698045 -33.8552905 151.22816949999998</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-856835390542279306</id><published>2011-08-21T09:33:00.001+08:00</published><updated>2011-08-21T15:08:33.341+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Connor McDonald'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Tom Kyte'/><category scheme='http://www.blogger.com/atom/ns#' term='InSync'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Insync 2011 Day 2</title><content type='html'>My tip for surviving an interstate conference - sleep in the second day until as late as possible.&lt;br /&gt;&lt;br /&gt;I walked in with time to grab a cup of tea and walk up to the first session. I chose &lt;b&gt;Alex Peattie&lt;/b&gt; talking about an introduction to SOA for application integration to see where Oracle are pitching these days for their grand world of SOA. It was fairly entry level, but a thorough overview - a nice way to warm up.&lt;br /&gt;&lt;br /&gt;It certainly would have been tough to warm up with &lt;b&gt;Shan Nawaz &lt;/b&gt;talking about the top ten 11g features that aren't your usual top ten. It was a good idea for a presentation as one does get bored with hearing about the same glossy features all the time. For those curious, here are my interpretations of my quick scratches on the day&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;DBMS_PARALLEL_EXECUTE&lt;/li&gt;&lt;li&gt;DBMS_COMPARISON&lt;/li&gt;&lt;li&gt;Reproduce SQL test case (DBMS_SQL_DIAG)&lt;/li&gt;&lt;li&gt;Advanced compression (costed option)&lt;/li&gt;&lt;li&gt;Diagnose/Resolve failure with DRA&lt;/li&gt;&lt;li&gt;Multi-section backups&lt;/li&gt;&lt;li&gt;Database resident connection pool&lt;/li&gt;&lt;li&gt;Server consolidation&lt;/li&gt;&lt;li&gt;SQL*Plus error logging (sperrorlog)&lt;/li&gt;&lt;li&gt;Preprocessor&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;And yes, some of those are &lt;i&gt;very &lt;/i&gt;cool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The post-morning tea slot saw me torn again between Francisco Munoz on Oracle security tips and &lt;b&gt;Marcelle Kratochvil&lt;/b&gt; convincing us to store unstructured data in the database. I ended up in Marcelle's, and while I can't compare to Francisco's session (Barbara thought it was excellent), I think Marcelle's was up there for the most engaging and thought provoking of the conference. It reminded me of Guy Harrison in Perth last year - his was less Oracle and more commentary on the direction of the computing world, but Marcelle really hit the nail on the head for the issues of tomorrow. Our technology isn't there yet for searching videos/images, protecting copyright etc, but Marcelle certainly convinced me by not putting this information into our database, we aren't exactly heading in the right direction!&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before lunch, again two slots I wanted to see. I ended up with &lt;b&gt;Connor McDonald &lt;/b&gt;talking statistics, which I will say is my favourite from his catalogue. I saw it previously in Perth, but was more than happy to be entertained once again. If you've never seen one of his presentations - it doesn't matter what the topic - you must see him at least once.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-1nKRFWQYwMY/TlBaZA3LNtI/AAAAAAAAAQg/IKfqgS9HGJA/s1600/tjambu2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-1nKRFWQYwMY/TlBaZA3LNtI/AAAAAAAAAQg/IKfqgS9HGJA/s1600/tjambu2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;After lunch, torn again - sense a trend? I almost went to see an Australia Post case study on SOA, which apparently was packed - but I thought I'd learn a thing or two about Exadata from &lt;b&gt;Tony Jambu&lt;/b&gt;, and get myself a mintie. Tony assessed the facts and myths to see if Oracle was pulling the wool over our eyes or if they really have the beez neez of hardware/software integration - turns out Oracle really does have the right stuff.&lt;/div&gt;&lt;div&gt;And we all saw some magic that involved Guy Harrison wondering if he was going to walk out of that session with a cup of water drained over his head. Great work, Tony.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After three sessions of indecision, I found myself struggling to pick something in the penultimate session. I ended up seeing &lt;b&gt;Clancy Bufton&lt;/b&gt; introduce flashback queries and total recall. Not a new topic, but one I'm not completely familiar with.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now for the biggest scheduling issue of the conference - we had Mark Lancaster talking advanced Apex 4 UI; Tim Hall on edition-based redefiition; and &lt;b&gt;Tom Kyte&lt;/b&gt; on SQL techniques.&lt;/div&gt;&lt;div&gt;I went the big name, which is a shame because it turns out I had seen this one before, and was very happy with my use of his suggested better practice. I was however glad to see and hear the younger generation (did I really say that?) talk about some of his suggestions and seek clarification with Tom afterwards. To me that indicates some success and progress within a conference.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Tom certainly drew the crowd as Marc and Tim suggested afterwards some smaller than expected numbers. But that's ok, those who were there got an up close &amp;amp; personal, interactive discussion with them both.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.southsteyne.com.au/images/common/southsteynelow-vin192.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://www.southsteyne.com.au/images/common/southsteynelow-vin192.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;So that concluded the conference proper - however I still had the evening and an extra day to survive. The evening made it easy. After a quick revival back at my room, 14 of us headed out for dinner. We tried once place only to find we wouldn't fit, but plan B was superb. We headed to South Styne - a floating restaurant in Darling Harbour. I enjoyed perfectly cooked kangaroo fillet with lovely spices and mash, chased down with a few king browns and good company. Thanks people, and I remember someone taking a group photo so no doubt I'll stumble across that in the near future - hopefully I can post it up.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Stay tuned, I have some more thoughts on this week to come.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-856835390542279306?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/856835390542279306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=856835390542279306' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/856835390542279306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/856835390542279306'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/08/insync-2011-day-2.html' title='Insync 2011 Day 2'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-1nKRFWQYwMY/TlBaZA3LNtI/AAAAAAAAAQg/IKfqgS9HGJA/s72-c/tjambu2.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-5811303821361745593</id><published>2011-08-21T08:30:00.000+08:00</published><updated>2011-08-21T08:30:46.232+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Tom Kyte'/><category scheme='http://www.blogger.com/atom/ns#' term='InSync'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Insync 2011 Day 1</title><content type='html'>Yeah, these posts are a little late, but boy - what a busy week it's been!&lt;br /&gt;&lt;br /&gt;After a delayed flight from Perth (isn't that the norm?) I spent me late hours on Monday night tidying up my presentation. Unfortunately that lead to me staying up waaay past my bedtime, but nothing a fresh morning and a cup of tea wouldn't fix...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danthurmon.com/images/Still%2004.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://www.danthurmon.com/images/Still%2004.jpg" width="168" /&gt;&lt;/a&gt;&lt;/div&gt;That, and a pretty sizzling conference intro by &lt;a href="http://www.danthurmon.com/"&gt;Dan Thurman&lt;/a&gt;! The introduction from &lt;b&gt;Martin Power&lt;/b&gt; and &lt;b&gt;Ian White&lt;/b&gt; was relatively brief, then John Bushell introduced Dan and advised us to sit back and enjoy. When Dan came out with his strut, Bill Paxton sounding accent and unwavering zeal, I think most of the audience was wondering what sort of cheesy slop were we in for.&lt;br /&gt;&lt;br /&gt;It was however a very thought provoking display by a man who knew exactly who he was and how he was probably being judged. He tied in his thoughts and messages with the IT world quite well, no doubt with as much practice as he spends on his juggling and unicycling. Kudos to the user groups involved in bringing him over.&lt;br /&gt;&lt;br /&gt;To the real content, however:&lt;br /&gt;&lt;b&gt;Tim Hall&lt;/b&gt; showed a decent group a new hidden way of cheaply cloning your database. The content was somewhat outside my area of expertise, but I enjoyed it regardless. I enjoy Tim's presentations and I'm glad he made it back to Australia.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Damien Bootsma&lt;/b&gt;&amp;nbsp;from Embarcadero followed morning tea with a reminder to all about the best practices of capturing meta data for productive database development. That was pretty much his title, and while some of his messages may not have been new material for many, I'm never opposed to drilling into people the better ways of designing and managing your database.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-wsak0RxOr7A/TlBQn4C5XuI/AAAAAAAAAQc/5ctTItwQwVw/s1600/tomk.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-wsak0RxOr7A/TlBQn4C5XuI/AAAAAAAAAQc/5ctTItwQwVw/s1600/tomk.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Which is exactly what &lt;b&gt;Tom Kyte&lt;/b&gt; did in his "Efficient PL/SQL" presentation before lunch. I heard a few people commenting afterwards that there wasn't the sizzle and awe they expected from and Oracle celebrity, but I thought Tom's message was loud and clear, and always needed. So many times do I see people coding without contemplating the messages Tom was delivering. I had seen a similar presentation from him before, but I didn't mind seeing it again and I hoped some of the newer Oracle people in the crowd took many notes!&lt;br /&gt;&lt;br /&gt;After lunch I was torn between a database security talk by Victorian AUSOUG president Barbara Rabinowicz and 10 things I possibly didn't know about Oracle indexes by Canberra ACE &lt;b&gt;Richard Foote&lt;/b&gt;. Tony Jambu somehow leaned me towards seeing Richard's show - which I must say was really interesting. A little esoteric, but I learned a few things to think about in future. Having met Barbara during the welcome reception later, I was a little disappointed I didn't see her security talk - but isn't that the peril of having many streams at a conference!&lt;br /&gt;&lt;br /&gt;There was one more session before mine, and I ducked my head into &lt;b&gt;Angus MacDonald&lt;/b&gt; from Oracle talking about what's next. I couldn't find the abstract, and it was quite hardware centric so I ducked back out to run through my "slides" before I was up.&lt;br /&gt;&lt;br /&gt;I'll suspend commenting on my own presentation until another post - I'd like to go into some detail on things and not let it get lost amongst this commentary. The turnout was unfortunately a little low, I'm curious where all the people were - although Craig Shallahamer was on at the same time...&lt;br /&gt;&lt;br /&gt;Afterwards I steeled myself for the final keynote of the day on cloud computing strategies by &lt;b&gt;Roland Slee &lt;/b&gt;and&lt;b&gt; Doug Hughes&lt;/b&gt;. I hadn't seen Doug speak before, and I liked his attitude. Let me suggest it was one of the least cliche Oracle keynotes I've attended ;-) I look forward to him coming to Perth soon.&lt;br /&gt;&lt;br /&gt;As usual, the welcome reception was a welcome end to the first day. I found the right position to get quick dibs on the beer trays, although the food was a little exotic for my simple tastes. I formally met Barbara who was a delight to communicate with and get to know for the remainder of my time in Sydney. I also caught up with other interstate fellows such as Tony Scholefield &amp;amp; Tony Jambu - and we ended up deciding to meet up for dinner with some Oracle specialists who had earlier snuck away for a Sydney Meetup, which I meant to attend but got lost in the mayhem.&lt;br /&gt;&lt;br /&gt;So we had a nice dinner with a group of very skilled technologists. I enjoyed some spanish cuisine sitting nearby Connor McDonald, Marcelle Kratochvil &amp;amp; Barbara. However Tony, Barbara and I thought we'd nick away afterwards to the IBM/RedRock party down the road. It had quietened by the time we got there, but it was a good opportunity to wind down after a &lt;i&gt;very &lt;/i&gt;long day. Yep, that was only day one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-5811303821361745593?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/5811303821361745593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=5811303821361745593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5811303821361745593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5811303821361745593'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/08/insync-2011-day-1.html' title='Insync 2011 Day 1'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-wsak0RxOr7A/TlBQn4C5XuI/AAAAAAAAAQc/5ctTItwQwVw/s72-c/tomk.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2823742068935381291</id><published>2011-08-10T12:59:00.001+08:00</published><updated>2011-08-10T13:28:36.236+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='InSync'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Australian Conference Presentations?</title><content type='html'>Attention all Oracle technologists interested in presenting at an Australian conference in 2011.&lt;br /&gt;&lt;br /&gt;Today is officially the final day for abstract submissions for the &lt;b&gt;Perth&lt;/b&gt; conference in &lt;b&gt;November&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Without letting too much out of the bag, it looks like we'll have a ripping line-up this year. Get your abstract ASAP in so we can consider you for selection!&lt;br /&gt;&lt;br /&gt;Anyone interested in simply attending, the earlier you &lt;a href="http://www.ausoug.org.au/2020/"&gt;register&lt;/a&gt; the cheaper it will be. It sounds cliché, but this will hopefully be one of the best we've ever had.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Next week&lt;/i&gt; is the &lt;b&gt;InSync11&lt;/b&gt; Conference in &lt;b&gt;Sydney&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;Of course it's a little late to get your submissions in for that, but I'll be there presenting on performance in Application Express. I'll be moving away from (death by) powerpoint and trying something a little different this time. If that sounds interesting, I'm currently slotted in the final session for day one.&lt;br /&gt;&lt;br /&gt;I'll also be attending the bonus Thursday session involving Tom Kyte. Hope to see you there!&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;update - I had &lt;a href="http://geekandpoke.typepad.com/geekandpoke/2011/08/simply-explained-never.html"&gt;flagged&lt;/a&gt; this &lt;a href="http://www.pythian.com/news/25105/why-you-should-submit-a-paper-for-an-oracle-user-group-event/"&gt;post&lt;/a&gt; as something to read, thanks to Chris Muir's twitter feed&lt;/i&gt;&lt;i&gt; - should have read it before posting this entry&lt;/i&gt;&lt;i&gt;. Well worth a read of you're still considering presenting:&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;a href="http://www.pythian.com/news/25105/why-you-should-submit-a-paper-for-an-oracle-user-group-event/"&gt;http://www.pythian.com/news/25105/why-you-should-submit-a-paper-for-an-oracle-user-group-event/&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;ScottWe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2823742068935381291?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2823742068935381291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2823742068935381291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2823742068935381291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2823742068935381291'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/08/australian-conference-presentations.html' title='Australian Conference Presentations?'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-583974964794259997</id><published>2011-07-28T15:17:00.002+08:00</published><updated>2011-07-28T15:17:00.275+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Navigation Bar Entries'/><category scheme='http://www.blogger.com/atom/ns#' term='Shared Components'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Subscribing Apex Navigation Bar Entries</title><content type='html'>Here is a little ditty I found regarding Navigation Bar entries in Apex and had a minute to investigate how/why, so I thought I'd share.&lt;br /&gt;&lt;br /&gt;When you attempt to set the master navigation bar entry in your application, you need to use a search dialog to select the relevant navigation bar entry from a list of the applications within your workspace.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-kHsZa65i8LU/ThavaaA0QUI/AAAAAAAAAQM/w_R57pnTJVM/s1600/blank_navbar.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-kHsZa65i8LU/ThavaaA0QUI/AAAAAAAAAQM/w_R57pnTJVM/s1600/blank_navbar.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Unfortunately, the list of entries is sometimes without a descriptive label.&lt;br /&gt;&lt;br /&gt;So I thought I'd have a look to see what attribute is being displayed in the dialog.&lt;br /&gt;&lt;br /&gt;It turns out the dialog uses the Image ALT text, not the entry label. So when you create/edit your navigation bar entries, I suggest make it a habit to set this attribute also - it may make your life easier in future. Particularly I guess if you ultimately move towards a different template for your navigation bar entries.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-kHiSnNNs67I/ThavePiCNPI/AAAAAAAAAQQ/jYLZRrQdKvE/s1600/task_list.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-kHiSnNNs67I/ThavePiCNPI/AAAAAAAAAQQ/jYLZRrQdKvE/s1600/task_list.png" /&gt;&lt;/a&gt;&lt;/div&gt;Even the context help showing existing navigation bar entries uses the ALT text as its descriptive term.&lt;br /&gt;&lt;br /&gt;This may change in future, but certainly the behaviour of Apex 4.0.2.00.06&lt;br /&gt;&lt;br /&gt;Scott.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-583974964794259997?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/583974964794259997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=583974964794259997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/583974964794259997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/583974964794259997'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/subscribing-apex-navigation-bar-entries.html' title='Subscribing Apex Navigation Bar Entries'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-kHsZa65i8LU/ThavaaA0QUI/AAAAAAAAAQM/w_R57pnTJVM/s72-c/blank_navbar.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-5830076662290727580</id><published>2011-07-20T16:14:00.026+08:00</published><updated>2011-07-20T16:14:00.557+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apex Listener'/><category scheme='http://www.blogger.com/atom/ns#' term='Glassfish'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Glassfish - url is not allowed</title><content type='html'>On my laptop I use &lt;a href="http://glassfish.java.net/"&gt;Glassfish&lt;/a&gt; as my server platform for the &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex-listener/index.html"&gt;Apex Listener&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A common problem I see (mainly from trainees trying to plug in my address) is the following error.&lt;br /&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-size: 110%;"&gt;HTTP Status 404 - Requested url http://localhost:8080/apex40 is not allowed.&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-E9L3AtedRuU/ThQbmgNYIHI/AAAAAAAAAQI/M7CLwZZ433U/s1600/glassfish_not_found.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="369" src="http://3.bp.blogspot.com/-E9L3AtedRuU/ThQbmgNYIHI/AAAAAAAAAQI/M7CLwZZ433U/s640/glassfish_not_found.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Now this isn't really a problem for me day-to-day because I have a nice bookmark that takes me to the correct location. But next time I try to set-up Glassfish, or I'm having some troubleshooting problems, I'll forget this issue.&lt;br /&gt;&lt;br /&gt;It turns out, all I'm missing is a trailing slash on my address. It should be&lt;br /&gt;&lt;code&gt;http://localhost:8080/apex40/&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;I don't know if this is solved by some setting - I'm certainly not a web server expert. If anyone has any comments I'd be glad to listen.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;... hold the phone!&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I just thought I'd have a read about the changes in Release 1.1.2, and I notice this fix:&lt;br /&gt;&lt;blockquote&gt;Fixed a problem with an IllegalStateException being thrown when the path /apex (instead of /apex/) was accessed on the standalone Listener&lt;/blockquote&gt;I was adding this entry so I might also remember in future, and let's just say I passively found the solution, instead of actively looking for a potential one.&lt;br /&gt;&lt;br /&gt;I remember seeing the announcement for this release, I figured I wouldn't worry about &lt;strike&gt;going through pain of&lt;/strike&gt; upgrading since it's just my laptop... now I'm downloading as I post... (well I was, I scheduled this post a while ago to stop the bombardment of the start of July - but now I've created a paradox to confuse time travelers)&lt;br /&gt;&lt;br /&gt;Maybe I'll remember to record the upgrade process...&lt;br /&gt;&lt;br /&gt;ScottWe.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-5830076662290727580?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/5830076662290727580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=5830076662290727580' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5830076662290727580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5830076662290727580'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/glassfish-url-is-not-allowed.html' title='Glassfish - url is not allowed'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-E9L3AtedRuU/ThQbmgNYIHI/AAAAAAAAAQI/M7CLwZZ433U/s72-c/glassfish_not_found.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7115780060571876647</id><published>2011-07-13T12:12:00.003+08:00</published><updated>2011-07-13T12:12:00.136+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='images'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Modifying your Apex login page</title><content type='html'>If you would like your Login (101) screen looking a little more exciting, add a picture to paint a thousand words.&lt;br /&gt;&lt;br /&gt;Today I added a little polish to one of our sample applications, and I thought I'd share the relatively simple process.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-b1r36-ierK0/ThQKXuStg2I/AAAAAAAAAP8/vfdJYJXlojM/s1600/login.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-b1r36-ierK0/ThQKXuStg2I/AAAAAAAAAP8/vfdJYJXlojM/s1600/login.png" /&gt;&lt;/a&gt;&lt;/div&gt;As with all things Oracle, there are many ways to skin this... er, vegetable. The simplest is to edit the region properties for the container holding the username/password fields.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bZV3URA1FAk/ThQKcNg6ThI/AAAAAAAAAQA/NnPGlyxF6hA/s1600/attributes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-bZV3URA1FAk/ThQKcNg6ThI/AAAAAAAAAQA/NnPGlyxF6hA/s1600/attributes.png" /&gt;&lt;/a&gt;&lt;/div&gt;Here I added a region image definition of&lt;br /&gt;&lt;code&gt;#APP_IMAGES#sage_logo.gif&lt;/code&gt;&lt;br /&gt;which referred to an image I've loaded into the Apex repository.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;On a side note, it may be a good idea to parameterise the image location, but that's another story.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Alternatively, I could have added a Display Image item; modified the region source; added some pre-element text... I could go on, but this solution placed the image in a place that suited my imagination &lt;i&gt;exactly&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Part of this decision was not fighting the product. Apex isn't always great at complying with your WYSIWYG thoughts, sometimes it's not worth spending 80% of the effort on manipulating layout.&lt;br /&gt;&lt;br /&gt;I also thought the default width for the form region was excessively wide, so I thought I'd investigate where to change that. I wasn't exactly sure what this theme did, so I needed to look underneath the hood.&lt;br /&gt;&lt;br /&gt;I'm a regular Chrome user, so out of the box I could right-click on something in my page and select "Inspect Element."&lt;br /&gt;I happened to right-click in the table that houses my items, so I kept looking at the parent divs until I saw the &lt;code&gt;width: 450px&lt;/code&gt; definition. Next to that is a link that names the CSS file that sets that attribute, so I opened that file; modified the value from 640 to 450, and refreshed my page to a nice ratio.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-DQJovGdp9gA/ThQKg75XpmI/AAAAAAAAAQE/jB7VPaM01H8/s1600/inspect_element.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="428" src="http://4.bp.blogspot.com/-DQJovGdp9gA/ThQKg75XpmI/AAAAAAAAAQE/jB7VPaM01H8/s640/inspect_element.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;A simple task, hope it helps.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7115780060571876647?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7115780060571876647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7115780060571876647' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7115780060571876647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7115780060571876647'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/modifying-your-apex-login-page.html' title='Modifying your Apex login page'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-b1r36-ierK0/ThQKXuStg2I/AAAAAAAAAP8/vfdJYJXlojM/s72-c/login.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2946449010904502371</id><published>2011-07-06T12:50:00.000+08:00</published><updated>2011-07-06T12:50:27.012+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Look ma, it's me!</title><content type='html'>My mum would be proud. My wife, well, she's embarrassed.&lt;br /&gt;&lt;br /&gt;While standing on the shoulders of those more skilled than I, I managed to eke myself into a book.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-stu5hAjqowc/ThPnbu9-XaI/AAAAAAAAAP0/Ob08bV61gFc/s1600/tech_review.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-stu5hAjqowc/ThPnbu9-XaI/AAAAAAAAAP0/Ob08bV61gFc/s320/tech_review.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Not just&lt;i&gt; any&lt;/i&gt; book - but a book written by Oracle Apex Experts where the proceeds to head towards families of those experts who are no longer with us - &lt;a href="http://joelkallman.blogspot.com/2010/03/scott-spadafore.html"&gt;Scott Spadafore&lt;/a&gt; and &lt;a href="http://carlback.blogspot.com/2008/11/in-loving-memory-of-our-son-father.html"&gt;Carl Backstrom&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It was great fun being involved, if by fun you mean I learnt an&amp;nbsp;awful&amp;nbsp;lot while making constructive criticism on other people's work - I hope they didn't mind ;-)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apress.com/9781430235125"&gt;Buy the book&lt;/a&gt;.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-v2De0OtUFvs/ThPnyxiXyKI/AAAAAAAAAP4/z7DPLCxx08g/s1600/export_oracle_apex.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-v2De0OtUFvs/ThPnyxiXyKI/AAAAAAAAAP4/z7DPLCxx08g/s200/export_oracle_apex.jpg" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;My copy arrived recently. It really is one of the best out there. Kudos to all those involved:&lt;br /&gt;&lt;br /&gt;John Scott, Dietmar Aust, Martin D'Souza, Doug Gault, Dimitri Gielis, Roel Hartman, Michael Hichwa, Sharon Kennedy, Denes Kubicek, Raj Mattamal, Dan McGhan, Francis Mignault, Anton Nielson, and the team at APress.&lt;br /&gt;&lt;br /&gt;More &lt;a href="http://www.oracle.com/technetwork/community/oracle-ace/index.html"&gt;ACEs&lt;/a&gt; than a pack of cards...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2946449010904502371?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2946449010904502371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2946449010904502371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2946449010904502371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2946449010904502371'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/look-ma-its-me.html' title='Look ma, it&apos;s me!'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-stu5hAjqowc/ThPnbu9-XaI/AAAAAAAAAP0/Ob08bV61gFc/s72-c/tech_review.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-1600888065744452021</id><published>2011-07-06T06:33:00.003+08:00</published><updated>2011-07-06T06:33:00.411+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><title type='text'>JDeveloper ADF - The Real Business Experience (plug)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;&lt;/div&gt;Yesterday I sent out a &lt;a href="http://sagecomputing.com.au/newsletters/Sage%20JDev%20Seminar%20-%20Invitation.pdf"&gt;newsletter&lt;/a&gt; from &lt;span class="Apple-style-span" style="color: #274e13;"&gt;Sage Computing Services&lt;/span&gt; detailing a &lt;b&gt;free &lt;/b&gt;half-day&amp;nbsp;seminar that we're running in conjunction with the &lt;a href="http://ausoug.org.au/"&gt;Australian Oracle User Group&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Presenters:&lt;/b&gt;&lt;br /&gt;Chris Muir - Oracle ACE Director - recognised internationally for his expertise with JDeveloper.&lt;br /&gt;Penny Cookson - Oracle ACE - Perth Oracle celebrity and Oracle Magazine award winner.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Date:&amp;nbsp;&lt;/b&gt;Tuesday 26th July 8:30 - 13:15 (double doses of coffee plus lunch provided)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Location:&amp;nbsp;&lt;/b&gt;The Great Southern Room, State Library of Western Australia&lt;br /&gt;&lt;a href="http://goo.gl/78zHs"&gt;http://goo.gl/78zHs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;RSVP:&lt;/b&gt; &lt;a href="mailto:Penny@sagecomputing.com.au"&gt;Penny@sagecomputing.com.au&lt;/a&gt; by 19th July&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cost:&amp;nbsp;&lt;/b&gt;Free!&lt;br /&gt;&lt;br /&gt;Check out the newsletter for further details on agenda.&lt;br /&gt;&lt;br /&gt;Sage was recently mentioned in an Oracle &lt;a href="http://www.oracle.com/technetwork/developer-tools/jdev/fhog-uin-157767.pdf"&gt;case study&lt;/a&gt;&amp;nbsp;for our work at the Department of Treasury &amp;amp; Finance.&lt;br /&gt;&lt;br /&gt;I'll hopefully be there to learn what I can about JDeveloper, but they won't convert me! &amp;nbsp;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;(not yet anyway)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-1600888065744452021?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/1600888065744452021/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=1600888065744452021' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1600888065744452021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1600888065744452021'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/jdeveloper-adf-real-business-experience.html' title='JDeveloper ADF - The Real Business Experience (plug)'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9489978 115.86027890000003</georss:point><georss:box>-32.5832378 115.37770140000002 -31.314757800000002 116.34285640000003</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-5092116253620066299</id><published>2011-07-05T22:24:00.000+08:00</published><updated>2011-07-05T22:24:48.478+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><title type='text'>Learning SQL?</title><content type='html'>Sometimes I hit the "Explore" link in Google Reader, I encounter some interesting an amusing things - kinda like using iTunes Genius but for web pages that suit your RSS interests.&lt;br /&gt;&lt;br /&gt;I stumbled across this blog listing free SQL books - as he says, not all of them Oracle, but worth a look.&lt;br /&gt;&lt;a href="http://newappsdba.blogspot.com/2011/06/free-sql-e-books.html"&gt;http://newappsdba.blogspot.com/2011/06/free-sql-e-books.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I thought the &lt;a href="http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm"&gt;OracleXE tutorial&lt;/a&gt; was well constructed - great for beginners trying to tinker with a locally installed Oracle database.&lt;br /&gt;&lt;br /&gt;Not too long ago I created a small document detailing the installation process and basic configuration for &lt;a href="http://www.oracle.com/technetwork/database/express-edition/11gxe-beta-download-302519.html"&gt;OracleXE 11g Beta&lt;/a&gt; on a Windows box, which can be found &lt;a href="https://docs.google.com/viewer?a=v&amp;amp;pid=explorer&amp;amp;chrome=true&amp;amp;srcid=0B_eVXQ_oe4tsODA4MGU3MmItMDQ0Ni00OGNiLThmZTgtZDVkY2U4NWJkYjQw&amp;amp;hl=en_GB"&gt;here&lt;/a&gt;. I just hadn't got around to publishing it in any form.&lt;br /&gt;&lt;br /&gt;If I can convince my laptop to open an EPUB file, I might even be able to comment on the &lt;i&gt;SQL Performance Explained&lt;/i&gt; e-book. (nope, while writing this I tried a few avenues, but my patience has been lost)&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-5092116253620066299?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/5092116253620066299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=5092116253620066299' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5092116253620066299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5092116253620066299'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/learning-sql.html' title='Learning SQL?'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2270790950210979647</id><published>2011-07-04T17:20:00.000+08:00</published><updated>2011-07-04T17:20:18.088+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='David Peake'/><category scheme='http://www.blogger.com/atom/ns#' term='EBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.1'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Integrating Oracle Apex with EBS</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-hLZLbtl0J7E/ThGFc-fCbxI/AAAAAAAAAPw/CR0Zml4KGK0/s1600/ebs12.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-hLZLbtl0J7E/ThGFc-fCbxI/AAAAAAAAAPw/CR0Zml4KGK0/s1600/ebs12.png" /&gt;&lt;/a&gt;&lt;/div&gt;Recently I was e-mailed a &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/learnmore/apex-ebs-extension-white-paper-345780.pdf"&gt;white paper&lt;/a&gt; from David Peake suggesting how to integrate Oracle Application Express with E-Business Suite.&lt;br /&gt;&lt;br /&gt;It was an interesting read, so I &lt;a href="http://lmgtfy.com/?q=url%3Aapex-ebs-extension"&gt;googled&lt;/a&gt; the partial document name to find what else has been said about it, and to find the link for this post&lt;br /&gt;&lt;code&gt;url:apex-ebs-extension&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dpeake.blogspot.com/2011/03/oracle-e-business-suite-and-apex-white.html"&gt;David Peake&lt;/a&gt; announced the white paper, of course - being the author.&lt;br /&gt;&lt;a href="http://blogs.oracle.com/stevenChan/entry/new_whitepaper_extending_e_business"&gt;Steven Chan&lt;/a&gt; also announced it the paper.&lt;br /&gt;&lt;br /&gt;It's been a fair while since I had to communicate with EBS. The coding examples took me back a few years, but one of the examples made me think about plug-in changes coming in Apex 4.1 - I wonder if the authorization methods will be modified to use an authorization plug-in?&lt;br /&gt;&lt;br /&gt;David did suggest they will modify the document in future with the latest improvements.&amp;nbsp;Time will tell...&lt;br /&gt;&lt;br /&gt;Yet another sign that Oracle is fully committed to Apex as another primary option for development.&lt;br /&gt;&lt;br /&gt;Scott.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2270790950210979647?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2270790950210979647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2270790950210979647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2270790950210979647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2270790950210979647'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/integrating-oracle-apex-with-ebs.html' title='Integrating Oracle Apex with EBS'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-hLZLbtl0J7E/ThGFc-fCbxI/AAAAAAAAAPw/CR0Zml4KGK0/s72-c/ebs12.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-505654931800186030</id><published>2011-07-04T12:42:00.000+08:00</published><updated>2011-09-21T21:46:23.148+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Useful Oracle Apex URLs</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-yXVl7ImbE0Y/ThFC24Ug62I/AAAAAAAAAPs/VGjSYdrIux0/s1600/oracle_apex.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-yXVl7ImbE0Y/ThFC24Ug62I/AAAAAAAAAPs/VGjSYdrIux0/s1600/oracle_apex.gif" /&gt;&lt;/a&gt;&lt;/div&gt;Today one of my tasks was to compile a list of useful Oracle Apex URLs to send out to some people.&lt;br /&gt;&lt;br /&gt;I've managed my bookmarks fairly well, and kept track of good links I've encountered over time. This list is certainly not exhaustive, and I've no doubt missed some key links, but if you're looking to explore - you might find something new or useful below.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;(Last updated: 2011-09-21)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;-- Apex documentation&lt;/span&gt;&lt;br /&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/documentation/index.html" style="color: #0658b5;" target="_blank"&gt;http://www.oracle.com/&lt;wbr&gt;&lt;/wbr&gt;technetwork/developer-tools/&lt;wbr&gt;&lt;/wbr&gt;apex/documentation/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-- Apex Statement of Direction&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-sod-087560.html"&gt;http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-sod-087560.html&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Apex Early Adopter website (recently used for 4.1)&lt;/div&gt;&lt;div&gt;http://tryapexnow.com/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;-- Dynamic actions sample application&lt;/div&gt;&lt;div&gt;&lt;a href="http://anthonyrayner.blogspot.com/2010/07/apex-40-new-dynamic-action-sample.html" style="color: #0658b5;" target="_blank"&gt;http://anthonyrayner.blogspot.&lt;wbr&gt;&lt;/wbr&gt;com/2010/07/apex-40-new-&lt;wbr&gt;&lt;/wbr&gt;dynamic-action-sample.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;-- Set item on return/validation&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.itworkedyesterday.com/blog/2010/2/23/apex_util-ready-set-json.html" style="color: #0658b5;" target="_blank"&gt;http://www.itworkedyesterday.&lt;wbr&gt;&lt;/wbr&gt;com/blog/2010/2/23/apex_util-&lt;wbr&gt;&lt;/wbr&gt;ready-set-json.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://rutgerderuiter.blogspot.com/2008/10/update-multiple-items-from-lov-field.html" style="color: #0658b5;" target="_blank"&gt;http://rutgerderuiter.&lt;wbr&gt;&lt;/wbr&gt;blogspot.com/2008/10/update-&lt;wbr&gt;&lt;/wbr&gt;multiple-items-from-lov-field.&lt;wbr&gt;&lt;/wbr&gt;html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Apex splitter&lt;/div&gt;&lt;div&gt;&lt;a href="http://oracleinsights.blogspot.com/2009/12/quickest-way-to-delete-unused-templates.html" style="color: #0658b5;" target="_blank"&gt;http://oracleinsights.&lt;wbr&gt;&lt;/wbr&gt;blogspot.com/2009/12/quickest-&lt;wbr&gt;&lt;/wbr&gt;way-to-delete-unused-&lt;wbr&gt;&lt;/wbr&gt;templates.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- On remembering URL parameter sequence&lt;/div&gt;&lt;div&gt;&lt;a href="http://triangle-circle-square.blogspot.com/2010/08/all-programmers-should-read.html" style="color: #0658b5;" target="_blank"&gt;http://triangle-circle-square.&lt;wbr&gt;&lt;/wbr&gt;blogspot.com/2010/08/all-&lt;wbr&gt;&lt;/wbr&gt;programmers-should-read.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Template substitution strings&lt;/div&gt;&lt;div&gt;&lt;a href="http://oraclequirks.blogspot.com/2007/07/apex-substitution-strings-cross.html" style="color: #0658b5;" target="_blank"&gt;http://oraclequirks.blogspot.&lt;wbr&gt;&lt;/wbr&gt;com/2007/07/apex-substitution-&lt;wbr&gt;&lt;/wbr&gt;strings-cross.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- &amp;nbsp;Plug-ins&lt;/div&gt;&lt;div&gt;&lt;a href="http://skillbuilders.com/oracle-apex/Application-Express-APEX-Consulting-Training.cfm?tab=plug-ins" style="color: #0658b5;" target="_blank"&gt;http://skillbuilders.com/&lt;wbr&gt;&lt;/wbr&gt;oracle-apex/Application-&lt;wbr&gt;&lt;/wbr&gt;Express-APEX-Consulting-&lt;wbr&gt;&lt;/wbr&gt;Training.cfm?tab=plug-ins&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-plug-ins-182042.html" style="color: #0658b5;" target="_blank"&gt;http://www.oracle.com/&lt;wbr&gt;&lt;/wbr&gt;technetwork/developer-tools/&lt;wbr&gt;&lt;/wbr&gt;apex/application-express/apex-&lt;wbr&gt;&lt;/wbr&gt;plug-ins-182042.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.apex-plugin.com/" style="color: #0658b5;" target="_blank"&gt;http://www.apex-plugin.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- &amp;nbsp;Online sample applications&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/application-express/packaged-apps-090453.html" style="color: #0658b5;" target="_blank"&gt;http://www.oracle.com/&lt;wbr&gt;&lt;/wbr&gt;technetwork/developer-tools/&lt;wbr&gt;&lt;/wbr&gt;apex/application-express/&lt;wbr&gt;&lt;/wbr&gt;packaged-apps-090453.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=11933:5" style="color: #0658b5;" target="_blank"&gt;http://apex.oracle.com/pls/&lt;wbr&gt;&lt;/wbr&gt;otn/f?p=11933:5&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=31517:1" style="color: #0658b5;" target="_blank"&gt;http://apex.oracle.com/pls/&lt;wbr&gt;&lt;/wbr&gt;otn/f?p=31517:1&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://apex.oracle.com/pls/otn/f?p=11620:5" style="color: #0658b5;" target="_blank"&gt;http://apex.oracle.com/pls/&lt;wbr&gt;&lt;/wbr&gt;otn/f?p=11620:5&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://actionet.homelinux.net/htmldb/f?p=100:59" style="color: #0658b5;" target="_blank"&gt;http://actionet.homelinux.net/&lt;wbr&gt;&lt;/wbr&gt;htmldb/f?p=100:59&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-- Apex blog aggregator&lt;/div&gt;&lt;div&gt;&lt;a href="http://apexblogs.info/pls/apex/f?p=APEXBLOGS:HOME:0:" style="color: #0658b5;" target="_blank"&gt;http://apexblogs.info/pls/&lt;wbr&gt;&lt;/wbr&gt;apex/f?p=APEXBLOGS:HOME:0:&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;-- Integrate forms with Apex&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://roelhartman.blogspot.com/2008/11/integrate-oracle-forms-with-apex.html" style="color: #0658b5;" target="_blank"&gt;http://roelhartman.blogspot.&lt;wbr&gt;&lt;/wbr&gt;com/2008/11/integrate-oracle-&lt;wbr&gt;&lt;/wbr&gt;forms-with-apex.html&lt;/a&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;-- Error page replacement (more flexible in 4.1)&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://triangle-circle-square.blogspot.com/2010/09/jquery-error-page-replacement.html" style="color: #0658b5;" target="_blank"&gt;http://triangle-circle-square.&lt;wbr&gt;&lt;/wbr&gt;blogspot.com/2010/09/jquery-&lt;wbr&gt;&lt;/wbr&gt;error-page-replacement.html&lt;/a&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;-- Apex themes&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://www.apex-themes.com/" style="color: #0658b5;" target="_blank"&gt;http://www.apex-themes.com/&lt;/a&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;-- I highly recommend the following books&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://www.apress.com/9781430235125" style="color: #0658b5;" target="_blank"&gt;http://www.apress.com/&lt;wbr&gt;&lt;/wbr&gt;9781430235125&lt;/a&gt;&amp;nbsp;(released June 11)&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://www.amazon.com/Oracle-Application-Express-Experts-Voice/dp/159059827X" style="color: #0658b5;" target="_blank"&gt;http://www.amazon.com/Oracle-&lt;wbr&gt;&lt;/wbr&gt;Application-Express-Experts-&lt;wbr&gt;&lt;/wbr&gt;Voice/dp/159059827X&lt;/a&gt;&amp;nbsp;(Amazon best seller)&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;-- Prettying Apex URLs&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://ora-00001.blogspot.com/2009/07/creating-rest-web-service-with-plsql.html" style="color: #0658b5;" target="_blank"&gt;http://ora-00001.blogspot.com/&lt;wbr&gt;&lt;/wbr&gt;2009/07/creating-rest-web-&lt;wbr&gt;&lt;/wbr&gt;service-with-plsql.html&lt;/a&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://krisrice.blogspot.com/2007/02/better-apex-urls.html" style="color: #0658b5;" target="_blank"&gt;http://krisrice.blogspot.com/&lt;wbr&gt;&lt;/wbr&gt;2007/02/better-apex-urls.html&lt;/a&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;Scott&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-505654931800186030?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/505654931800186030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=505654931800186030' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/505654931800186030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/505654931800186030'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/07/useful-oracle-apex-urls.html' title='Useful Oracle Apex URLs'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-yXVl7ImbE0Y/ThFC24Ug62I/AAAAAAAAAPs/VGjSYdrIux0/s72-c/oracle_apex.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-1298979144078462047</id><published>2011-06-20T22:37:00.000+08:00</published><updated>2011-06-20T22:37:47.175+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Steven Feuerstein'/><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Tom Kyte'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>A mash of Oracle related thoughts</title><content type='html'>It's been almost a month since my last confession. I have plenty I want to say!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Australian Oracle User Group&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;As usual, there is various activity going on around the country.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;July 14 2011 &lt;/b&gt;there is a one day &lt;a href="http://www.ausoug.org.au/portal/page/portal/LT_AUSOUG_MAIN/MAIN?page_code=TVN"&gt;Northern Region Conference&lt;/a&gt; at Jupiters Townsville. Kudos to &lt;a href="http://oracleinsights.blogspot.com/"&gt;Mark Lancaster&lt;/a&gt; et al for that one. It's a shame I can't be there.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;August 16-17 2011&lt;/b&gt; is this year's &lt;a href="http://www.insync-conference.com.au/"&gt;InSync&lt;/a&gt; conference. My paper has been accepted so I look forward to seeing &amp;amp; meeting old &amp;amp; new members of the Oracle community from around Australia and the world. This will be the largest Oracle event I've been to so far.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;August 18 2011&lt;/b&gt; there will be a Day or Real World Performance with Tom Kyte, Andrew Holdsworth &amp;amp; Graham Norwood. This has recently been announced and looks very attractive. I'll be looking out for more details on this - a similar event was recently at &lt;a href="http://www.ukoug.org/events/a-day-of-real-world-performance/"&gt;UK-OUG&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;November 3-4 2011&lt;/b&gt; will be my hometown's conference - &lt;a href="http://www.ausoug.org.au/2020/"&gt;Oracle with 20:20 Foresight&lt;/a&gt;, of which this year I have taken the reigns from Penny Cookson as the Program Chair. It will be an interesting and challenging task, and I look forward to what should be an even better event than last year. The call for papers is now open, so get your submissions in by August 10th.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-NosfXtILqi0/Tf9a5ndwPdI/AAAAAAAAAPo/cAtHkhQj394/s1600/oracle_plane.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="213" src="http://3.bp.blogspot.com/-NosfXtILqi0/Tf9a5ndwPdI/AAAAAAAAAPo/cAtHkhQj394/s320/oracle_plane.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;In between all these events will be the regular branch meetings where you can catch a local presenter talking about anything Oracle. Aussie Oracle technologists - get in there!&lt;br /&gt;&lt;br /&gt;And if you're not from Australia, I hope this isn't the only sort of plane that will get you here (think volcanic ash...)&lt;br /&gt;&lt;br /&gt;So when you sit down to write or update your presentation, keep an eye out for tips such as &lt;a href="http://the99percent.com/tips/7039/How-to-Create-a-Captivating-Presentation"&gt;these&lt;/a&gt;&amp;nbsp;to create something outside the square.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Keep Yourself in the Loop&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Oh so tempting to throw a PL/SQL pun in there, but I'll leave this the exception. &lt;i&gt;&lt;cough&gt;&lt;/cough&gt;&lt;/i&gt;&lt;br /&gt;Steven Feuerstein and his team have been doing such a great job moving forward with the &lt;a href="http://www.plsqlchallenge.com/"&gt;PL/SQL Challenge&lt;/a&gt; website, it's now in &lt;a href="http://plsql-challenge.blogspot.com/2011/05/plsql-challenge-version-2-now-available.html"&gt;version 2.0&lt;/a&gt;.&lt;br /&gt;In addition to a daily PL/SQL quiz, Steven has now launched a weekly SQL quiz and a weekly Apex quiz.&lt;br /&gt;&lt;br /&gt;Now you don't have to play competitively or publicly rank yourself amongst the few thousand active players - but it is a great place to spend 5-10 minutes every day testing yourself on your general knowledge of Oracle technology. When I was first learning Oracle I spent a fair bit of time at &lt;a href="http://asktom.oracle.com/"&gt;asktom.oracle.com&lt;/a&gt;, this is another location you should bookmark and visit regularly. And on top of all this, Steven has given away almost US$30k in prizes - and it's not just for the winners. Granted, US$30K just isn't the same as AUD$30k these days, but it's worth the effort ;-)&lt;br /&gt;&lt;br /&gt;And more kudos to Aussies&amp;nbsp;&lt;a href="http://blog.sydoracle.com/"&gt;Gary Myers&lt;/a&gt; and &lt;a href="http://jeffkemponoracle.com/"&gt;Jeff Kemp&lt;/a&gt; for ranking highly in the recent quarterly playoffs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Oracle Training&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;What has been keeping my working life busy recently - in between the regular consulting - has been the influx of training request around the country. I only hope that planes will be flying regularly once the volcanic ash has settled down, otherwise I might have some disappointed customers!&lt;br /&gt;&lt;br /&gt;It's end of financial year time, and it's great that so many companies out there want to keep their team skilled. I've been keeping our Apex notes up to date with all things Apex 4.0; our own Oracle Ace Director Chris Muir has been hitting it hard with numerous JDeveloper ADF workshops; plus we have our regular SQL training to keep your queries sharp, amongst our other courses.&lt;br /&gt;&lt;br /&gt;If you're on the lookout for exceptional Oracle training, hit up Sage's&amp;nbsp;&lt;a href="http://sagecomputing.com.au/oracle_training_australia.html"&gt;website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;My Blog Layout&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;While nothing has changed yet, I plan to give this site a little revamp and bring it into 2011. I've learnt a few things along the blogging path, so keep an eye out for additions such as&amp;nbsp;Google +1. It's such an interesting concept, and I'll be keeping an eye out to see where it goes down the rabbit hole. I read an interesting analysis at &lt;a href="http://phandroid.com/2011/06/02/why-1-could-crush-facebook-and-how-google-could-blow-it/"&gt;Phandroid&lt;/a&gt;, and webmasters can learn more about it at &lt;a href="http://www.google.com/webmasters/+1/button/index.html"&gt;Google&lt;/a&gt;.&lt;br /&gt;I also want to make it a little less clunky &amp;amp; boring and perhaps show that I have some of my &lt;a href="http://artwraps.com.au/"&gt;sister's&lt;/a&gt; graphic design genes.&lt;br /&gt;&lt;br /&gt;I'm even tempted to go &lt;a href="http://www.apexninjas.com/blog/f?p=100:1:0::::P1_ARTICLE:1964"&gt;Apex&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Around the Oracle Community&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;There have been a number of great posts by Oracle bloggers recently that I'd like to share if you haven't seen them already, or in case you missed them.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Eddie Awad shared a &lt;a href="http://www.oraclecommunity.net/video/tom-kyte-why-you-should"&gt;short video&lt;/a&gt; by Tom Kyte talking about Oracle. It's good to see the occasional video instead of faceless text - it's just a shame our Australian networks just don't make it easy to see this content smoothly on our smartphones.&lt;/li&gt;&lt;li&gt;Speaking of mobiles, Peter Raganitsch has been talking about &lt;a href="http://www.oracle-and-apex.com/create-a-mobile-theme-for-oracle-apex/"&gt;theming on Apex&lt;/a&gt; for mobile devices.&lt;/li&gt;&lt;li&gt;Apex 4.1 is moving forward, and one of the features I'm looking forward to working with is the &lt;a href="http://www.inside-oracle-apex.com/apex-4-1-error-handling-improvements-part-2"&gt;Error Handling Improvements&lt;/a&gt;. If you haven't upgraded from Apex 3.x, why not?!&lt;/li&gt;&lt;li&gt;Plug-ins is one area that I really need to catch up on, experts like Dan McGhan are doing all sorts of crazy work with &lt;a href="http://www.danielmcghan.us/2011/06/save-value-on-cascade-11.html"&gt;Apex Plug-ins&lt;/a&gt;, demonstrating Apex as the flexible tool it is.&lt;/li&gt;&lt;li&gt;And if you haven't heard or have forgotten, &lt;a href="http://www.oracle-and-apex.com/install-oracle-xe-11g-beta-on-windows-xp/"&gt;Oracle XE 11g&lt;/a&gt; has been released in beta. The world keeps on spinning&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;An Apex Book Everyone Must Have&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;And I simply can't go by without mentioning the latest Apress book &lt;a href="http://www.apress.com/9781430235125"&gt;Expert Oracle Application Express&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;I had the wonderful opportunity of being a technical reviewer for this book, and it's simply stunning. You might see my ugly mug somewhere in the first few pages.&lt;/div&gt;&lt;div&gt;Not only that, as you've &lt;a href="http://jes.blogs.shellprompt.net/2011/03/30/expert-oracle-application-express/"&gt;probably heard&lt;/a&gt;, proceeds of this book help support the families of Carl Backstom and Scott Spadafore.&lt;/div&gt;&lt;div&gt;Keep an eye out for other Apress books that are in the works, too. I have a feeling there are a few other good ones on the way ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now, back to the business of real(ish) work. I should be back to more regular postings from July.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;ScottWe.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-1298979144078462047?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/1298979144078462047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=1298979144078462047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1298979144078462047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1298979144078462047'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/06/mash-of-oracle-related-thoughts.html' title='A mash of Oracle related thoughts'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-NosfXtILqi0/Tf9a5ndwPdI/AAAAAAAAAPo/cAtHkhQj394/s72-c/oracle_plane.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Perth WA, Australia</georss:featurename><georss:point>-31.9522222 115.85888890000001</georss:point><georss:box>-32.5864622 115.3763114 -31.317982200000003 116.34146640000002</georss:box></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-1325131232630124446</id><published>2011-05-23T10:25:00.000+08:00</published><updated>2011-05-23T10:25:13.281+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Steven Feuerstein'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><title type='text'>A simple way to learn more about PL/SQL</title><content type='html'>Attention PL/SQL developers - Steven Feuerstein's PL/SQL Challenge &lt;a href="http://www.plsqlchallenge.com/"&gt;website&lt;/a&gt; has just been &lt;a href="http://plsql-challenge.blogspot.com/2011/05/plsql-challenge-version-2-now-available.html"&gt;2.0'd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you haven't given it a go, now is the time for a fresh crack. It's not just a daily quiz, but a place to learn and keep up to date with Oracle technology - not necessarily with new features, but techniques and capabilities you may not have been aware or, nor had the exposure to.&lt;br /&gt;&lt;br /&gt;That and everyone has a chance to win something.&lt;br /&gt;&lt;br /&gt;Kudos to Steven and his team of merry men.&lt;br /&gt;&lt;br /&gt;Scott.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-1325131232630124446?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/1325131232630124446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=1325131232630124446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1325131232630124446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1325131232630124446'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/05/simple-way-to-learn-more-about-plsql.html' title='A simple way to learn more about PL/SQL'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7555823976240432772</id><published>2011-05-19T12:12:00.001+08:00</published><updated>2011-05-19T12:12:00.171+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Developer'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PRAGMA'/><title type='text'>Anonymous PL/SQL blocks</title><content type='html'>Some of you may be familiar with the ability to administer Apex applications via SQL Developer, for instance I could modify the alias of my application thusly:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ljYF1qKgj3I/TdDVj9a_iHI/AAAAAAAAAPM/a6jK68kgfhw/s1600/apex_sqldev.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="162" src="http://4.bp.blogspot.com/-ljYF1qKgj3I/TdDVj9a_iHI/AAAAAAAAAPM/a6jK68kgfhw/s320/apex_sqldev.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;It opens a popup which allows me to write my new alias.&lt;br /&gt;As with the other facilities of SQL Developer, you can opt to view the relevant SQL for this change.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-vCnzzGPQeMQ/TdDWLtVL7vI/AAAAAAAAAPQ/wcn8MrAxVCg/s1600/apex_alias.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="277" src="http://4.bp.blogspot.com/-vCnzzGPQeMQ/TdDWLtVL7vI/AAAAAAAAAPQ/wcn8MrAxVCg/s320/apex_alias.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;All Oracle is really doing here is calling the relevant API, but what I also noticed the first time I used it was the autonomous transaction pragma it applied to the anonymous block.&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;declare&lt;br /&gt;  PRAGMA AUTONOMOUS_TRANSACTION;&lt;br /&gt;begin&lt;br /&gt;  wwv_flow_api.set_security_group_id(p_security_group_id=&amp;gt;100001);&lt;br /&gt;  wwv_flow_api.set_application_alias (p_flow_id=&amp;gt;101,p_alias=&amp;gt;'TIM_0101_b');&lt;br /&gt;  commit;&lt;br /&gt;end;&lt;br /&gt;/&lt;/pre&gt;In the past I've quite happily applied this &lt;a href="http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/autotransaction_pragma.htm#i32731"&gt;pragma&lt;/a&gt; for a procedure defined within a package, but this demonstrates we can also define independent transactions within these anonymous PL/SQL blocks, in addition to certain triggers.&lt;br /&gt;&lt;br /&gt;Something I added to the memory bank when I first stumbled on it.&lt;br /&gt;&lt;br /&gt;A final note - you can also kinda "name" your anonymous block to assist your documentation process, ie - there is no reason why you can't finish with:&lt;br /&gt;&lt;code&gt;END my_anonymous_block;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ScottWe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7555823976240432772?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7555823976240432772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7555823976240432772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7555823976240432772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7555823976240432772'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/05/anonymous-plsql-blocks.html' title='Anonymous PL/SQL blocks'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-ljYF1qKgj3I/TdDVj9a_iHI/AAAAAAAAAPM/a6jK68kgfhw/s72-c/apex_sqldev.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4245320452699400410</id><published>2011-05-16T20:00:00.001+08:00</published><updated>2011-11-07T20:09:30.680+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Apollo'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>An random insight into computing history</title><content type='html'>In the days of reaching the moon, we amazed ourselves with the mathematical capability we empowered our machines with.&lt;br /&gt;&lt;br /&gt;Apollo's 32kg &lt;a href="http://www.abc.net.au/science/moon/computer.htm"&gt;guidance&lt;/a&gt; &lt;a href="http://downloadsquad.switched.com/2009/07/20/how-powerful-was-the-apollo-11-computer/"&gt;computer&lt;/a&gt; was basically 2Mhz and it's memory measured in kilobytes, and gave Neil Armstrong a cryptic memory error just seconds from landing on the moon.&lt;br /&gt;&lt;br /&gt;It used to be said that the apollo spacecraft technology is blitzed by "today's" vehicles. Well, today's vehicles are way ahead now, and we can find electronics that exceed Apollo computing power everywhere. This &lt;a href="http://www.brianmoreau.com/articles/Apollo11-HTC-Desire.php"&gt;article&lt;/a&gt; compares the guidance computer to a 2009 smart phone. I tried to find the exact specifications for something less conspicuous like anti-lock brakes but alas.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QBjeiq6Hb1Q/TdDGbJ53SSI/AAAAAAAAAO8/ruh28ZpoflE/s1600/2011-04-27+19.30.35.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-QBjeiq6Hb1Q/TdDGbJ53SSI/AAAAAAAAAO8/ruh28ZpoflE/s200/2011-04-27+19.30.35.jpg" width="150" /&gt;&lt;/a&gt;&lt;/div&gt;Where am I going with this? Recently I was cleaning out the extended garage and found an old computer I was yet to dispose of. This was partially due to nostolgia, and another part of me thought I might be able to find some use for it - well, I did find a use - amusement.&lt;br /&gt;&lt;br /&gt;As I pulled it apart, I thought I'd take a few photos and document the occasion. It was dated 1999 so I imagine this is what got me through university. I know 1999 isn't exactly looking through a wondrous time portal, but it was enough to keep me amused for a while - amusement which started with the 5 1/4 inch disk drive!&lt;br /&gt;Looking in the guts I'm surprised at the lack of a modem, unless I moved that 56k beast to a different pc. Another look at the front shows it is a bit of a mutt, with cd drive upgraded to dvd &amp;amp; pasty old disk drive installed to pilfer data off old disks.&lt;br /&gt;&lt;br /&gt;The computer belonged to the era where hard disk space was doubling and this affected what  (and the amount of) software you could install. Today, space requirements for software such as your operating system is simply absorbed into the mass amount of storage available. I could tell you DOS6 fitted on a handful of 3.5" disks, I can't tell you how much Windows 7 now consumes. Yes, my first computer was an XT using DOS 3ish.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-B7xNYfMIkOE/TdDHfmf6eDI/AAAAAAAAAPA/kmcvSp1etjk/s1600/2011-04-27+19.29.58.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/-B7xNYfMIkOE/TdDHfmf6eDI/AAAAAAAAAPA/kmcvSp1etjk/s200/2011-04-27+19.29.58.jpg" width="200" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-EJ-_iD8nMe0/TdDH4omFMbI/AAAAAAAAAPE/gDLVgKIjCzM/s1600/2011-04-27+19.29.33.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://1.bp.blogspot.com/-EJ-_iD8nMe0/TdDH4omFMbI/AAAAAAAAAPE/gDLVgKIjCzM/s200/2011-04-27+19.29.33.jpg" width="200" /&gt;&lt;/a&gt;Here is a fuzzy look at the mutilated insides, the close-up shows the original 1GB HD, and the 8GB upgrade, with the Pentium II core and 64mb RAM.&lt;br /&gt;&lt;br /&gt;The back of the PC shows the March 1999 build date, with pride by &lt;a href="http://ple.com.au/"&gt;PLE Computers&lt;/a&gt; - our local mainstay.&lt;br /&gt;&lt;br /&gt;I just noticed the whopping 2 USB ports, wasn't much need for them back then, because at this time for data transfer we all used &lt;a href="http://en.wikipedia.org/wiki/Zip_drive"&gt;ZIP&lt;/a&gt; drives.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-3DXy1i_AJo8/TdDJ0EnBZGI/AAAAAAAAAPI/fYINhwEPE6w/s1600/2011-04-27+19.34.24.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-3DXy1i_AJo8/TdDJ0EnBZGI/AAAAAAAAAPI/fYINhwEPE6w/s200/2011-04-27+19.34.24.jpg" width="150" /&gt;&lt;/a&gt;A nice 100/250mb of data in the one iomega disk, great for holding (and potentially losing) all my university work. I was prudent with my backing up - apart from theft and stupidity, with excessive use we also had to avoid the &lt;a href="http://en.wikipedia.org/wiki/Click_of_death"&gt;click of death&lt;/a&gt;, which (why should I be surprised) you can listen to on Wikipedia.&lt;br /&gt;&lt;br /&gt;And on a side thought, one of the &lt;a href="http://www.theskepticsguide.org/"&gt;podcasts&lt;/a&gt; I listen to talked about how much data capacity exists around the world (if that's the right phrase to use) - a result of some study. A secondary finding to that was much of the world's data is &lt;i&gt;redundant&lt;/i&gt;. Isn't that a fascinating conclusion, but when you think about it, it becomes completely obvious. We are all consumers of data, downloading what companies around the world have to offer. We also share information - music, videos, photos - all of which could easily be replicated on multiple computers, backup disks, internet servers. I'd like to know how much purely unique data might exist out there? Perhaps a mass amount - I wonder how much the &lt;a href="http://en.wikipedia.org/wiki/Large_Hadron_Collider"&gt;LHC&lt;/a&gt;&amp;nbsp;would produce in a few minutes?&lt;br /&gt;&lt;br /&gt;Random mentations of an Oracle developer...&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-4245320452699400410?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/4245320452699400410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=4245320452699400410' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4245320452699400410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4245320452699400410'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/05/random-insight-into-computing-history.html' title='An random insight into computing history'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-QBjeiq6Hb1Q/TdDGbJ53SSI/AAAAAAAAAO8/ruh28ZpoflE/s72-c/2011-04-27+19.30.35.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2690017549593189089</id><published>2011-05-04T04:44:00.007+08:00</published><updated>2011-11-07T20:10:32.455+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Off topic - excellent computing award</title><content type='html'>I have been cleaning out the garage and I found a box full of stuff my mum kept from school.&lt;br /&gt;&lt;br /&gt;Turns out back when in primary (grade) school when I was twelve (the days when I used already dating&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Logo_(programming_language)"&gt;logo&lt;/a&gt; and what I'm sure was this &lt;a href="http://en.wikipedia.org/wiki/L_%E2%80%93_A_Mathemagical_Adventure"&gt;mathematical adventure&lt;/a&gt;), I was given a slight insight into what was to become of my career - an A5 sized certificate.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-4mFBXlJFmyA/Tb5qwQnM4AI/AAAAAAAAAO4/piGhxRKRbhE/s1600/computing_excellence.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/-4mFBXlJFmyA/Tb5qwQnM4AI/AAAAAAAAAO4/piGhxRKRbhE/s200/computing_excellence.jpg" width="179" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Have I reached &lt;i&gt;excellence&lt;/i&gt;? Well, that's a subjective term (with a good blog entry I just can't find)... but for today, &lt;span class="Apple-style-span" style="color: #444444;"&gt;may the fourth be with you&lt;/span&gt; while enjoying this very timely &lt;a href="http://www.youtube.com/watch?v=dfDEyLbUSxo"&gt;parody&lt;/a&gt;&amp;nbsp;worth watching.&lt;br /&gt;&lt;br /&gt;ScottWe&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2690017549593189089?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2690017549593189089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2690017549593189089' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2690017549593189089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2690017549593189089'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/05/off-topic-excellent-computing-award.html' title='Off topic - excellent computing award'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-4mFBXlJFmyA/Tb5qwQnM4AI/AAAAAAAAAO4/piGhxRKRbhE/s72-c/computing_excellence.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6599317330079418003</id><published>2011-05-03T11:07:00.000+08:00</published><updated>2011-05-03T11:07:26.706+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='JDeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Oracle Training Australia (plug)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;&lt;/div&gt;As it so happens, June is going to be a busy month training for us in Perth, Australia.&lt;br /&gt;&lt;br /&gt;For 5 days from the 13th June, ACE Director &lt;a href="http://one-size-doesnt-fit-all.blogspot.com/"&gt;Chris Muir&lt;/a&gt; will be conducting a &lt;a href="http://sagecomputing.com.au/training/oracle_jdeveloper_training_5day.html"&gt;JDeveloper Workshop&lt;/a&gt; in Perth. If you're an Oracle Forms developer who wants to migrate your skill set to the 21st century, this is your course.&lt;br /&gt;&lt;br /&gt;Alternatively, you can immerse yourself in the world of Oracle Application Express. From 15th June for 3 days, I will take you on an&amp;nbsp;&lt;a href="http://sagecomputing.com.au/training/oracle_application_express_4_training.html"&gt;Application Express&lt;/a&gt;&amp;nbsp;workshop&amp;nbsp;- no experience necessary.&lt;br /&gt;&lt;br /&gt;To supplement that, we are also holding an &lt;i&gt;&lt;a href="http://sagecomputing.com.au/training/oracle_advanced_application_express_training.html"&gt;Advanced Application Express&lt;/a&gt; &lt;a href="http://sagecomputing.com.au/training/oracle_application_express_4_new_features_training.html"&gt;&amp;amp; New Features&lt;/a&gt;&lt;/i&gt; workshop for Apex 4.0 on the 28-30th June 2011 in West Perth.&lt;br /&gt;&lt;br /&gt;Feel free to &lt;a href="http://sagecomputing.com.au/contact_sage_computing_services.html"&gt;contact&lt;/a&gt; that Sage team for more information.&lt;br /&gt;&lt;br /&gt;If you're somewhere in Australia other than Perth, and you can't make it across in June - arrange a time where we can travel to you to train your team. SQL, JDeveloper, Apex, Forms, DB Tuning... name your poison. We have competitive rates, extensive training notes, and I'll &lt;i&gt;almost &lt;/i&gt;guarantee you'll have a good time.&lt;br /&gt;&lt;br /&gt;Otherwise, we hope to see you at the next Oracle event.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6599317330079418003?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6599317330079418003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6599317330079418003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6599317330079418003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6599317330079418003'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/05/oracle-training-australia-plug.html' title='Oracle Training Australia (plug)'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6761829846353894915</id><published>2011-04-14T18:20:00.003+08:00</published><updated>2011-04-14T18:20:00.111+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Data visualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>A data mining experience</title><content type='html'>Hands up who went to Spain in August '08? Well, I did with some friends after my mate's wedding. Last night while talking with the said mate, the topic of earthquakes came up somehow via me mentioning Aaron Rolston.&lt;br /&gt;&lt;br /&gt;For a little context, I've visited this site a few times&amp;nbsp;recently&amp;nbsp;to see just how many quakes there are around the world every day - turns out a few dozen. Activity around Japan is just phenomenal.&lt;br /&gt;&lt;div&gt;&lt;a href="http://earthquake.usgs.gov/earthquakes/recenteqsww/Quakes/quakes_all.html" target="_blank"&gt;http://earthquake.usgs.gov/&lt;wbr&gt;&lt;/wbr&gt;earthquakes/recenteqsww/&lt;wbr&gt;&lt;/wbr&gt;Quakes/quakes_all.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;So back in Spain - one morning over breakfast, I remember a friend telling us about a news report about a nearby earthquake that occurred the night before while we were playing poker. He mentioned something at the time, not many of us noticed anything - might have been the San Miguel...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;So I thought I'd look to see if I could track it down&lt;/div&gt;&lt;div&gt;&lt;a href="http://earthquake.usgs.gov/earthquakes/eqarchives/epic/" target="_blank"&gt;http://earthquake.usgs.gov/&lt;wbr&gt;&lt;/wbr&gt;earthquakes/eqarchives/epic/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is a five day inclusive search around the world in August 2008 - I repeat, only&amp;nbsp;5 days worth:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-w-8MNLH5Lwo/TaZpI4GNaDI/AAAAAAAAAO0/1vD4QbfolW8/s1600/while_in_spain.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-w-8MNLH5Lwo/TaZpI4GNaDI/AAAAAAAAAO0/1vD4QbfolW8/s1600/while_in_spain.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;So to find those just in Spain, I restricted the region in the &lt;a href="http://neic.usgs.gov/cgi-bin/epic/epic.cgi?SEARCHMETHOD=2&amp;amp;FILEFORMAT=4&amp;amp;SEARCHRANGE=HH&amp;amp;SLAT2=50&amp;amp;SLAT1=30&amp;amp;SLON1=-20&amp;amp;SLON2=10&amp;amp;SYEAR=2008&amp;amp;SMONTH=08&amp;amp;SDAY=04&amp;amp;EYEAR=2008&amp;amp;EMONTH=08&amp;amp;EDAY=08&amp;amp;LMAG=&amp;amp;UMAG=&amp;amp;NDEP1=&amp;amp;NDEP2=&amp;amp;IO1=&amp;amp;IO2=&amp;amp;CLAT=0.0&amp;amp;CLON=0.0&amp;amp;CRAD=0.0&amp;amp;SUBMIT=Submit+Search"&gt;search criteria&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The two in highlighted red in the report below are the ones that we were within possibly 3 kms of it, if I remember our exact location correctly. Two evening quakes &lt;i&gt;just&lt;/i&gt; over an hour apart, 7km deep.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;pre style="font-size: medium;"&gt;&lt;span style="font-family: 'courier new',monospace;"&gt;                    U.  S.  G E O L O G I C A L  S U R V E Y&lt;br /&gt;                     E A R T H Q U A K E  D A T A  B A S E&lt;br /&gt;&lt;br /&gt; FILE CREATED:  Wed Apr 13 15:52:46 2011&lt;br /&gt; Geographic Grid Search   Earthquakes=         8&lt;br /&gt; Latitude:   50.000N  -   30.000N&lt;br /&gt; Longitude:    10.000E  -    20.000W&lt;br /&gt; Catalog Used: PDE&lt;br /&gt; Date Range:   2008/08/04   to    2008/08/08&lt;br /&gt; Data Selection: Historical &amp;amp; Preliminary Data&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; CAT    YEAR  MO DA  ORIG TIME   LAT    LONG  DEP  MAGNITUDE  IEM DTSVNWG DIST&lt;br /&gt;                                                              NFO          km&lt;br /&gt;                                                              TF &lt;br /&gt; PDE    2008  08 04 060910.21  42.10   -6.82  17  2.8 LgMDD   ... .......      &lt;br /&gt; PDE    2008  08 05 152121.24  37.00    3.42   0  4.0 UKMDD   ... .......      &lt;br /&gt;&lt;span style="color: #cc0000;"&gt;&lt;b&gt; PDE    2008  08 05 224121.93  38.05   -0.78   7  3.5 MLSTR   3F. .......      &lt;br /&gt; PDE    2008  08 05 234123.44  38.07   -0.78   7  2.7 LgMDD   3F. .......      &lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-size: medium;"&gt;&lt;span style="font-family: 'courier new',monospace;"&gt; PDE    2008  08 07 090314.60  42.94   -1.33   2  2.5 MLLDG   ... .......      &lt;br /&gt; PDE    2008  08 07 103215.30  41.98    2.56   5  2.6 MLSTR   ... .......      &lt;br /&gt; PDE    2008  08 08 094711.30  42.36    3.45  10  2.5 LgMDD   ... .......      &lt;br /&gt; PDE    2008  08 08 225611.15  35.58   -4.70  65  2.8 UKMDD   ... .......&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;I had a look on google maps for the &lt;a href="http://goo.gl/maps/oG3X"&gt;location&lt;/a&gt;, I think we stayed in Los Montesinos, Torrevieja - very close!&lt;br /&gt;&lt;br /&gt;The internet is full of amazing information - sometimes it's just a matter of tapping into it, sometimes it's a matter of coming up with the idea.&lt;br /&gt;&lt;br /&gt;ScottWe&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6761829846353894915?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6761829846353894915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6761829846353894915' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6761829846353894915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6761829846353894915'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/04/data-mining-experience.html' title='A data mining experience'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-w-8MNLH5Lwo/TaZpI4GNaDI/AAAAAAAAAO0/1vD4QbfolW8/s72-c/while_in_spain.PNG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7741453874487092971</id><published>2011-04-12T22:06:00.000+08:00</published><updated>2011-04-12T22:06:16.907+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Patterns'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Observations in pattern matching</title><content type='html'>Sometimes while driving the suburbs, I'll see a line of cars the stands out for the most benign reason - each boldly coloured -&amp;nbsp;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;red &lt;/span&gt;- &lt;span class="Apple-style-span" style="color: blue;"&gt;blue&lt;/span&gt; - &lt;span class="Apple-style-span" style="color: #f1c232;"&gt;yellow &lt;/span&gt;- &lt;span class="Apple-style-span" style="color: #38761d;"&gt;green&lt;/span&gt;&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;The first time I became aware of how much it stood out for me, I've kept an eye out for it again - a simple alignment of colours. Look around, often you see is really nothing exciting white, white, grey, red, white, white... more variety in the models. So the bright sequence is an outlier that appears very low on my bell curve. &lt;br /&gt;&lt;br /&gt;However, I don't really do cars, but when using computers, sometimes I see strange alignments in behaviour. As a developer, I see issues in code behaviour, and sometimes just the way it looks. It's same same but different for testing colour-blindness with the &lt;a href="http://ishihara%20color%20test/"&gt;Ishihara color test&lt;/a&gt;; and it would be fascinating to hear something with synaesthesia describing the &lt;a href="http://theness.com/neurologicablog/?p=367"&gt;stroop effect&lt;/a&gt;, and how the could also be used to find spies!&lt;br /&gt;&lt;br /&gt;These days, many people are becoming proficient in using Google. And the engine learns from the use of everyone. People get familiar, particularly with their regular style of searching. I'm reading a fascinating book right now called &lt;a href="http://www.amazon.com/Click-Millions-People-Online-Matters/dp/1401323049"&gt;Click: What Millions of People Are Doing Online and Why it Matters&lt;/a&gt;. It's phenomenal the amount of information to be mined &amp;amp; utilised.&lt;br /&gt;&lt;br /&gt;That was a tired ramble, this is what I saw that spurred it on&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-M38rrUagi6k/TaRZrzDcFlI/AAAAAAAAAOw/TDMCOgkkdSE/s1600/google_surprise.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="267" src="http://4.bp.blogspot.com/-M38rrUagi6k/TaRZrzDcFlI/AAAAAAAAAOw/TDMCOgkkdSE/s400/google_surprise.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Just like the four words of &lt;a href="http://www.youtube.com/watch?v=nFDqvKtPgZo"&gt;Isaiah Mustafa&lt;/a&gt;&amp;nbsp;"silver fish hand catch", "computers marijuana guns shareholding" were part of four terms I never thought I'd see together in the top four results.&lt;br /&gt;&lt;br /&gt;And onya Google for honouring the first human space flight - pairing nicely with another book I've started by &lt;a href="http://www.amazon.com/Magnificent-Desolation-Long-Journey-Home/dp/0307463451"&gt;Buzz Aldrin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Over.&lt;br /&gt;&lt;br /&gt;ScottWe&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7741453874487092971?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7741453874487092971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7741453874487092971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7741453874487092971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7741453874487092971'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/04/observations-in-pattern-matching.html' title='Observations in pattern matching'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-M38rrUagi6k/TaRZrzDcFlI/AAAAAAAAAOw/TDMCOgkkdSE/s72-c/google_surprise.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-447371182834866619</id><published>2011-04-01T00:12:00.000+08:00</published><updated>2011-04-01T10:46:36.851+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Connor McDonald'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='JDeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Of course the Australian Oracle Community is alive</title><content type='html'>It's just sometimes not everyone hear's about it.&lt;br /&gt;&lt;br /&gt;Last Monday I was at the South Australian AUSOUG Conference in &lt;a href="http://www.ausoug.org.au/portal/page/portal/LT_AUSOUG_MAIN/MAIN?page_code=SA_Branch"&gt;Adelaide&lt;/a&gt;. This was my first real visit to Adelaide and I was also keen to greet those I've met at previous conferences around Australia, and meet those I haven't had opportunity to see.&lt;br /&gt;&lt;br /&gt;The day ended up being quite interesting and fulfilling. SA President Vito Rinaldi mentioned they ended up with around 80 delegates, which he said wasn't bad for this particular event.&lt;br /&gt;&lt;br /&gt;As usual, I wasn't overly enthused for the keynote address by &lt;a href="http://www.linkedin.com/in/rolandslee"&gt;Roland Slee&lt;/a&gt;, but he had some interesting things to add regarding Oracle in Australia. One interesting point I happened to note down was the notion "economies of scale." It's been a major driving factor of our civilisation for well over one hundred years, but it still doesn't really apply to software development. He took this notion to spruik the power of Oracle Exadata - I was suitably impressed.&lt;br /&gt;&lt;br /&gt;I made another great note while in that seminar - an idea for a basic Apex application - don't they come at the strangest times?!&lt;br /&gt;&lt;br /&gt;I then had to bust out my first &lt;a href="http://triangle-circle-square.blogspot.com/2009/07/presentations.html"&gt;presentation&lt;/a&gt; - on Apex Performance. I got some good feedback which was a good offset to the guy I saw at the back of the room nodding off straight after the coffee break. One particular fellow said it was great jot down so many little thoughts on how to generally improve their applications which were basically borne from a self-taught environment.&lt;br /&gt;&lt;br /&gt;Next on the agenda was a case study on Agile development by &lt;a href="http://www.linkedin.com/pub/kevin-wohling/1/12b/236"&gt;Kevin Wohling&lt;/a&gt;. I learned a lot from this one and I thought his analogy of building a house was apt -would you define where to hammer every nail up front? Simply don't over engineer your solutions.&lt;br /&gt;Some good practices were mentioned that I think are regardless of the life-cycle approach - constant communication with users &amp;amp; shield your development team from distractions.&lt;br /&gt;&lt;br /&gt;After lunch Guy Harrison's talk on &lt;a href="http://www.quest.com/newsroom/Guy-Harrison.aspx"&gt;High Performance PL/SQL&lt;/a&gt; was his usual high quality. I think info-graphics are great, and his food pyramid for PL/SQL was on the money. From data type usage up the top, down through code structure, data handling and the all important SQL. Again, I noted down another idea - a feature request for the PL/SQL development team regarding bulk binding.&lt;br /&gt;&lt;br /&gt;I almost went to Avi Miller's &lt;a href="http://www.linkedin.com/in/avimiller"&gt;Virtualization and Cloud Computing&lt;/a&gt; seminar, but I thought it may have been a little beyond what I was after so I attended Connor's &lt;a href="http://www.oracledba.co.uk/"&gt;11g Features for Developers&lt;/a&gt; instead. I've seen a variation before, but I'm glad I went as I picked up a few features that I had to note down for looking into further later. I sure wasn't going to soak it all up at the glorious pace that he runs! The most impressive I thought was the ability to manage Editions using TNS services - very cool.&lt;br /&gt;I also noted what he mentioned regarding bulk operations so I didn't repeat the information in my second session.&lt;br /&gt;&lt;br /&gt;So my second session was on Bulk Binds, a revision of a presentation I did a few years ago in a WA branch meeting. It was good to leverage what Guy &amp;amp; Connor already glossed over in their presentations and allow the delegates to see a deeper view of what can be done and what should be considered.&lt;br /&gt;The pace was fast, and I'm really thinking the 45 minute timeslots we have here in Australia simply isn't sufficient, particularly when we invite international guests to deliver their 1 hour sessions.&lt;br /&gt;&lt;br /&gt;Speaking of international guests, I attended Craig Shallahamer's second session on &lt;a href="http://shallahamer-orapub.blogspot.com/"&gt;Evaluating Alternative Performance Solutions&lt;/a&gt;. I thought it may have a little outside my league - I was right. I've been happy with the level of mathematics I've seen since high school, and that was a bit much for an afternoon! However he made up for it with his zeal. It was entertaining, and it was a pleasure to catch up with him for drinks afterwards, and ultimately share interesting dinner conversations with him &amp;amp; Tony Scholefield at the Richmond.&lt;br /&gt;&lt;br /&gt;Craig has already submitted abstracts for Australia's next event - Insync11 at the Sydney Convention Centre, August 2011. I will be submitting some of my own, so I hope to meet him again in a few months.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XB0fFQkSFxA/TZU465o3X_I/AAAAAAAAAOo/NmPiZ1sZ7Qk/s1600/insync11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="50" src="http://2.bp.blogspot.com/-XB0fFQkSFxA/TZU465o3X_I/AAAAAAAAAOo/NmPiZ1sZ7Qk/s400/insync11.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Back home in Perth, Sage Computing have some news of our own. We were recently mentioned in an &lt;a href="http://www.oracle.com/us/corporate/customers/dept-of-treasury-5-weblogic-ss-349829.pdf"&gt;Oracle Customer Snapshot&lt;/a&gt; for our work at Department of Treasury and Finance. I can't take any credit for this particular project, but well done Penny, Ray, Eddie &amp;amp; Chris. They all bring aboard specific talents and it sounds like a engaging project - converting a large Oracle Forms application to JDeveloper.&lt;br /&gt;&lt;br /&gt;Speaking of, this will be my final segue in this post - &lt;a href="http://sagecomputing.com.au/contact_sage_computing_services.html"&gt;Sage&lt;/a&gt; have set dates for our next JDeveloper Workshop here in Perth - 13-17th of June 2011 - run by Ace Director Chris Muir.&lt;br /&gt;We will also be scheduling an Apex4.0 course in May or June, which will be an advanced look at Apex4 with special attention to new features - more to come soon.&lt;br /&gt;&lt;br /&gt;Phew - I'm glad I'm off to Bali tonight ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-447371182834866619?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/447371182834866619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=447371182834866619' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/447371182834866619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/447371182834866619'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/04/of-course-australian-oracle-community.html' title='Of course the Australian Oracle Community is alive'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-XB0fFQkSFxA/TZU465o3X_I/AAAAAAAAAOo/NmPiZ1sZ7Qk/s72-c/insync11.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-4849253587181750483</id><published>2011-03-30T07:33:00.000+08:00</published><updated>2011-03-30T07:33:31.505+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Developer'/><category scheme='http://www.blogger.com/atom/ns#' term='New Features'/><title type='text'>SQL Developer 3.0 is out there</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-pXt4gIndb6w/TZJsBqUh4LI/AAAAAAAAAOk/5eIOPt6wf-0/s1600/sqldev.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-pXt4gIndb6w/TZJsBqUh4LI/AAAAAAAAAOk/5eIOPt6wf-0/s1600/sqldev.png" /&gt;&lt;/a&gt;&lt;/div&gt;One of the first Oracle related news I noticed this morning was SQL Developer 3.0 has just been &lt;a href="http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html"&gt;released&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Make sure you check out the &lt;a href="http://www.oracle.com/technetwork/developer-tools/sql-developer/rel3-ea-relnotes-189445.html"&gt;release notes&lt;/a&gt;, while I've downloaded it I think I won't have time to take it out of the box for a little while - so I'll have to be content with the manual :-(&lt;br /&gt;&lt;br /&gt;Congratulations to the development team for reaching this significant milestone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-4849253587181750483?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/4849253587181750483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=4849253587181750483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4849253587181750483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/4849253587181750483'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/sql-developer-30-is-out-there.html' title='SQL Developer 3.0 is out there'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-pXt4gIndb6w/TZJsBqUh4LI/AAAAAAAAAOk/5eIOPt6wf-0/s72-c/sqldev.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-5940562241846734009</id><published>2011-03-22T18:08:00.000+08:00</published><updated>2011-03-22T18:08:58.878+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Off topic: 'A' Week</title><content type='html'>Some days I decide that since this is my blog, I'll say whatever I like, even if it's not about work! This is my major outlet to the world that is.&lt;br /&gt;Heck, &lt;a href="http://www.oracle-base.com/blog/category/random/"&gt;Tim&lt;/a&gt; does it all the time ;-)&lt;br /&gt;&lt;br /&gt;This week, besides being my birthday week, is &lt;i&gt;'A' Week&lt;/i&gt;. It basically means tell others you’re an atheist and proud of it week. Start some discussions with people about your atheism.&lt;br /&gt;&lt;blockquote style="background-color: #eeeeee; border-bottom: 1px solid #5A75B9; border-top: 1px solid #5A75B9; padding: 5px;"&gt;A Week is not about being disrespectful to religion or people who have religious views, it’s about quietly showing that there are more people than may be realised who are ‘Good without God’ and who don’t need religion to influence their lives. &lt;a href="http://www.aweek.biz/" target="_blank"&gt;Link&lt;/a&gt; &lt;/blockquote&gt;&lt;a href="https://lh4.googleusercontent.com/-Czd1Giv6WFA/TYh0HsrloPI/AAAAAAAAAOg/JmU4a-Jsb0g/s1600/5197445636_ee1ba96c09_b.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="265" src="https://lh4.googleusercontent.com/-Czd1Giv6WFA/TYh0HsrloPI/AAAAAAAAAOg/JmU4a-Jsb0g/s400/5197445636_ee1ba96c09_b.jpg" width="400" /&gt;&lt;/a&gt;Recently I saw &lt;a href="https://twitter.com/#!/chriscmuir/status/43630221282390016"&gt;Chris&lt;/a&gt; asking the question, I was very curious to see who responded. Around the world responses differ when it comes to talk about people's beliefs. This week is about helping &lt;a href="http://outcampaign.org/"&gt;break down&lt;/a&gt; those barriers as some people even feel bullied for a variety of unfortunate reasons. Of course, at times around the world it goes both ways, so the week is also about understanding that it's not opposing sides of the fence, but a way of life unto it's own.&lt;br /&gt;&lt;br /&gt;Many,&amp;nbsp;myself&amp;nbsp;included, would like a world of religious freedom - people can believe anything they want, as long is it does not harm or annoy others. And this goes for many more things beyond religion.&lt;br /&gt;&lt;br /&gt;This has been said by others in a much more eloquent manner, but I enjoy the wonders of the universe without looking for something imaginary.&lt;br /&gt;&lt;br /&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-5940562241846734009?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/5940562241846734009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=5940562241846734009' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5940562241846734009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5940562241846734009'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/off-topic-week.html' title='Off topic: &apos;A&apos; Week'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-Czd1Giv6WFA/TYh0HsrloPI/AAAAAAAAAOg/JmU4a-Jsb0g/s72-c/5197445636_ee1ba96c09_b.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8071893490853519167</id><published>2011-03-15T08:49:00.007+08:00</published><updated>2011-03-15T08:49:00.267+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dates'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Date format tolerance</title><content type='html'>This is just a little ditty to remind me which date format mask is more tolerant.&lt;br /&gt;&lt;pre class="brush:sql"&gt;SQL&amp;gt; select to_date('21-03-2011','dd-mon-yyyy') from dual;&lt;br /&gt;select to_date('21-03-2011','dd-mon-yyyy') from dual&lt;br /&gt;               *&lt;br /&gt;ERROR at line 1:&lt;br /&gt;ORA-01843: not a valid month&lt;br /&gt;&lt;br /&gt;SQL&amp;gt; select to_date('21-mar-2011','dd-mm-yyyy') birthday from dual;&lt;br /&gt;&lt;br /&gt;BIRTHDAY&lt;br /&gt;-------------------&lt;br /&gt;21-03-2011 00:00:00&lt;br /&gt;&lt;br /&gt;1 row selected.&lt;/pre&gt;Note that it accepts 'MAR' when using the MM format, but not numerics when using the MON format.&lt;br /&gt;&lt;br /&gt;You may like to consider this when defining an application wide default format.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-2m19zVfMTxo/TXif-TUApgI/AAAAAAAAAOc/fDU55g0TVbI/s1600/date_format.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-2m19zVfMTxo/TXif-TUApgI/AAAAAAAAAOc/fDU55g0TVbI/s1600/date_format.png" /&gt;&lt;/a&gt;&lt;/div&gt;Scott&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8071893490853519167?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8071893490853519167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8071893490853519167' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8071893490853519167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8071893490853519167'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/date-format-tolerance.html' title='Date format tolerance'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh6.googleusercontent.com/-2m19zVfMTxo/TXif-TUApgI/AAAAAAAAAOc/fDU55g0TVbI/s72-c/date_format.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7637422794285279272</id><published>2011-03-08T16:20:00.002+08:00</published><updated>2011-03-09T10:15:11.776+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='SOE'/><title type='text'>Apex in the Amazon Cloud</title><content type='html'>&lt;br /&gt;Hello Oracle Community,&lt;br /&gt;&lt;br /&gt;I'm currently researching Oracle Apex on an Amazon EC2 instance, and at the moment&amp;nbsp;&lt;i&gt;good&lt;/i&gt; content out there seems a little thin - or quickly dated.&lt;br /&gt;&lt;br /&gt;Either that or my google kung fu has weakened :-)&lt;br /&gt;&lt;br /&gt;The basics I have covered -&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Justin Lokitz has a &lt;a href="http://www.oracle.com/technetwork/articles/lokitz-cloud-100388.html"&gt;comprehensive article&lt;/a&gt; on setting up Oracle on the cloud;&lt;/li&gt;&lt;li&gt;There is also a good Oracle &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/apex-and-amazon-cloud-169066.pdf"&gt;white paper&lt;/a&gt; explaining the setup process;&lt;/li&gt;&lt;li&gt;Bill Hodak from Oracle has defined a perfect &lt;a href="http://aws.amazon.com/amis/Oracle/1720"&gt;machine image&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;This is probably the &lt;a href="http://www.bpurcell.org/blog/index.cfm?entry=1125&amp;amp;mode=entry"&gt;best dialogue&lt;/a&gt; I've seen on sending e-mails. I have seen &lt;a href="http://jiri.wordpress.com/2010/03/24/send-emails-using-utl_mail-and-google-gmail-smtp-server/"&gt;others&lt;/a&gt;, but exact solution is &amp;nbsp;unclear and possibly out-of-date;&lt;/li&gt;&lt;li&gt;And Kris has mentioned &lt;a href="http://krisrice.blogspot.com/2007/02/better-apex-urls.html"&gt;SEO considerations&lt;/a&gt; in regard to Apex generated URLs. There are other decent discussions, but one pertains to &lt;a href="http://ora-00001.blogspot.com/2009/07/creating-rest-web-service-with-plsql.html"&gt;EPG setups&lt;/a&gt;, and I'm sure things have come along a little more &lt;a href="http://jes.blogs.shellprompt.net/2008/08/29/application-express-312-upgrade-session-zero-and-redirects/"&gt;since 3.1.2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;My particular interests are -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Sending e-mails from EC2 using UTL_MAIL, preferably with a designated domain (not Amazon)&lt;/li&gt;&lt;li&gt;Prettying up the Apex URLs, and/or other issues to consider with page ranking&lt;/li&gt;&lt;/ol&gt;No doubt once I start getting my hands dirty, some of theses answers may become more apparent, or I'll have a better idea of how/where to look - but for now if anyone has any notes, tips, experiences, URL suggestions, answer to the life, universe and everything - I would appreciate it!&lt;br /&gt;&lt;br /&gt;ScottWe&lt;br /&gt;&lt;br /&gt;ps - &lt;a href="http://apod.nasa.gov/apod/ap090121.html"&gt;if&lt;/a&gt; &lt;a href="http://apod.nasa.gov/apod/ap090711.html"&gt;you&lt;/a&gt; &lt;a href="http://apod.nasa.gov/apod/ap090808.html"&gt;just&lt;/a&gt; &lt;a href="http://apod.nasa.gov/apod/ap090824.html"&gt;wanted&lt;/a&gt;&amp;nbsp;&lt;a href="http://apod.nasa.gov/apod/ap100105.html"&gt;pictures&lt;/a&gt; &lt;a href="http://apod.nasa.gov/apod/ap100408.html"&gt;of&lt;/a&gt;&amp;nbsp;&lt;a href="http://apod.nasa.gov/apod/ap100915.html"&gt;pretty&lt;/a&gt; &lt;a href="http://apod.nasa.gov/apod/ap101130.html"&gt;clouds&lt;/a&gt;, &lt;a href="http://apod.nasa.gov/apod/ap110208.html"&gt;try&lt;/a&gt; &lt;a href="http://apod.nasa.gov/apod/ap110220.html"&gt;these&lt;/a&gt;&amp;nbsp;- &lt;a href="http://apod.nasa.gov/apod/ap071125.html"&gt;simply&lt;/a&gt;&amp;nbsp;&lt;a href="http://apod.nasa.gov/apod/ap090203.html"&gt;stunning&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;Update: I've also created an &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=2187944"&gt;OTN post&lt;/a&gt; on this, stay tuned&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7637422794285279272?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7637422794285279272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7637422794285279272' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7637422794285279272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7637422794285279272'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/apex-in-amazon-cloud.html' title='Apex in the Amazon Cloud'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7053483655448300297</id><published>2011-03-04T15:56:00.001+08:00</published><updated>2011-03-05T03:18:08.760+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Connor McDonald'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Adelaide One-Day AUSOUG Conference 2011</title><content type='html'>The South Australian branch of AUSOUG are holding a one-day conference on Monday March 28th at the Mercure Grosvenor Hotel in Adelaide.&lt;br /&gt;&lt;br /&gt;I will be presenting there, along with fellow Perth-ite &lt;a href="http://oracledba.co.uk/"&gt;Connor McDonald&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I will be looking forward to seeing some people I haven't seen for quite some time, and meeting some others I see on the schedule I have not yet had the opportunity to meet, such as &lt;a href="http://shallahamer-orapub.blogspot.com/"&gt;Craig Shallahamer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Further details can be found at &lt;a href="http://www.ausoug.org.au/portal/page/portal/LT_AUSOUG_MAIN/MAIN?page_code=SA_Branch"&gt;AUSOUG&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;ScottWe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7053483655448300297?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7053483655448300297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7053483655448300297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7053483655448300297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7053483655448300297'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/adelaide-one-day-ausoug-conference-2011.html' title='Adelaide One-Day AUSOUG Conference 2011'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-9087158353963942983</id><published>2011-03-03T11:08:00.000+08:00</published><updated>2011-03-03T11:08:33.781+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Apex Listener'/><category scheme='http://www.blogger.com/atom/ns#' term='Glassfish'/><title type='text'>Apex Listener Issues</title><content type='html'>The configuration for my Apex 4.0 environment on my laptop is basically as you see on the front page for the &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex-listener/overview/index.html"&gt;Apex Listener&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-k8SVyhxA390/TW8BZSiS35I/AAAAAAAAAOU/dbc8SVsjJWs/s1600/apex_listener.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh3.googleusercontent.com/-k8SVyhxA390/TW8BZSiS35I/AAAAAAAAAOU/dbc8SVsjJWs/s1600/apex_listener.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I have Google Chrome on the left; my J2EE Container is &lt;a href="http://www.oracle.com/goto/glassfish"&gt;Glassfish&lt;/a&gt;; and I have Oracle 11gR2 on the right, with Apex4.0 installed.&lt;br /&gt;&lt;br /&gt;Sometimes I hate to admit it, but I don't do "networking". My&amp;nbsp;Achilles&amp;nbsp;heal is anything starting with "serv".&lt;br /&gt;&lt;br /&gt;So when I rebooted my laptop recently and my browser said I couldn't connect to Apex, I thought - "I wonder what part of that horrible black box in the middle has broken?"&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-VcU68Bd6cNg/TW8DrAiecRI/AAAAAAAAAOY/cGw337U-2E4/s1600/apex_dead.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh6.googleusercontent.com/-VcU68Bd6cNg/TW8DrAiecRI/AAAAAAAAAOY/cGw337U-2E4/s1600/apex_dead.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;System Unavailable? I don't think so, Mr Laptop.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;It wasn't really that bad. I pretended it was a development issue and started eliminating factors.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;My database was up&lt;/li&gt;&lt;li&gt;I was about to get into the GlassFish Server Administration console ok (http://localhost:4848/), there didn't seem to be anything out of place.&lt;/li&gt;&lt;li&gt;I restarted the server, the TNS listener, the Apex Listener&lt;/li&gt;&lt;li&gt;I read through some documentation to look for troubleshooting ideas&lt;/li&gt;&lt;li&gt;my&amp;nbsp;apex-config.xml file was present and ok&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Then I found myself looking at the username/password combination for APEX_PUBLIC_USER and thought "I wonder if that password has expired..."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sure enough, all I needed to do was reset the password.&lt;/div&gt;&lt;div&gt;&lt;code&gt;ALTER USER apex_public_user IDENTIFIED BY my_awesome_password;&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Problem solved.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;I mention this because it could have quite easily bugged me for an hour, and I like to save some people pain. I know there are some out there learning Apex and their deployment is balancing on guesswork from (barely) following Oracle's installation instructions.&lt;br /&gt;&lt;br /&gt;In other news, I find myself reading through Oracle's&amp;nbsp;Apex Listener front page, and I don't notice the big red&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 11px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;h2 style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; font: normal normal bold 14px/16px Arial, sans-serif; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 10px; padding-left: 0px; padding-right: 0px; padding-top: 10px; text-align: left;"&gt;&lt;span class="style1" style="color: red; font-weight: bold; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;APEX Listener Release 1.1 is now available&lt;/span&gt;&lt;/h2&gt;&lt;br /&gt;So Apex developers, the Apex Listener Release 1.1 is now available ;-)&lt;br /&gt;&lt;br /&gt;ScottWe&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-9087158353963942983?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/9087158353963942983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=9087158353963942983' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/9087158353963942983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/9087158353963942983'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/apex-listener-issues.html' title='Apex Listener Issues'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-k8SVyhxA390/TW8BZSiS35I/AAAAAAAAAOU/dbc8SVsjJWs/s72-c/apex_listener.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2868493806120938994</id><published>2011-03-01T22:51:00.000+08:00</published><updated>2011-03-01T22:51:18.594+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Steven Feuerstein'/><category scheme='http://www.blogger.com/atom/ns#' term='NVL'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='COALESCE'/><title type='text'>I quizzed an Oracle community</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-a1E8eB2zCoU/TWz4dneBW9I/AAAAAAAAAOQ/kHwS1_lzLIs/s1600/plsqlsmall3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://lh4.googleusercontent.com/-a1E8eB2zCoU/TWz4dneBW9I/AAAAAAAAAOQ/kHwS1_lzLIs/s1600/plsqlsmall3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Once was a time when I read a few questions every morning at &lt;a href="http://asktom.oracle.com/"&gt;AskTom&lt;/a&gt;. It only took a few minutes but the amount of hints, tips, tricks and general best practice guidelines I learned became so valuable as my experience grew.&lt;br /&gt;&lt;br /&gt;I still find it a valuable resource, but these days as a seasoned developer, I found myself a solution with a different style of learning - keeps my mind active and I learn the odd thing occasionally, other times it helps affirm my current understanding of Oracle behaviour.&lt;br /&gt;&lt;br /&gt;Steven Feuerstein and his friends have created a (business) daily &lt;a href="http://www.plsqlchallenge.com/"&gt;PL/SQL Challenge&lt;/a&gt;. You may have heard about it and wondered if you should give it a go - for most probably a variety of reasons.&lt;br /&gt;Well, you don't even have to compete for the &lt;i&gt;frequent&lt;/i&gt; prizes - you can have a private profile; or you may see people providing a link to their &lt;a href="http://www.plsqlchallenge.com/pls/apex/f?p=10000:PROFILE:0::::P1051_USER_ID:911:"&gt;public profiles&lt;/a&gt; on their blog; or as a resume item.&lt;br /&gt;&lt;br /&gt;The main thing is the occasional "test your knowledge" - typically a little snippet of code to have you thinking for a couple of minutes.&lt;br /&gt;&lt;br /&gt;Steven has provided players an opportunity to submit their own quiz questions, so if you're curious of the sort of questions that get asked, here's mine from 28th February 2011 - it's a lesson on &lt;a href="http://triangle-circle-square.blogspot.com/2010/02/short-circuit-evaluations-moving-away.html"&gt;Short Circuit Evaluation&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;pre class="brush:plain; gutter:false;"&gt;I create and populate a table as follows:&lt;br /&gt;&lt;br /&gt;CREATE TABLE plch_parts&lt;br /&gt;(&lt;br /&gt;   partnum    INTEGER&lt;br /&gt; , partname   VARCHAR2 (100)&lt;br /&gt;)&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;   INSERT INTO plch_parts&lt;br /&gt;        VALUES (1, 'Mouse');&lt;br /&gt;&lt;br /&gt;   INSERT INTO plch_parts&lt;br /&gt;        VALUES (100, 'Keyboard');&lt;br /&gt;   COMMIT;&lt;br /&gt;END;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;Then I define the following function:&lt;br /&gt;&lt;br /&gt;CREATE OR REPLACE FUNCTION part_exists (pn_partnum  IN  plch_parts.partnum%TYPE)&lt;br /&gt;RETURN BOOLEAN IS&lt;br /&gt;  ln_partname  plch_parts.partname%TYPE;&lt;br /&gt;BEGIN&lt;br /&gt;  SELECT partname&lt;br /&gt;  INTO   ln_partname&lt;br /&gt;  FROM   plch_parts&lt;br /&gt;  WHERE  partnum = pn_partnum;&lt;br /&gt;&lt;br /&gt;  DBMS_OUTPUT.PUT_LINE(ln_partname);&lt;br /&gt;&lt;br /&gt;  RETURN TRUE;&lt;br /&gt;EXCEPTION WHEN NO_DATA_FOUND THEN&lt;br /&gt;  RETURN FALSE;&lt;br /&gt;END part_exists;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;Which of the choices, when used in place of the /*IF CONDITION*/ comment in the following block,&lt;br /&gt;will result the subsequent output being displayed on the screen after the block is executed?&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  /*IF CONDITION*/&lt;br /&gt;    DBMS_OUTPUT.put_line('TRUE');&lt;br /&gt;  END IF;&lt;br /&gt;END anon;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;Mouse&lt;br /&gt;Keyboard&lt;br /&gt;TRUE&lt;/pre&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;table td {"border: 1px #000000 solid; empty-cells: show; padding: 4px 10px; border-bottom: 1px solid #cccccc; border-top: 1px #aaa solid; border-left: 1px #aaa solid; border-right: 1px #aaa solid; border-bottom: 1px #aaa solid;"}&lt;/style&gt;&lt;br /&gt;&lt;table cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;A&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;IF part_exists(1)&lt;br /&gt;OR part_exists(100) THEN&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;B&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;IF NVL(part_exists(1)&lt;br /&gt;      ,part_exists(100)) THEN&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;C&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;IF COALESCE(part_exists(1)&lt;br /&gt;           ,part_exists(100)) THEN&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;D&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;IF part_exists(1)&lt;br /&gt;AND part_exists(100) THEN&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;E&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;pre&gt;IF CASE WHEN part_exists(1)&lt;br /&gt;OR part_exists(100) THEN TRUE END THEN&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;The rules are well written, the idea is well presented (unlike my hand written html table representation here), and the user feedback is fantastic. Steven also has an associated &lt;a href="http://plsql-challenge.blogspot.com/"&gt;blog&lt;/a&gt; for constructive discussions on the occasional contentious question, or question of general interest or quirkiness.&lt;br /&gt;&lt;br /&gt;My question was well received by some friends, and Steven now provides users with simple, key survey results from each question - and I was happy with mine.&lt;br /&gt;&lt;br /&gt;The answer is &lt;b&gt;B&lt;/b&gt; &amp;amp; &lt;b&gt;D&lt;/b&gt; - "NVL" &amp;amp; "AND"&lt;br /&gt;I provided the following verification code to assist explanation of the answer:&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;BEGIN&lt;br /&gt;  -- As soon as the first expression returns true, PL/SQL no longer needs to evaluate the second. This is perfect for situations where you can put more efficient calculations first.&lt;br /&gt;  IF part_exists(1)&lt;br /&gt;  OR part_exists(100) THEN&lt;br /&gt;    DBMS_OUTPUT.put_line('TRUE');&lt;br /&gt;  END IF;&lt;br /&gt;END anon;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  -- Ideally this would behave as per COALESCE, but unfortunately NVL does not support short circuit evaluation.&lt;br /&gt;  IF NVL(part_exists(1)&lt;br /&gt;        ,part_exists(100)) THEN&lt;br /&gt;    DBMS_OUTPUT.put_line('TRUE');&lt;br /&gt;  END IF;&lt;br /&gt;END anon;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  -- COALESCE is ANSI-defined shorthand for similarly written CASE functions, thereby supporting short circuit evaluation. COALESCE is generally preferred to NVL.&lt;br /&gt;  IF COALESCE(part_exists(1)&lt;br /&gt;             ,part_exists(100)) THEN&lt;br /&gt;    DBMS_OUTPUT.put_line('TRUE');&lt;br /&gt;  END IF;&lt;br /&gt;END anon;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  -- Since this uses the AND operator, both expressions need to be evaluated to determine if the entire boolean equation is true. Oracle would use short-circuit evaluation if the situation permits, for instance, if the first expression returned false the second would not be evaluated.&lt;br /&gt;  IF part_exists(1)&lt;br /&gt;  AND part_exists(100) THEN&lt;br /&gt;    DBMS_OUTPUT.put_line('TRUE');&lt;br /&gt;  END IF;&lt;br /&gt;END anon;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;  -- The Oracle database will use short circuit evaluation for CASE expressions.&lt;br /&gt;  IF CASE WHEN part_exists(1)&lt;br /&gt;  OR part_exists(100) THEN TRUE END THEN&lt;br /&gt;    DBMS_OUTPUT.put_line('TRUE');&lt;br /&gt;  END IF;&lt;br /&gt;END anon;&lt;br /&gt;/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;There are currently over 1000 regular players, but only about two dozen regulars are registered as Australian - I've seen more than that at our &lt;a href="http://www.ausoug.org.au/"&gt;AUSOUG&lt;/a&gt; branch meetings! Come on Aussies - "represent!"&lt;br /&gt;&lt;br /&gt;It's a great learning &amp;amp; affirming tool - I'll be on the lookout for inspiration for submitting more questions. :-)&lt;br /&gt;&lt;br /&gt;ScottWe&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ps - no, you can't cut &amp;amp; paste the code while a question is active&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2868493806120938994?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2868493806120938994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2868493806120938994' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2868493806120938994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2868493806120938994'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/i-quizzed-oracle-community.html' title='I quizzed an Oracle community'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-a1E8eB2zCoU/TWz4dneBW9I/AAAAAAAAAOQ/kHwS1_lzLIs/s72-c/plsqlsmall3.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8903561549570744992</id><published>2011-03-01T21:30:00.000+08:00</published><updated>2011-03-01T21:30:19.521+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><category scheme='http://www.blogger.com/atom/ns#' term='JDeveloper'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Advert: SAGE Computing Services Training - 2011</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;&lt;/div&gt;This April&amp;nbsp;&lt;span class="Apple-style-span" style="color: #38761d; font-family: Georgia, serif; font-size: 13px; line-height: 20px;"&gt;SAGE Computing Services&lt;/span&gt;&amp;nbsp;are holding a training event that may interest beginners, business users, testers &amp;amp; developers alike.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;April&amp;nbsp;18th-21st 2011 -&amp;nbsp;Oracle SQL 10/11g Workshop - Perth&lt;/b&gt;&lt;br /&gt;The course is designed to provide the student with a basis for developing systems using the Oracle database. The SQL language is covered from simple to complex constructs. Guidelines are provided on writing SQL for optimum performance and ease of maintenance.&lt;br /&gt;&lt;br /&gt;Stay tuned as we are also looking to schedule a &lt;a href="http://www.sagecomputing.com.au/training/oracle_jdeveloper_training_5day.html"&gt;JDeveloper&lt;/a&gt; Workshop in the next few months, and are happy to hear about any requests for Application Express 3.x or 4.0 training.&lt;br /&gt;&lt;br /&gt;We also arrange on-site training on-demand around Australia.&lt;br /&gt;&lt;br /&gt;Hit up our website for further &lt;a href="http://www.sagecomputing.com.au/oracle_training_australia.html"&gt;training&lt;/a&gt; enquiries and follow through to the &lt;a href="http://www.sagecomputing.com.au/contact_sage_computing_services.html"&gt;contact&lt;/a&gt; us details page. We look forward to hearing from you soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8903561549570744992?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8903561549570744992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8903561549570744992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8903561549570744992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8903561549570744992'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/03/advert-sage-computing-services-training.html' title='Advert: SAGE Computing Services Training - 2011'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-314610372630814624</id><published>2011-02-26T12:12:00.000+08:00</published><updated>2011-11-07T20:10:36.687+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friday Fun'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Android Me</title><content type='html'>I have an Android phone, quite happy with the software after moving away from an iPhone, but I think I will forever want a faster chip on the hardware.&lt;br /&gt;&lt;br /&gt;I like browsing through the market, looking around at what people around the world have created - a bit like the enjoyment some people get out of shopping, but in the comfort of my own lounge chair.&lt;br /&gt;&lt;br /&gt;I came across &lt;a href="http://androidify.com/"&gt;Androidify&lt;/a&gt;, and in about two minutes came up with this apt creation:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-RY2efYggtK8/TWdyGlNb0XI/AAAAAAAAAOM/mNNBO-gG5Sw/s1600/android.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-RY2efYggtK8/TWdyGlNb0XI/AAAAAAAAAOM/mNNBO-gG5Sw/s320/android.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Now, for those who've met me in person, does it fit the bill?&amp;nbsp;:-)&lt;br /&gt;&lt;br /&gt;ScottWe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-314610372630814624?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/314610372630814624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=314610372630814624' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/314610372630814624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/314610372630814624'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/02/android-me.html' title='Android Me'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-RY2efYggtK8/TWdyGlNb0XI/AAAAAAAAAOM/mNNBO-gG5Sw/s72-c/android.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-1031437828514184087</id><published>2011-02-25T15:47:00.000+08:00</published><updated>2011-02-25T15:47:16.557+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Review'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Review: Oracle Apex 4.0 Cookbook</title><content type='html'>&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-PVolCS9a1O8/TWdUtaFQkCI/AAAAAAAAAOI/DUuZXCwHEpk/s1600/Oracle+APEX+4.0+Cookbook+%25281%2529.JPG" imageanchor="1" style="clear: left; display: inline !important; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-PVolCS9a1O8/TWdUtaFQkCI/AAAAAAAAAOI/DUuZXCwHEpk/s320/Oracle+APEX+4.0+Cookbook+%25281%2529.JPG" width="258" /&gt;&lt;/a&gt;&lt;br /&gt;I think Apex would be a hard topic to write book on, but I think the analogy &lt;a href="http://link.packtpub.com/bDkvBC"&gt;Oracle APEX 4.0 Cookbook&lt;/a&gt; authors Marcel van der Plas and Michel van Zoest utilise a good, ahem... recipe. And it’s naked chef cooking, not Iron Chef, MasterChef nor is it quite "My First Cookbook."&lt;br /&gt;&lt;br /&gt;I think the by-line on the cover is most apt – Quick answers to common problems. The other is "Over 80 great recipes to develop and deploy fast, secure, and modern web applications with Oracle Application Express 4.0"&lt;br /&gt;&lt;br /&gt;Overall, I think the book would be great for numerous audiences and I think the "who this book is for" section is spot on. In particular, newer developers to the Apex environment would benefit from the easy to read, piecemeal approach this book has to offer. When I first started reading, it came to mind what a great reference book this would be for a university. Don’t get me wrong, advanced developers might also learn a thing or two. Those conversant with Apex 3.2 would also find this useful, as it covers many Apex 4.0 topics.&lt;br /&gt;&lt;br /&gt;Straight onto the pan was a bio of &lt;i&gt;and &lt;/i&gt;message from the author. I would imagine some people don’t put too much thought into these few pages, but I think it helps put things in context. It also recognises theses authors who put a &lt;i&gt;lot &lt;/i&gt;of work into producing the content for these books. Good on the reviewers, too – Dimitri Gielis and Surachart Opun.&lt;br /&gt;&lt;br /&gt;Back to the unique nature of the book - a collection of recipes. I think it’s a unique idea and works well in the Apex environment where you might need a lot of screenshots to illustrate the technique and goal for a given situation. Alternatively, it could be a boring book with a lot of prose and bolded words that distract you from what you’re reading – I think that’s what put me off Java long ago when I had a bad uni textbook.&lt;br /&gt;&lt;br /&gt;It takes a basic idea or and describes the concept in a paragraph or two. &lt;i&gt;What are you cooking?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Then they take you though the "Getting ready" process. This could be something small, like having certain settings set or having a script on hand. &lt;i&gt;Find your ingredients!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The "How to do it" section is obviously the process to get the job done. Screenshots are used conservatively, either showing the starting point or end result, or some key illustration. Step-by-step instructions are also utilised, for instance when leading you through a wizard, which really is what Apex is all about when you start off. The problem with this is if you miss a step, start in the wrong spot, can’t find the button they’re referring to, or version patches since the book release has changed things in such a way that may confuse the reader. I don’t think any of this can really be avoided, hence the appeal to the recipe style book.&lt;i&gt; Method to cook.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;There is a "How it works" section that follows the recipe. You don’t get this in your usual food cookbooks and I think it’s a great tool to convey to the user another way of thinking about what they’ve just done. Do you ever listen to somebody explain how to do something and think "why" or "how" ? I know I do, and that’s probably why I wanted just a little bit more out of this section of the book. &amp;nbsp;My advice would be to take what you’ve learned, then go out and look for Oracle-by-examples or detailed blog entries describing the relevant task. &lt;i&gt;Why you can't burn dihydrogen monoxide.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;That being said, some recipes include a "There’s more" and a "See also" section. This really applies to all recipes as they don’t go into ridiculous amounts of detail, and they describe the great potential Oracle Apex has in crafting applications – this isn’t War &amp;amp; Peace.&lt;br /&gt;&lt;br /&gt;Sometimes the format shows just how much of a winner it is. I find the topic of multi-language applications a little dry, but the recipe format really works well to break things down and make dry topics more readable. There were some good highlights too - the APIs chapter had the best explanation for how checkboxes work I've seen for a while. I also found the chapter on extending Apex wide ranging. It touched on topics that people will want to explore, and uses examples that people may want. Even calling Apex from Oracle Forms is briefly covered.&lt;br /&gt;&lt;br /&gt;While it's not the final solution for most things, our family considers recipe books a starting point for ideas. I could go step-by-step and create something that looks nothing like the picture (my gardening brown thumb carries through to the kitchen), but the Apex 4.0 Cookbook doesn't convey those delusions. It tells it like it is, and it's up to the reader to take these ideas further and create something masterful.&lt;br /&gt;&lt;br /&gt;Well done to Marcel and Michel, and to the team at Packt Publishing.&lt;br /&gt;&lt;br /&gt;You can find another review by Christian Rokitta &lt;a href="http://rokitta.blogspot.com/2011/01/book-review-oracle-apex-40-cookbook.html"&gt;here&lt;/a&gt;, and peruse through the book's contents &lt;a href="http://link.packtpub.com/bDkvBC"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Go start baking and serve out the Oracle community some delectable dishes!&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-1031437828514184087?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/1031437828514184087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=1031437828514184087' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1031437828514184087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1031437828514184087'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/02/review-oracle-apex-40-cookbook.html' title='Review: Oracle Apex 4.0 Cookbook'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-PVolCS9a1O8/TWdUtaFQkCI/AAAAAAAAAOI/DUuZXCwHEpk/s72-c/Oracle+APEX+4.0+Cookbook+%25281%2529.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-944914119098896402</id><published>2011-02-18T10:26:00.001+08:00</published><updated>2011-02-18T10:26:00.280+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Returning'/><title type='text'>PL/SQL quickie returning results</title><content type='html'>Oh how I love a (good) pun.&lt;br /&gt;&lt;br /&gt;In depth blog posts are great, but sometimes little quick examples are all we feel like consuming.&lt;br /&gt;&lt;br /&gt;Those out there new(ish) to PL/SQL, familiarise yourselves with the &lt;a href="http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/returninginto_clause.htm#sthref1777"&gt;RETURNING&lt;/a&gt; clause, it can provide a useful efficiency. See this example here which shows the potential - grab extra information while updating a table instead of requiring another SELECT. You can also use it in conjunction to &lt;a href="http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/tuning.htm#sthref1117"&gt;BULK COLLECT&lt;/a&gt;.&lt;br /&gt;&lt;pre class="brush:sql; highlight:[11];"&gt;&lt;br /&gt;CREATE TABLE sw_temp (a NUMBER ,b NUMBER);&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;  l_a  sw_temp.a%TYPE;&lt;br /&gt;  l_b  sw_temp.b%TYPE;&lt;br /&gt;BEGIN&lt;br /&gt;  INSERT INTO sw_temp VALUES (1, 1);&lt;br /&gt;&lt;br /&gt;  UPDATE sw_temp &lt;br /&gt;  SET a = 2&lt;br /&gt;  RETURNING a, b&lt;br /&gt;  INTO l_a, l_b;&lt;br /&gt;  &lt;br /&gt;  dbms_output.put_line('a:'||l_a);&lt;br /&gt;  dbms_output.put_line('b:'||l_b);&lt;br /&gt;END quickie;&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;a:2&lt;br /&gt;b:1&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;DROP TABLE sw_temp;&lt;/pre&gt;ScottWe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-944914119098896402?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/944914119098896402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=944914119098896402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/944914119098896402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/944914119098896402'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/02/plsql-quickie-returning-results.html' title='PL/SQL quickie returning results'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6813124076325562788</id><published>2011-02-14T07:05:00.000+08:00</published><updated>2011-02-14T07:05:38.340+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Off Topic: a historical birthday</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-jXYCoHGudSc/TVhi7BC18HI/AAAAAAAAAOE/v_3Fr4s9UYM/s1600/darwin_tree_lg.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-jXYCoHGudSc/TVhi7BC18HI/AAAAAAAAAOE/v_3Fr4s9UYM/s1600/darwin_tree_lg.jpg" /&gt;&lt;/a&gt;It's official, it was 2 days ago - well, in some places of the world it's still yesterday, but at least you don't get the same posts all on one day. I'm late because I was enjoying my weekend!&lt;br /&gt;&lt;br /&gt;12th February was the birthday of a historical scientific figure. If you can work out who authored the provided image (&lt;a href="http://www.amnh.org/exhibitions/darwin/idea/think.php"&gt;source&lt;/a&gt;), I think you deserve to click on this &lt;a href="http://www.thinkatheist.com/photo/charles-darwin-bitches"&gt;link&lt;/a&gt; for a little giggle - but only if you figure it out ;-)&lt;br /&gt;&lt;br /&gt;Here is a modern day &lt;a href="http://scienceblogs.com/pharyngula/upload/2009/02/animalsEvolution_lg.jpeg"&gt;version&lt;/a&gt; of the diagram.&lt;br /&gt;&lt;br /&gt;Happy days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6813124076325562788?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6813124076325562788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6813124076325562788' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6813124076325562788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6813124076325562788'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/02/off-topic-historical-birthday.html' title='Off Topic: a historical birthday'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-jXYCoHGudSc/TVhi7BC18HI/AAAAAAAAAOE/v_3Fr4s9UYM/s72-c/darwin_tree_lg.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-210926666942923772</id><published>2011-02-11T08:17:00.001+08:00</published><updated>2011-02-11T08:17:00.198+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Regular Expressions'/><category scheme='http://www.blogger.com/atom/ns#' term='Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Validating e-mail in PL/SQL</title><content type='html'>This seems like a frequent request across all languages. I google search can give you all sorts of options for validating a singular e-mail address.&lt;br /&gt;&lt;br /&gt;For instance, here's one option using a regular expression:&lt;br /&gt;&lt;pre class="brush:sql"&gt;FUNCTION val_email&lt;br /&gt;  (p_email  IN  VARCHAR2)&lt;br /&gt;  RETURN BOOLEAN IS&lt;br /&gt;BEGIN&lt;br /&gt;  RETURN REGEXP_SUBSTR (p_email, '[a-zA-Z0-9._%-]+@[a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}') IS NOT NULL OR p_email IS NULL;&lt;br /&gt;END val_email;&lt;/pre&gt;Couple this with the common need/want to enter multiple addresses in the one field, I wondered how best to action that requirement - I came up with this:&lt;br /&gt;&lt;pre class="brush:sql"&gt;FUNCTION val_email_string&lt;br /&gt;  (p_email      IN  VARCHAR2&lt;br /&gt;  ,p_separator  IN  VARCHAR2 DEFAULT ',')&lt;br /&gt;  RETURN VARCHAR2 IS&lt;br /&gt;  lt_emails  apex_application_global.vc_arr2;&lt;br /&gt;  lb_valid   BOOLEAN DEFAULT TRUE;&lt;br /&gt;  ln_error   PLS_INTEGER;&lt;br /&gt;BEGIN&lt;br /&gt;  -- split string into separate addresses&lt;br /&gt;  lt_emails := apex_util.string_to_table&lt;br /&gt;                (p_string    =&amp;gt; REPLACE(p_email,' ')&lt;br /&gt;                ,p_separator =&amp;gt; p_separator);&lt;br /&gt;&lt;br /&gt;  &amp;lt;&amp;lt; email_val &amp;gt;&amp;gt;&lt;br /&gt;  FOR i IN 1..lt_emails.COUNT LOOP&lt;br /&gt;    lb_valid := val_email(lt_emails(i));&lt;br /&gt;    -- If error occurs, record the problem number and don't bother continuing&lt;br /&gt;    ln_error := i;&lt;br /&gt;    EXIT WHEN NOT lb_valid;&lt;br /&gt;  END LOOP email_val;&lt;br /&gt;  IF NOT lb_valid THEN&lt;br /&gt;    -- return the message with the first problem address&lt;br /&gt;    RETURN 'At least one e-mail not valid: '||lt_emails(ln_error);&lt;br /&gt;  ELSE&lt;br /&gt;    -- no errors occurred&lt;br /&gt;    RETURN NULL;&lt;br /&gt;  END IF;&lt;br /&gt;END val_email_string;&lt;/pre&gt;Any suggested improvements?&lt;br /&gt;&lt;br /&gt;It was designed for Apex validation with type "Function Returning Error Text"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-210926666942923772?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/210926666942923772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=210926666942923772' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/210926666942923772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/210926666942923772'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/02/validating-e-mail-in-plsql.html' title='Validating e-mail in PL/SQL'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-1332210784139817179</id><published>2011-02-04T12:15:00.000+08:00</published><updated>2011-02-04T12:15:53.838+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Is Apex heading in the right direction?</title><content type='html'>Ever since reading the &lt;a href="http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-sod-087560.html"&gt;Oracle Application Express Statement of Direction&lt;/a&gt; for 4.1, I've had it in mind to share some thoughts on this forum. So why not now when the water's settled, it's a new year after all and apparently we can look forward to 4.1 goodness in 2011.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Development for Mobile Applications - any product, software, company, fish in the ocean with a vision of the future should be considering mobile applications. The word "applications" can have multiple contexts here, but I must say even for websites - it really grinds my gears when I encounter what I'm sure is a new website that doesn't appear nicely on my mobile phone browser. Good on Oracle for bearing this in mind.&lt;/li&gt;&lt;li&gt;Charting - "without using Flash", obviously the iPhone is being considered here, but considering the CPU drain with Flash I think it's great that other charting options are being developed.&lt;/li&gt;&lt;li&gt;Error Handling - I'm forever updating the (ugly!) Error Page Template with some sexy scripting here, so I'm glad that the Apex team are starting to tidy some of the looser ends of the product.&lt;/li&gt;&lt;li&gt;Interactive Reporting - Not so sure about multiple reports per page, unless perhaps they are little ones on a very dynamic page; but supporting newer database features like pivot queries is great to see.&lt;/li&gt;&lt;li&gt;Tabular forms - Multiple on one page? I avoid them like the plague myself, but more functionality with validation would be good - wasn't that impressed with the 4.0 improvements.&lt;/li&gt;&lt;li&gt;Mater-Detail-Detail - makes sense.&lt;/li&gt;&lt;li&gt;Dynamic Actions - never has a&amp;nbsp;declarative&amp;nbsp;feature offered so much potential and provided flexible options, I'm glad this feature is being developed further.&lt;/li&gt;&lt;li&gt;Plug-Ins - The community has really embraced plug-ins, you'd be mad not to extend it.&lt;/li&gt;&lt;li&gt;Use of ROWID - this has been on my wishlist for a while, it irks me this facility wasn't in a &lt;i&gt;much &lt;/i&gt;earlier release.&lt;/li&gt;&lt;li&gt;Modal Dialogue - I can only imagine this is a JQuery dialogue, something I advocate and have used a number of times to help &lt;i&gt;ensure &lt;/i&gt;the end-user takes notice of pop-up messages, instead of blindly clicking.&lt;/li&gt;&lt;li&gt;Websheets - do people really use this?! Please tell me the initial Apex4 release wasn't due to dusting off websheets...&lt;/li&gt;&lt;li&gt;Data Upload - if this is what I think it is, I can see many applications for it and I think it will help developers the world over from reinventing another wheel. Perhaps an adjustment of the Data Load facility in Apex utilities?&lt;/li&gt;&lt;li&gt;Accessibility - I'm finding more clients ask that this is considered in the requirements, good on you, Oracle.&lt;/li&gt;&lt;li&gt;Numerous functional and performance improvements - I'm sure in this random bucket of goodies there will be the odd pearl. I remember re-writing our Oracle Apex training application from 3.x to 4.0, and it really was the little things that made me happy - unnamed improvements that made my task easier.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_AK_jxmMErLU/TUt8-YUfyyI/AAAAAAAAAOA/ArK1exJbj7U/s1600/left-right-direction-fail.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_AK_jxmMErLU/TUt8-YUfyyI/AAAAAAAAAOA/ArK1exJbj7U/s320/left-right-direction-fail.jpg" width="256" /&gt;&lt;/a&gt;&lt;/div&gt;As for wishlist features, I'm the sort of bloke that grumbles at Apex every now and then, but do you think I can collate my whims on demand? Hardly...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Column reordering - one of the most frustrating but regular tasks in development, aiming for that little arrow to re-order fields. Perhaps a drag and drop mechanism?&lt;/li&gt;&lt;li&gt;Handling CSVs - depending on what that &lt;i&gt;data upload&lt;/i&gt; improvement entails, I think it would be great to offer a black box that facilitates uploading a CSV file into an Apex collection&lt;/li&gt;&lt;li&gt;Validation that communicates - it would be wonderful to construct validation dependencies, enough said.&lt;/li&gt;&lt;li&gt;ROWID - I'll mention it down here too, handing DML by ROWID in lieu of primary keys is overdue.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;And to top it all off, if Apex 4.1 is shipped with &lt;a href="http://twitpic.com/3s4zx3"&gt;Oracle 11g XE&lt;/a&gt;, that would be super.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So is Oracle Apex heading in the right direction? You bet. All these focuses show that the Oracle team really are listening to the heartbeat of the development community - and of the web world at large, in my humble opinion anyway.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Scott&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-1332210784139817179?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/1332210784139817179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=1332210784139817179' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1332210784139817179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1332210784139817179'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/02/is-apex-heading-in-right-direction.html' title='Is Apex heading in the right direction?'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AK_jxmMErLU/TUt8-YUfyyI/AAAAAAAAAOA/ArK1exJbj7U/s72-c/left-right-direction-fail.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-3968555936795417849</id><published>2011-02-03T17:02:00.000+08:00</published><updated>2011-02-03T17:02:42.200+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Synonyms'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Apex Object Synonyms</title><content type='html'>It's been &lt;i&gt;almost&lt;/i&gt; a month since my last post - it's been January and I'm going to leave it at that.&lt;br /&gt;&lt;br /&gt;I thought I'd continue 2011 with a little snippet I wrote to save some of my frustrations.&lt;br /&gt;&lt;br /&gt;Occasionally I find myself reading the package spec for an Oracle Apex package, and I'd like to know the synonym name I can refer to it with - &lt;i&gt;or&lt;/i&gt; I'm aware of a synonym name and I'd like to pull up the package specification for a look-see.&lt;br /&gt;&lt;br /&gt;Either way, I always find myself trying to remember what to replace with what, seeing now it's usually just WWV_FLOW &amp;lt;-&amp;gt; APEX, but sometimes it's APEX &amp;lt;-&amp;gt; HTMLDB, and sometimes it's something else...&lt;br /&gt;&lt;br /&gt;So I wrote a little query to help myself do the mapping between synonym name and package name, maybe you'll take it on board:&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;SELECT owner, synonym_name, table_name&lt;br /&gt;FROM   dba_synonyms&lt;br /&gt;WHERE  synonym_name LIKE 'APEX/_%' ESCAPE '/'&lt;br /&gt;AND    owner LIKE 'APEX/_%' ESCAPE '/'&lt;br /&gt;ORDER BY synonym_name&lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;OWNER        SYNONYM_NAME                   TABLE_NAME&lt;br /&gt;------------ ------------------------------ ------------------------------&lt;br /&gt;APEX_030200  APEX_ACTIVITY_LOG              WWV_FLOW_USER_ACTIVITY_LOG&lt;br /&gt;APEX_030200  APEX_APPLICATION               WWV_FLOW&lt;br /&gt;APEX_030200  APEX_APPLICATION_FILES         WWV_FLOW_FILES&lt;br /&gt;APEX_030200  APEX_APPLICATION_GLOBAL        WWV_FLOW_GLOBAL&lt;br /&gt;APEX_030200  APEX_COLLECTION                WWV_FLOW_COLLECTION&lt;br /&gt;APEX_030200  APEX_COLLECTIONS               WWV_FLOW_COLLECTIONS&lt;br /&gt;APEX_030200  APEX_CUSTOM_AUTH               HTMLDB_CUSTOM_AUTH&lt;br /&gt;APEX_030200  APEX_INSTANCE_ADMIN            WWV_FLOW_INSTANCE_ADMIN&lt;br /&gt;APEX_030200  APEX_ITEM                      HTMLDB_ITEM&lt;br /&gt;APEX_030200  APEX_LANG                      HTMLDB_LANG&lt;br /&gt;APEX_030200  APEX_LDAP                      WWV_FLOW_LDAP&lt;br /&gt;APEX_030200  APEX_LOGIN                     HTMLDB_LOGIN&lt;br /&gt;APEX_030200  APEX_MAIL                      WWV_FLOW_MAIL&lt;br /&gt;APEX_030200  APEX_MAIL_ATTACHMENTS          WWV_FLOW_USER_MAIL_ATTACHMENTS&lt;br /&gt;APEX_030200  APEX_MAIL_LOG                  WWV_FLOW_USER_MAIL_LOG&lt;br /&gt;APEX_030200  APEX_MAIL_QUEUE                WWV_FLOW_USER_MAIL_QUEUE&lt;br /&gt;APEX_030200  APEX_PLSQL_JOB                 WWV_FLOW_PLSQL_JOB&lt;br /&gt;APEX_030200  APEX_PLSQL_JOBS                WWV_FLOW_PLSQL_JOBS&lt;br /&gt;APEX_030200  APEX_SITE_ADMIN_PRIVS          HTMLDB_SITE_ADMIN_PRIVS&lt;br /&gt;APEX_030200  APEX_UI_DEFAULT                WWV_FLOW_HINT&lt;br /&gt;APEX_030200  APEX_USER_ACCESS_LOG           WWV_FLOW_USER_ACCESS_LOG&lt;br /&gt;APEX_030200  APEX_UTIL                      HTMLDB_UTIL&lt;br /&gt;&lt;br /&gt;22 rows selected.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Yes, unfortunately at the moment I'm doing most of my work in Apex3.x - I feel so dated!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-3968555936795417849?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/3968555936795417849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=3968555936795417849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3968555936795417849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3968555936795417849'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/02/apex-object-synonyms.html' title='Apex Object Synonyms'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6561134312744913843</id><published>2011-01-04T11:04:00.000+08:00</published><updated>2011-01-04T11:04:00.282+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Item Attributes'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Adding tooltips to your Apex report</title><content type='html'>There are a number of ways to publish&amp;nbsp;tooltips&amp;nbsp;in your application, many of them much more verbose than they need to be.&lt;br /&gt;&lt;br /&gt;Some of them implement fairly fancy JavaScript and CSS, but there is a simple way to plug in the default tooltip behaviour into your Apex reports.&lt;br /&gt;&lt;br /&gt;When you edit your report column attributes, add the following code into the &lt;i&gt;HTML expression&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&amp;lt;span title="#MY_TOOLTIP_COLUMN#"&amp;gt;#MY_COLUMN#&amp;lt;/span&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;These attributes typically have decent help in regard to the sort of coding examples you can apply.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_AK_jxmMErLU/TRsqii72RqI/AAAAAAAAAN4/l37UYA3rFUo/s1600/blog_tooltip_code.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_AK_jxmMErLU/TRsqii72RqI/AAAAAAAAAN4/l37UYA3rFUo/s1600/blog_tooltip_code.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;So this setup places the data from the selected column &lt;i&gt;my_tooltip_column&lt;/i&gt;, and displays the value in &lt;i&gt;my_column&lt;/i&gt; as you'd normally expect.&lt;/div&gt;&lt;br /&gt;And is the display from Google Chrome:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_AK_jxmMErLU/TRr02kk6n8I/AAAAAAAAAN0/jILyBkaUo4g/s1600/blog_tooltip.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_AK_jxmMErLU/TRr02kk6n8I/AAAAAAAAAN0/jILyBkaUo4g/s1600/blog_tooltip.png" /&gt;&lt;/a&gt;&lt;/div&gt;Simple but effective - and flexible.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6561134312744913843?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6561134312744913843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6561134312744913843' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6561134312744913843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6561134312744913843'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2011/01/adding-tooltips-to-your-apex-report.html' title='Adding tooltips to your Apex report'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_AK_jxmMErLU/TRsqii72RqI/AAAAAAAAAN4/l37UYA3rFUo/s72-c/blog_tooltip_code.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-3581688211769130714</id><published>2010-12-29T16:07:00.000+08:00</published><updated>2010-12-29T16:07:33.252+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Item Attributes'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Basic Apex scripting - show/hide &amp; labels</title><content type='html'>Sometimes the scripting requirements for an Oracle Apex page are fairly simple, yet determining the required modifications can be frustrating, particularly for a beginner in either Apex or HTML behaviours.&lt;br /&gt;&lt;br /&gt;Recently I had the requirement of showing or hiding both the label and input item, depending on the selection within a select list.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_AK_jxmMErLU/TRrkwqJtKEI/AAAAAAAAANc/H_HA7hE1dW0/s1600/blog_sample.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_AK_jxmMErLU/TRrkwqJtKEI/AAAAAAAAANc/H_HA7hE1dW0/s1600/blog_sample.png" /&gt;&lt;/a&gt;&lt;/div&gt;So with this example, let's say my requirement is to hide the "Other Description" label and input item if "My select list" equals "- Select me -"&lt;br /&gt;Otherwise, display the items and as an added bonus - set the label to the value of the selected list item.&lt;br /&gt;&lt;br /&gt;First I need to modify the label so I have the ability to reference it in my JavaScript. So I edit my&amp;nbsp;P1_OTHER_DESCRIPTION field and extend the &lt;i&gt;HTML Table Cell Attributes&lt;/i&gt; in the &lt;i&gt;Label&lt;/i&gt; section (not the &lt;i&gt;Element&lt;/i&gt; section).&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_AK_jxmMErLU/TRrmQWgfGFI/AAAAAAAAANo/cYFu5LPtUgo/s1600/blog_label.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_AK_jxmMErLU/TRrmQWgfGFI/AAAAAAAAANo/cYFu5LPtUgo/s1600/blog_label.png" /&gt;&lt;/a&gt;&lt;/div&gt;Here I added &lt;code&gt;id="label_other"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Now I can define a script to do my work. It's highly likely this script will be used solely on this page so there's no real harm in adding it directly to the page attributes - unless you have a dedicated JavaScript file you add your scripting code.&lt;br /&gt;&lt;br /&gt;So this would be added to the page footer text:&lt;br /&gt;&lt;pre class="brush:sql; highlight:[9];"&gt;&amp;lt;script language="JavaScript" type="text/javascript"&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;function toggleOtherDesc(){&lt;br /&gt;  $f_Hide_On_Value_Item('P1_MY_SELECTLIST',['P1_OTHER_DESCRIPTION','LABEL_OTHER'],'hide_desc');&lt;br /&gt;&lt;br /&gt;  //I could also change my actual label, for instance to the value of my select list input item&lt;br /&gt;  document.getElementById('LABEL_OTHER').innerText = $v('P1_MY_SELECTLIST'); &lt;br /&gt;}&lt;br /&gt;toggleOtherDesc();&lt;br /&gt;//--&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;Some points to note here&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;$f_Hide_On_Value_Item is a pre-defined function you can call to hide a list of items based on the value of another. Its behaviour is documented &lt;a href="http://download.oracle.com/docs/cd/E17556_01/doc/apirefs.40/e15519/javascript_api.htm#insertedID44"&gt;online here&lt;/a&gt;. In this case I listed both the label I created an id for plus, the item name - surrounded by square brackets as to define an array.&lt;/li&gt;&lt;li&gt;'hide_desc' is the value I've set in this case when the input description is '- Select me'&lt;/li&gt;&lt;li&gt;.innerText allows me to set the descriptive label, as long as I supply the id I defined for the label, not the item name you see in the Apex builder.&lt;/li&gt;&lt;li&gt;$v will return the value in the field, as it would be posted. This is also documented in the JavaScript API reference page.&lt;/li&gt;&lt;li&gt;The highlighted line 9 means the function will be called when you open the page, in this case after it's rendered. That way the fields will be shown/hidden depending on the set value in the select list.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Lastly, I can modify the&amp;nbsp;P1_MY_SELECTLIST item to call the&amp;nbsp;JavaScript&amp;nbsp;each time the selection changes.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_AK_jxmMErLU/TRrkxgjiJWI/AAAAAAAAANg/RB9phkVI2pY/s1600/blog_element.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_AK_jxmMErLU/TRrkxgjiJWI/AAAAAAAAANg/RB9phkVI2pY/s1600/blog_element.png" /&gt;&lt;/a&gt;&lt;/div&gt;So I add &lt;code&gt;onChange="javascript:toggleOtherDesc();"&lt;/code&gt; to the &lt;i&gt;HTML Form Element Attributes&lt;/i&gt; in the &lt;i&gt;Element &lt;/i&gt;section.&lt;br /&gt;&lt;br /&gt;So the final product will change the label to the selected value in the select list, or hide the label and input field if '- Select me -' is chosen.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_AK_jxmMErLU/TRrpzdXhXLI/AAAAAAAAANw/jS-SAqOHWPM/s1600/blog_sample_f.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_AK_jxmMErLU/TRrpzdXhXLI/AAAAAAAAANw/jS-SAqOHWPM/s1600/blog_sample_f.png" /&gt;&lt;/a&gt;&lt;/div&gt;There you have it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-3581688211769130714?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/3581688211769130714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=3581688211769130714' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3581688211769130714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/3581688211769130714'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/12/basic-apex-scripting-showhide-labels.html' title='Basic Apex scripting - show/hide &amp; labels'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_AK_jxmMErLU/TRrkwqJtKEI/AAAAAAAAANc/H_HA7hE1dW0/s72-c/blog_sample.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-6030425551093063089</id><published>2010-12-23T19:09:00.000+08:00</published><updated>2010-12-23T19:09:52.946+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>Holiday season cometh, want to decorate your laptop?</title><content type='html'>It's almost a long weekend. Awesome!&lt;br /&gt;&lt;br /&gt;Firstly, I'd like to offer a brief sentiment: some people around the world use this time to celebrate Christmas. I find it a somewhat uncomfortable time because I am one of few in my country, certainly in my circle of friends and family that do not. For those curious, recently someone &lt;a href="http://www.atheistrev.com/2010/11/i-can-do-without-tradition.html"&gt;else found&lt;/a&gt; almost the perfect words that fit my noggin. I guess I find solace in the fact that at least a third of the world's population don't celebrate it either.&lt;br /&gt;&lt;br /&gt;However... for those of you that do, I have a great (albeit late) gift idea for you! They are called &lt;i&gt;Laptop wraps&lt;/i&gt;, and here is a funky design example:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_AK_jxmMErLU/TRMpJUpl-XI/AAAAAAAAANQ/Boy1pJRl-R8/s1600/awesome.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://4.bp.blogspot.com/_AK_jxmMErLU/TRMpJUpl-XI/AAAAAAAAANQ/Boy1pJRl-R8/s320/awesome.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;For those with small to large businesses, you may even consider it a great tax write-off while promoting your business. During this year's conference, we certainly had many people interested in having one designed to suit their brand. As I was going through the airport scanners recently, it even caught the favourable and approving eye of some of the security staff. Here is my laptop -&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_AK_jxmMErLU/TRMo6zoKXcI/AAAAAAAAANI/0REUE7CrrW0/s1600/laptop_wraps.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_AK_jxmMErLU/TRMo6zoKXcI/AAAAAAAAANI/0REUE7CrrW0/s320/laptop_wraps.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So if you want one (or many), my sister, Vicki, is in the process of populating her website full of various ideas along the same concept. It doesn't matter where in the world you live, you can order one of these; and/or ask her to help design one to suit your business or taste. So give it a visit: &lt;a href="http://artwraps.com.au/"&gt;ArtWraps.com.au&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;They're pretty easy to apply, I used a ruler,&amp;nbsp;some scissors,&amp;nbsp;credit card, and a screen-cloth (which you can see in the photo)&lt;br /&gt;&lt;br /&gt;I think you'll agree the final product looks a lot better than advertising for the company who built your chosen laptop. And for those consultants out there, what better way to promote your brand. I'm getting comments everywhere asking about it (and yes, sis, I'm letting them know about you ;-)&lt;br /&gt;&lt;br /&gt;Maybe if you're a complete Oracle/Java fanboi, you could borrow a design from &lt;a href="http://www.oracle.com/technetwork/community/join/member-discounts/index.html#wpaper"&gt;here&lt;/a&gt;&amp;nbsp;;-)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_AK_jxmMErLU/TRMtbQ4k-jI/AAAAAAAAANU/1nCSS22bAAs/s1600/oracleboi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://4.bp.blogspot.com/_AK_jxmMErLU/TRMtbQ4k-jI/AAAAAAAAANU/1nCSS22bAAs/s320/oracleboi.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;As a little extra plug, she has another website promoting her graphic design business, she's been doing all sorts of design activities and sign-writing for years -&amp;nbsp;&lt;a href="http://www.grovewesley.com/"&gt;www.grovewesley.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anyway, I hope you all enjoy whatever it is you choose to do this time of year, and make sure you have a relaxing time doing it. Being around 35C here in the southern hemisphere, I won't be far from the beach or a pool.&lt;br /&gt;&lt;br /&gt;Happy holidays!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-6030425551093063089?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/6030425551093063089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=6030425551093063089' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6030425551093063089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/6030425551093063089'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/12/holiday-season-cometh-want-to-decorate.html' title='Holiday season cometh, want to decorate your laptop?'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_AK_jxmMErLU/TRMpJUpl-XI/AAAAAAAAANQ/Boy1pJRl-R8/s72-c/awesome.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7307355065881255901</id><published>2010-12-22T19:25:00.003+08:00</published><updated>2011-05-24T11:54:58.540+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Templates'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex'/><title type='text'>Modifying Apex Tab behaviour</title><content type='html'>Today I was having a minor battle with tabs in Oracle Apex (3.2).&lt;br /&gt;&lt;br /&gt;Sometimes you don't necessarily want it to submit the page when you click on a tab, so I was having a think about options to override the functionality.&lt;br /&gt;&lt;br /&gt;I found an interesting discussion &lt;a href="http://forums.oracle.com/forums/thread.jspa?messageID=4311254"&gt;here on OTN&lt;/a&gt;, but I came up with something else involving On Demand processes. I'm still deciding whether it's an overkill for my situation, but I thought I'd post it as it may help someone else one day.&lt;br /&gt;&lt;br /&gt;The solution involved :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Current tab page template&lt;/li&gt;&lt;li&gt;Script on page zero&lt;/li&gt;&lt;li&gt;On-demand page process&lt;/li&gt;&lt;/ol&gt;My original "Current Tab" in my page template looked like this:&lt;br /&gt;&lt;pre class="brush:sql"&gt;&amp;lt;td class="t9tabCurrent"&amp;gt;&lt;br /&gt;&amp;lt;a href="#TAB_LINK#" class="t9tabCurrent"&amp;gt;#TAB_LABEL#&amp;lt;/a&amp;gt;&lt;br /&gt;#TAB_INLINE_EDIT#&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;/pre&gt;I modified it to:&lt;br /&gt;&lt;pre class="brush:sql"&gt;&amp;lt;td class="t9tabCurrent"&amp;gt;&lt;br /&gt;&amp;lt;a href=javascript:tabNav("#TAB_LINK#") class="t9tabCurrent"&amp;gt;#TAB_LABEL#&amp;lt;/a&amp;gt;&lt;br /&gt;#TAB_INLINE_EDIT#&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This calls a script I defined on page zero, passing through the original #TAB_LINK# code.&lt;br /&gt;&lt;pre class="brush:sql"&gt;&amp;lt;script language="JavaScript"&amp;gt;&lt;br /&gt;&amp;lt;!--&lt;br /&gt;function tabNav(p_orig)&lt;br /&gt;{&lt;br /&gt;  var get = new htmldb_Get(null,$v('pFlowId'),'APPLICATION_PROCESS=tab_target',$v('pFlowStepId'));&lt;br /&gt;    get.addParam('x01',p_orig);&lt;br /&gt;    vReturn = get.get();&lt;br /&gt;    window.location = vReturn;&lt;br /&gt;}&lt;br /&gt;--&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/pre&gt;The script will catch any click on the tab set. It takes the #TAB_LINK# substitution value and sends it to the on-demand process for processing. Then it re-directs the page to the resulting vReturn value.&lt;br /&gt;&lt;br /&gt;My on demand process just encapsulates the code, so it's a call to a package I have defined. The g_x01 variable is the value I added in the AJAX call :&lt;br /&gt;&lt;code&gt;htp.p(my_pkg.tab_target(apex_application.g_x01));&lt;/code&gt;&lt;br /&gt;This function definition simply replicates existing behaviour, but without the page submit.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql"&gt;FUNCTION tab_target&lt;br /&gt;  (p_source  VARCHAR2)&lt;br /&gt;  RETURN VARCHAR2 IS&lt;br /&gt;-- Replicate tab functionality, but not as a submit&lt;br /&gt;  lc_target  VARCHAR2(200);&lt;br /&gt;  lc_delim   VARCHAR2(1) := q'[']';&lt;br /&gt;BEGIN&lt;br /&gt;  SELECT 'f?p='||v('APP_ID')||':'||tab_page||':'||v('SESSION')||'::'||v('DEBUG')||':' -- essentially existing behaviour&lt;br /&gt;  INTO  lc_target&lt;br /&gt;  FROM  apex_application_tabs&lt;br /&gt;  WHERE application_id = v('APP_ID')&lt;br /&gt;  AND   tab_name = SUBSTR(p_source -- obtains T_HOME from -- javascript:doSubmit('T_HOME')&lt;br /&gt;                         ,INSTR(p_source,lc_delim)+1&lt;br /&gt;                         ,INSTR(p_source,lc_delim,1,2)-1-INSTR(p_source,lc_delim));&lt;br /&gt;&lt;br /&gt;  RETURN lc_target;&lt;br /&gt;END tab_target;&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;You could extend this to do whatever you like, depending on which tab has been pressed. I know in the past I've considered wanting to pass parameters on tab press...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;i&gt;Hopefully all the code is displayed ok, I'm having trouble finding an easy way to paste html examples into blogspot. I'm happy for any suggestions on that matter...&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, is anyone still working or reading blogs right now, or am I one of few? ;-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7307355065881255901?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7307355065881255901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7307355065881255901' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7307355065881255901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7307355065881255901'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/12/modifying-apex-tab-behaviour.html' title='Modifying Apex Tab behaviour'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7938633588570307805</id><published>2010-12-02T08:29:00.000+08:00</published><updated>2010-12-02T08:29:01.417+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Data visualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='Off Topic'/><title type='text'>The bar has been raised</title><content type='html'>One day, I'd like to see something like this at an Oracle event.&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/jbkSRLYSojo?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/jbkSRLYSojo?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Sure, it might be a little difficult if it's live, but I'm sure the technology will get there. Perhaps we'll see more of this type of thing once our broadband network gets up to scratch.&lt;br /&gt;&lt;br /&gt;On a side note, look out for circles that do wild things - Japan in the 40s (medium red dot), China in the 50s (big red dot), Rwanda in the 90s (little blue dot), Middle East in the late 90s (green dots)... sense a trend?&lt;br /&gt;&lt;br /&gt;Apparently Hans Rosling has some good &lt;a href="http://www.ted.com/"&gt;TED&lt;/a&gt; talks, I might have to look those up.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: xx-small;"&gt;Spotted at &lt;a href="http://scienceblogs.com/pharyngula/2010/11/data_visualization_is_cool.php"&gt;Pharyngula&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7938633588570307805?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7938633588570307805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7938633588570307805' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7938633588570307805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7938633588570307805'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/12/bar-has-been-raised.html' title='The bar has been raised'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-690007981934485503</id><published>2010-11-30T22:33:00.000+08:00</published><updated>2010-11-30T22:33:08.720+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><title type='text'>My thoughts on presenting</title><content type='html'>When it comes to presenting on Oracle topics, I am by no means a professional, nor would I consider myself an experienced presenter like&amp;nbsp;&lt;a href="http://sagecomputing.com.au/about_sage_computing_services.html#penny"&gt;Penny Cookson&lt;/a&gt;&amp;nbsp;or&amp;nbsp;&lt;a href="http://www.oracledba.co.uk/"&gt;Connor McDonald&lt;/a&gt;&amp;nbsp;- in fact the delivery he mustered at this year's conference was outstanding.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;That being said, I'd like to offer a few words &amp;amp; discoveries to those newer at this to me, or even those considering submitting a presentation for your local event, without sounding like &lt;a href="http://www.calamitiesofnature.com/archive/?c=417"&gt;this&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;#1 - nobody wants you to fail&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_AK_jxmMErLU/TKKNGBy-NTI/AAAAAAAAAM8/7T6CsyYCCwU/s1600/success_baby.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="131" src="http://3.bp.blogspot.com/_AK_jxmMErLU/TKKNGBy-NTI/AAAAAAAAAM8/7T6CsyYCCwU/s200/success_baby.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Given the feedback and support I received as a new presenter, I immediately got the feeling that people wanted me to succeed. &lt;br /&gt;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&amp;nbsp;lectern&amp;nbsp;to succeed regardless of troubles faced.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;We are all human, we want our fellow species to succeed in that position that many fear over death.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;#2 - write a presentation&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://sethgodin.typepad.com/.a/6a00d83451b31569e2013484e0c652970c-500wi" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://sethgodin.typepad.com/.a/6a00d83451b31569e2013484e0c652970c-500wi" width="200" /&gt;&lt;/a&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;After years of&amp;nbsp;&lt;s&gt;looking&lt;/s&gt;&amp;nbsp;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&amp;nbsp;&lt;a href="http://tkyte.blogspot.com/2005/11/looking-for-suggestions.html"&gt;here&lt;/a&gt;&amp;nbsp;- Tom Kyte started a discussion on it.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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&amp;nbsp;&lt;a href="http://sethgodin.typepad.com/seths_blog/2010/09/the-myth-of-preparation.html"&gt;nails it&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;Once you have it in the back of your mind, it's amazing where topic ideas come from.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;#3 - be prepared&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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&amp;nbsp;flaky&amp;nbsp;demonstrations because it's difficult to think on the fly if something goes wrong.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Connor gave me a rule of thumb and suggested you know the content of the next 2-3 slides. I noticed in &lt;a href="http://one-size-doesnt-fit-all.blogspot.com/"&gt;Chris Muir's&lt;/a&gt; recent effort he had little grey text in the bottom corner to prompt what the next slide was about.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;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.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;#4 - simplify content&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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&amp;nbsp;a decent amount of information without causing confusion.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;Limit ideas/concepts per slide.&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;#5 - beware scope creep&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://www.slideshare.net/philsecretvolcanolair/tips-for-presenting-presentation"&gt;Phil Winstanley&lt;/a&gt;&amp;nbsp;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- Key message&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- Define the problem&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- Benefits of solving the problem&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- Proposed solution&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- Reinforce key message&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- Conclude and close&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;Think different. Your key message doesn't need to be displayed as an agenda slide.&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;#6 - get a hand-held presenter&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_AK_jxmMErLU/TKG8yZ7IOpI/AAAAAAAAAM4/R2qalqmguEM/s1600/presenter.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_AK_jxmMErLU/TKG8yZ7IOpI/AAAAAAAAAM4/R2qalqmguEM/s1600/presenter.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.logitech.com/en-us/432/175"&gt;This&lt;/a&gt; is the one I have, but companies like &lt;a href="http://www.logitech.com/en-us/mice-pointers/presenter"&gt;Logitech&lt;/a&gt; are always releasing snazzy new ones. Having a presenter will give you the flexibility to walk away from your laptop (or other &lt;a href="http://www.oracle-base.com/blog/2010/09/26/ipad-thoughts-so-far/"&gt;device&lt;/a&gt; that does the job these days). I think the presenting style demonstrated by &lt;a href="http://identity20.com/media/OSCON2005/"&gt;Dick Hardt&lt;/a&gt; was damaged by being chained to the laptop.&lt;br /&gt;Beyond the obvious advantage of having a laser pointer, these devices allow you to step forward &amp;amp; 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.&lt;br /&gt;Just limit the movement of the laser dot - just imagine what your pet would do with it zipping around the screen everywhere!&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Having freedom to walk away from the laptop may help settle your nerves.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;#7 - identify 2-4 people around the room to alternate your attention&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Don't make it a hard &amp;amp; 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 &amp;amp;&amp;nbsp;unwarranted&amp;nbsp;pressure.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;This will ultimately limit your movements and allow people to focus more on what you have to show &amp;amp; say.&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;#8 - body language&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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&amp;nbsp;&lt;a href="http://www.aresearchguide.com/3tips.html"&gt;this site&lt;/a&gt;&amp;nbsp;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&amp;nbsp;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;Speak with the confidence that you believe what you're saying.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;#9 - they are there for the content&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;i&gt;The rest will probably come with practice and experience.&lt;/i&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;**&lt;/div&gt;&lt;br /&gt;No doubt over the months &amp;amp; years these thoughts will change and evolve into something else, but it's where I stand right now.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;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.&lt;/div&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;I'll leave this with another site I might start sinking my teeth into:&lt;br /&gt;&lt;a href="http://speakingaboutpresenting.com/"&gt;http://speakingaboutpresenting.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ScottWe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-690007981934485503?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/690007981934485503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=690007981934485503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/690007981934485503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/690007981934485503'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/my-thoughts-on-presenting.html' title='My thoughts on presenting'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_AK_jxmMErLU/TKKNGBy-NTI/AAAAAAAAAM8/7T6CsyYCCwU/s72-c/success_baby.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2570110429368174203</id><published>2010-11-30T08:21:00.000+08:00</published><updated>2010-11-30T08:21:04.670+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu, here I come...</title><content type='html'>For many &lt;i&gt;many&lt;/i&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ubuntu.com/sites/default/themes/ubuntu10/images/footer_logo.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://www.ubuntu.com/sites/default/themes/ubuntu10/images/footer_logo.png" /&gt;&lt;/a&gt;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 &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu 10.10&lt;/a&gt; - in fact I'm writing this post via Ubuntu!&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;I'm in the process of attempting to install Oracle 11gR2 with the following &lt;a href="http://www.pythian.com/news/13291/installing-oracle-11gr2-enterprise-edition-on-ubuntu-10-04-lucid-lynx/#comment-479511"&gt;instructions&lt;/a&gt; (thanks Pythian). I've come across my first of many hurdles...&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;I've registered for the &lt;a href="http://ubuntuforums.org/"&gt;Ubuntu forums&lt;/a&gt;, and will always welcome further advice.&lt;br /&gt;&lt;br /&gt;ScottWe&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2570110429368174203?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2570110429368174203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2570110429368174203' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2570110429368174203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2570110429368174203'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/ubuntu-here-i-come.html' title='Ubuntu, here I come...'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-83149185330465763</id><published>2010-11-29T21:14:00.000+08:00</published><updated>2010-11-29T21:14:39.036+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>SAGE 2010 AUSOUG Conference presentations available</title><content type='html'>To all those that requested or are interested in our presentations from the AUSOUG conference, all five are now available on the SAGE &lt;a href="http://sagecomputing.com.au/presentations_sage_computing_services.html"&gt;website&lt;/a&gt;&amp;nbsp;- click on the &lt;i&gt;New! 2010 Presentations&lt;/i&gt; link.&lt;br /&gt;&lt;br /&gt;As for all other presentations, the AUSOUG committee are in the process of chasing down those we did not obtain and &lt;sarcasm&gt;with any luck, should be available on the AUSOUG &lt;a href="http://www.ausoug.org.au/"&gt;website&lt;/a&gt; before the next conference.&lt;/sarcasm&gt;&lt;br /&gt;&lt;br /&gt;You may even find some on the websites of the respective presenters. Big names such as &lt;a href="http://www.toadworld.com/Education/StevenFeuersteinsPLSQLExperience/Trainingandpresentations/tabid/155/Default.aspx"&gt;Steven Feuerstein&lt;/a&gt; and &lt;a href="http://asktom.oracle.com/pls/apex/f?p=100:8:0::NO"&gt;Tom Kyte&lt;/a&gt; always have their's available on-line. However for presentations such as Guy Harrison's keynote &amp;amp; Connor McDonald's 350+ slide masterpiece - you're never going to get the same value reading it as being there - their delivery was impeccable.&lt;br /&gt;&lt;br /&gt;Truth be told, the WA state committee has gathered fresh and keen members this year, and we are pushing hard to make &lt;b&gt;dramatic &lt;/b&gt;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.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;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 &amp;amp; nibblies come out ;-)&lt;br /&gt;&lt;br /&gt;If you have something to contribute, or a super idea to suggest - you don't even have to until then, &lt;a href="mailto:contact@ausoug.org.au"&gt;contact&lt;/a&gt; the committee today.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;ScottWe&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-83149185330465763?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/83149185330465763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=83149185330465763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/83149185330465763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/83149185330465763'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/sage-2010-ausoug-conference.html' title='SAGE 2010 AUSOUG Conference presentations available'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-8671075635964356286</id><published>2010-11-23T06:31:00.000+08:00</published><updated>2010-11-23T06:31:05.315+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Sage AUSOUG Conference photo</title><content type='html'>Our entire team in our snazzy new tops on day one of the conference.&lt;br /&gt;&lt;br /&gt;Shame our camera man had an unsteady hand on a smart phone...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_AK_jxmMErLU/TOrtUpd9pwI/AAAAAAAAANE/HjQmAfMpFgI/s1600/sage_group.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_AK_jxmMErLU/TOrtUpd9pwI/AAAAAAAAANE/HjQmAfMpFgI/s400/sage_group.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;From left to right: Chris Muir, Kylie Payne, Scott Wesley (me), Kate Marshall, Penny Cookson (our illustrious leader), Branka Njegich, Eddie Harris, Ray Tindall.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-8671075635964356286?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/8671075635964356286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=8671075635964356286' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8671075635964356286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/8671075635964356286'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/sage-ausoug-conference-photo.html' title='Sage AUSOUG Conference photo'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_AK_jxmMErLU/TOrtUpd9pwI/AAAAAAAAANE/HjQmAfMpFgI/s72-c/sage_group.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-9171691982534433402</id><published>2010-11-18T20:04:00.001+08:00</published><updated>2011-03-01T21:27:39.606+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><category scheme='http://www.blogger.com/atom/ns#' term='Apex 4.0'/><title type='text'>Advert: SAGE Computing Services Training - Apex 4.0 Workshops</title><content type='html'>&lt;span class="Apple-style-span" style="color: #38761d;"&gt;SAGE Computing Services&lt;/span&gt; are featuring two training workshops early next month, not long after the AUSOUG conference.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;D&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;ecember 6th - Oracle Application Express 4.0 &lt;span class="Apple-style-span" style="color: #38761d;"&gt;New Features&lt;/span&gt;&amp;nbsp;Workshop&lt;/span&gt;&lt;/b&gt;&lt;span lang="en-US"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;This&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang="en-US"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;cour&lt;/span&gt;&lt;/span&gt;&lt;span lang="en-US"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;se is designed to familiarize current Application Express developers with the exciting new features in Apex 4.0.&amp;nbsp;Topics will include the changes in the interface, new client events, tabular form enhancements, web sheets and team development.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;December 8t&lt;/b&gt;&lt;/span&gt;&lt;b&gt;h&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;- 10th - Application Express 4.0 Workshop&lt;/span&gt;&lt;/b&gt;&lt;span lang="en-US"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;If you're looking to get involved with&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Apex&lt;/span&gt;&lt;span lang="en-US"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;, this course&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;provide you with the skills and knowledge required to develop a complete application with the latest release of Oracle’s&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;Application Express 4.0&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&amp;nbsp;product. You will develop web interfaces including forms, reports and charts, add validation and customise the formatting to create a small application.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="en-AU"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="en-AU"&gt;Visit our &lt;a href="http://www.sagecomputing.com.au/oracle_training_australia.html"&gt;training&lt;/a&gt; web page for more information about our extensive course catalogue. F&lt;/span&gt;ollow through to the &lt;a href="http://www.sagecomputing.com.au/contact_sage_computing_services.html"&gt;contact us&lt;/a&gt; details page. We look forward to hearing from you soon.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;Scott Wesley &amp;amp; &lt;a href="http://sagecomputing.com.au/about_sage_computing_services.html"&gt;the team&lt;/a&gt; at SAGE Computing Services.&lt;/div&gt;&lt;div class="MsoNormal"&gt;I'm sure Penny,&amp;nbsp;Eddie,&amp;nbsp;Kate, Chris,&amp;nbsp;Branka, Kylie &amp;amp; Ray would like you all to enjoy summer (or winter/wet/dry), and have a great new year!&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span lang="en-AU"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="mso-pagination: none;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: x-large;"&gt;&lt;span class="Apple-style-span" style="font-size: 21px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-9171691982534433402?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/9171691982534433402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=9171691982534433402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/9171691982534433402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/9171691982534433402'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/advert-sage-computing-services-training.html' title='Advert: SAGE Computing Services Training - Apex 4.0 Workshops'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-5055749861784554594</id><published>2010-11-18T18:14:00.001+08:00</published><updated>2010-11-18T19:40:00.553+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Training'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Final days before the 2010 AUSOUG conference</title><content type='html'>&lt;a href="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/sageWeb2.0LogoSmall.gif" /&gt;&lt;/a&gt;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 - &lt;a href="http://www.ausoug.org.au/2020/"&gt;AUSOUG 2020&lt;/a&gt;. I have plenty of ideas lined up for post topics, so I should be more active come the next few weeks.&lt;br /&gt;&lt;br /&gt;As for the conference, &lt;a href="http://sagecomputing.com.au/"&gt;SAGE Computing Services&lt;/a&gt; (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!&lt;br /&gt;&lt;br /&gt;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 &lt;a href="http://www.sameshow.com/other/create-widescreen-in-powerpoint-2007.html"&gt;wide-screen projector&lt;/a&gt;. We should have a good turn out, although humbling in comparison to some of the overseas gigs, I hear.&lt;br /&gt;&lt;br /&gt;Some of us are scheduled to present:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Penny Cookson - Meet the CBO in Version 11g &lt;ul&gt;&lt;li&gt; 11:30am 22nd Nov 2010&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Scott Wesley - 'n' methods to improve Apex performance &lt;ul&gt;&lt;li&gt; 3:15pm 22nd Nov 2010&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Ray Tindall - Active Directory Integration - AD, WLS &amp;amp; ADF in Harmony &lt;ul&gt;&lt;li&gt; 9:45pm 23rd Nov 2010&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Chris Muir - A change is as good as a REST: JDeveloper 11g's REST web services &lt;ul&gt;&lt;li&gt; 11:00am 23rd Nov 2010&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Penny Cookson - A Path to the Future for Dinosaur Nerds: JDeveloper ADF - A Mind Map for Forms Developers  &lt;ul&gt;&lt;li&gt; 3:45pm 23rd Nov 2010&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;The conference program can be subject to change, so check on the day to ensure you don't miss out!&lt;br /&gt;&lt;br /&gt;So unless the schedule's changed on me, I'll probably be at the following sessions:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.toadworld.com/Community/ExpertsBlog/tabid/67/BlogID/13/Default.aspx"&gt;Steven Feuerstein&lt;/a&gt; - Golden Rules for Developers&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sagecomputing.com.au/about_sage_computing_services.html#penny"&gt;Penny Cookson&lt;/a&gt; - Meet the CBO in Version 11g&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.aurora-consult.com.au/staff.html"&gt;Howard Ong&lt;/a&gt; - Make your legacy application live forever&lt;/li&gt;&lt;li&gt;&lt;a href="http://triangle-circle-square.blogspot.com/"&gt;Scott Wesley&lt;/a&gt; (won't want to miss this one!) - Apex Performance&lt;/li&gt;&lt;li&gt;&lt;a href="http://jeffkemponoracle.com/"&gt;Jeff Kemp&lt;/a&gt; - Oracle Apex Themes and Templates&lt;/li&gt;&lt;ul&gt;&lt;li&gt;(but sorry Jeff, I may find myself at Mogens Nørgaard - Oracle Licencing)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://au.linkedin.com/pub/damien-bootsma/3/93b/138"&gt;Damien Bootsma&lt;/a&gt; - Database performance made easy&lt;/li&gt;&lt;li&gt;&lt;a href="http://tkyte.blogspot.com/"&gt;Tom Kyte&lt;/a&gt; - The Best Way&lt;/li&gt;&lt;li&gt;Stuart Long Keynote - Cloud Services Automation (CSA)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.quest.com/newsroom/Guy-Harrison.aspx"&gt;Guy Harrison&lt;/a&gt; Keynote - Technology trends impacting Oracle professionals&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oracledba.co.uk/"&gt;Connor McDonald&lt;/a&gt; - Managing optimiser statistics&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.teamycc.com/RMOUG_2009_Conference/presenters.html#Bommaritobio"&gt;Frank Bommarito&lt;/a&gt; - Outlines, Profiles, SQL Plan Baselines&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Yes, my selection is very much weighted towards Oracle performance this year. Nothing wrong with having a theme...&lt;br /&gt;&lt;br /&gt;Please do come by our booth if you are also after &lt;a href="http://sagecomputing.com.au/oracle_training_australia.html"&gt;training information&lt;/a&gt;, 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,&amp;nbsp;&lt;a href="http://www.sagecomputing.com.au/contact_sage_computing_services.html"&gt;contact us&lt;/a&gt;&amp;nbsp;on-line.&lt;br /&gt;&lt;br /&gt;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&amp;nbsp;(oh, I'll be at the AUSOUG AGM first - &lt;b&gt;save me some beer&lt;/b&gt;)&lt;br /&gt;&lt;br /&gt;Speakers, committee members, exhibitors et al. - listen out for details regarding dinner on Tuesday night, it's always a great night. I &lt;i&gt;may&lt;/i&gt; be there... but it's my &amp;amp;&amp;nbsp;Tracey's&amp;nbsp;first wedding anniversary that day ;-)&lt;br /&gt;&lt;br /&gt;ScottWe&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-5055749861784554594?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/5055749861784554594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=5055749861784554594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5055749861784554594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5055749861784554594'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/final-days-before-2010-ausoug.html' title='Final days before the 2010 AUSOUG conference'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-1746351025044261254</id><published>2010-11-05T09:51:00.000+08:00</published><updated>2010-11-05T09:51:17.238+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Steven Feuerstein'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Literals'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Quoting inside literal strings</title><content type='html'>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 ;-)&lt;br /&gt;&lt;br /&gt;What I found funny, was the post was about exactly what Steven Feuerstein implemented for yesterdays (4/11/2010) &lt;a href="http://www.plsqlchallenge.com/pls/apex/f?p=QDB_PROD:HOME"&gt;PL/SQL Challenge&lt;/a&gt;&amp;nbsp;- embedding quotes in literals.&lt;br /&gt;&lt;br /&gt;I was reminded of it recently while searching for something - I can't remember what for, but I came across this forum entry: &lt;a href="http://database.itags.org/oracle/81577/"&gt;http://database.itags.org/oracle/81577/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;code&gt;EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT=' || chr(39)||'DD.MM.YYYY'||chr(39);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The single row function &lt;code&gt;CHR()&lt;/code&gt; 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 &amp;amp; chr(13) respectively)&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;code&gt;EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT='''DD.MM.YYYY''';&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Oracle 10g introduced a method often called q-quote notation, further information can be found in the SQL Reference documentation &lt;a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements003.htm#SQLRF00218"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;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 [ ]&lt;br /&gt;&lt;code&gt;q'[ this isn't my string, is it? ]'&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Which would mean our previous example would look like:&lt;br /&gt;&lt;code&gt;EXECUTE IMMEDIATE q'[ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YYYY']';&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;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 - &lt;i&gt;Hello Scott's computer&lt;/i&gt;:&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;select 'Hello Scott''s computer' hello from dual; &lt;br /&gt;&lt;br /&gt;select 'Hello Scott'||chr(39)||'s computer' hello from dual; &lt;br /&gt;&lt;br /&gt;select q'[Hello Scott's computer]' hello from dual;&lt;br /&gt;select q'{Hello Scott's computer}' hello from dual;&lt;br /&gt;select q'&amp;lt;Hello Scott's computer&amp;gt;' hello from dual;&lt;br /&gt;select q'(Hello Scott's computer)' hello from dual;&lt;br /&gt;select q'"Hello Scott's computer"' hello from dual;&lt;br /&gt;select q'sHello Scott's computers' hello from dual;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;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.&lt;br /&gt;&lt;br /&gt;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)&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;with mine as (select q'[Hello Scott's computer]' hello from dual)&lt;/span&gt;&lt;br /&gt;&lt;code&gt;select replace(hello, '''', '"') from mine;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;code&gt;with mine as (select q'[Hello Scott's computer]' hello from dual)&lt;br /&gt;select replace(hello, q'[']', '"') from mine;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;Here is a basic example of how a small bit of dynamic SQL could become much more readable with the q-quote notation:&lt;br /&gt;&lt;pre class="brush:sql; gutter:false;"&gt;declare&lt;br /&gt;  my_string varchar2(100);&lt;br /&gt;begin&lt;br /&gt;  execute immediate q'(select dummy from dual where dummy = 'X')'&lt;br /&gt;  into my_string;&lt;br /&gt;end;&lt;br /&gt;/&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;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.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-1746351025044261254?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/1746351025044261254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=1746351025044261254' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1746351025044261254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/1746351025044261254'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/quoting-inside-literal-strings.html' title='Quoting inside literal strings'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-2511151407282539792</id><published>2010-11-01T09:03:00.001+08:00</published><updated>2010-11-01T09:21:54.015+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUSOUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Conference'/><title type='text'>Attention Students! (AUSOUG plug)</title><content type='html'>Are you a student interested in where the Oracle industry is heading? Are you keen on meeting key figures in the Perth &amp;amp; Australian community? Do you want to be a few steps ahead of your fellow graduates?&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;For $150 tax&amp;nbsp;deductible&amp;nbsp;dollars, you receive membership to the user group AND registration for the two day conference.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you happen to be a member already, it's only $100. Membership is normally $65, and student conference registration is normally $320.&lt;br /&gt;&lt;br /&gt;I'll let the user group&amp;nbsp;&lt;a href="http://www.ausoug.org.au/web_content/brochure.pdf"&gt;brochure&lt;/a&gt;&amp;nbsp;spruik&amp;nbsp;it's benefits, and you can find a link to the conference brochure at the &lt;a href="http://sagecomputing.com.au/ausoug_conference_sage_computing_services.html"&gt;SAGE website&lt;/a&gt;&amp;nbsp;- it's worth it, even just listening to the great presentations to be found in the program.&lt;br /&gt;&lt;br /&gt;If you're doing a degree like Computer Science or Software Engineering, students of &lt;a href="http://www.ecu.edu.au/"&gt;Edith Cowan University&lt;/a&gt;, &lt;a href="http://www.murdoch.edu.au/"&gt;Murdoch University&lt;/a&gt;, &lt;a href="http://www.uwa.edu.au/"&gt;University of WA&lt;/a&gt;, &lt;a href="http://www.central.wa.edu.au/"&gt;Central Institute of Technology (TAFE)&lt;/a&gt;, (and any others beyond the major players) contact &lt;a href="mailto:membership@ausoug.org.au"&gt;membership@ausoug.org.au&lt;/a&gt;&amp;nbsp;for enquires, or contact &lt;a href="mailto:president.wa@ausoug.org.au"&gt;Ailsa&lt;/a&gt;, our WA President.&lt;br /&gt;&lt;br /&gt;ScottWe.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-2511151407282539792?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/2511151407282539792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=2511151407282539792' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2511151407282539792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/2511151407282539792'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/11/attention-students-ausoug-plug.html' title='Attention Students! (AUSOUG plug)'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-5184773793645754386</id><published>2010-10-18T22:25:00.000+08:00</published><updated>2010-10-18T22:25:53.786+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Community'/><category scheme='http://www.blogger.com/atom/ns#' term='Sage'/><title type='text'>SAGE Computing Services welcomes Kylie Payne</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sagecomputing.com.au/mugshot/KyliePayneMugShot.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://sagecomputing.com.au/mugshot/KyliePayneMugShot.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;While I was in wonderful Kong Kong, the mugshot arrived and I now have the content to announce Kylie Payne has arrived on our SAGE team:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sagecomputing.com.au/about_sage_computing_services.html#kylie"&gt;http://sagecomputing.com.au/about_sage_computing_services.html#kylie&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've already had the opportunity to work with Kylie on a few things and I enjoy her great attitude. We have a similar background - working on a few data integration projects; and now we look forward to the growing world of &lt;a href="http://www.oracle.com/technology/apex/index.html"&gt;Oracle Application Express&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To meet Kylie come by our booth at November's &lt;a href="http://sagecomputing.com.au/ausoug_conference_sage_computing_services.html"&gt;AUSOUG conference&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;See you there!&lt;br /&gt;&lt;br /&gt;ScottWe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-5184773793645754386?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/5184773793645754386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=5184773793645754386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5184773793645754386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/5184773793645754386'/><link rel='alternate' type='text/html' href='http://www.grassroots-oracle.com/2010/10/sage-computing-services-welcomes-kylie.html' title='SAGE Computing Services welcomes Kylie Payne'/><author><name>Scott Wesley</name><uri>https://profiles.google.com/116811643017542807963</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-xRlW48DZuQU/AAAAAAAAAAI/AAAAAAAAAAA/xQ2bcOlD3Y4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4818542164384221282.post-7826988107694882414</id><published>2010-10-08T16:00:00.008+08:00</published><updated>2010-10-19T06:40:10.325+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentation'/><title type='text'>Compute the area of...</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_AK_jxmMErLU/TK2HGqi2vOI/AAAAAAAAANA/zC3LFKJgGyo/s1600/2010-09-27+12.29.10.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_AK_jxmMErLU/TK2HGqi2vOI/AAAAAAAAANA/zC3LFKJgGyo/s320/2010-09-27+12.29.10.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Riddle me this&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Somewhere in the world there must be an exam or test that asks the question to compute the area of a given shape using PL/SQL. I know this because occasionally I look at the &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt; for my blog and see some pretty crazy google searches that arrive at my page because of my chosen blog name.&lt;br /&gt;&lt;br /&gt;In just a few hours I take off for Hong Kong to take the kids to Disneyland and visit the city for a few days. I'm happy,&amp;nbsp;so&amp;nbsp;(while I don't condone the use of the &lt;a href="http://www.news.com.au/technology/impatient-kids-escape-complex-longleat-hedge-maze-in-minutes-with-google-maps/story-e6frfro0-1225935396649"&gt;Internet&lt;/a&gt; to solve all your problems) I thought I'd make a few other people happy, and make the visit to my site worthwhile :-)&lt;br /&gt;&lt;br /&gt;I've used formulas according to &lt;a href="http://www.mathsisfun.com/area-calculation-tool.html"&gt;Maths is Fun&lt;/a&gt;, and also demonstrated a few other SQL rounding functions you can find well &lt;a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions001.htm#sthref912"&gt;documented here&lt;/a&gt;. That's right kids, documentation is your &lt;i&gt;friend&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:sql"&gt;declare&lt;br /&gt;  lc_pi constant number := 3.141592;&lt;br /&gt;  &lt;br /&gt;  -- triangle&lt;br /&gt;  ln_t_base    number default 2;&lt;br /&gt;  ln_t_height  number default 4;&lt;br /&gt;  &lt;br /&gt;  -- square&lt;br /&gt;  ln_s_length  number default 5;&lt;br /&gt;  &lt;br /&gt;  -- circle&lt;br /&gt;  ln_c_radius  number default 200;&lt;br /&gt;  &lt;br /&gt;  -- ellipse&lt;br /&gt;  ln_e_width   number default 3;&lt;br /&gt;  ln_e_height  number default 2;&lt;br /&gt;  &lt;br /&gt;  -- trapezoid / trapezium&lt;br /&gt;  ln_z_a       number default 2;&lt;br /&gt;  ln_z_b       number default 5;&lt;br /&gt;  ln_z_height  number default 3;&lt;br /&gt;  &lt;br /&gt;  -- sector&lt;br /&gt;  ln_r_radius  number default 4;&lt;br /&gt;  ln_r_degrees number default 45;&lt;br /&gt;  &lt;br /&gt;  ln_area  number;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;  -- triangle&lt;br /&gt;  ln_area := 0.5 * ln_t_base * ln_t_height;&lt;br /&gt;  dbms_output.put_line('Triangle: '||ln_area);&lt;br /&gt;&lt;br /&gt;  -- square&lt;br /&gt;  ln_area := POWER(ln_s_length, 2);&lt;br /&gt;  dbms_output.put_line('Square: '||ln_area);&lt;br /&gt;&lt;br /&gt;  -- circle&lt;br /&gt;  ln_area :=&amp;nbsp;lc_pi * POWER(ln_c_radius, 2);&lt;/pre&gt;&lt;pre class="brush:sql"&gt;  dbms_output.put_line('Circle: '||ROUND(ln_area, -2));&lt;br /&gt;&lt;br /&gt;  -- ellipse&lt;br /&gt;  ln_area := lc_pi * ln_e_width * ln_e_height;&lt;br /&gt;  dbms_output.put_line('Ellipse: '||FLOOR(ln_area));&lt;br /&gt;&lt;br /&gt;  -- trapezium&lt;br /&gt;  ln_area := 0.5 * (ln_z_a + ln_z_b) * ln_z_height;&lt;br /&gt;  dbms_output.put_line('Trapezoid: '||CEIL(ln_area));&lt;br /&gt;  &lt;br /&gt;  -- sector&lt;br /&gt;  ln_area := 1/2 * ln_r_radius**2 * ln_r_degrees / 180 /&amp;nbsp;lc_pi;&lt;/pre&gt;&lt;pre class="brush:sql"&gt;  dbms_output.put_line('Sector: '||ROUND(ln_area, 5));&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;end simple_calcs;&lt;br /&gt;/  &lt;br /&gt;&lt;br /&gt;Triangle: 4&lt;br /&gt;Square: 25&lt;br /&gt;Circle: 125700&lt;br /&gt;Ellipse: 18&lt;br /&gt;Trapezoid: 11&lt;br /&gt;Sector: 6.28319&lt;br /&gt;&lt;br /&gt;PL/SQL procedure successfully completed.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;See you on the other side of Hong Kong!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4818542164384221282-7826988107694882414?l=www.grassroots-oracle.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.grassroots-oracle.com/feeds/7826988107694882414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4818542164384221282&amp;postID=7826988107694882414' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/default/7826988107694882414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4818542164384221282/posts/de
