Wednesday 22 January 2014

OTN says I'm an APEX guru :-)

Just before the new year I became a 'guru' - at least as per the measuring stick over at the OTN APEX forum.

I tried to find my tweet when I reached the 'Expert' status, just to see how long it's been - but I couldn't find it - maybe too small a speck in the big data that is twitter.

However, milage varies when it comes to forum usage and I must be humble.
There are true gurus out there that do not use the forums, and there are some that do.

As I scroll through the (9 pages!) of documented OTN gurus to find myself, I encounter some true APEX experts such as

  • jQuery expert Jari Laine (17k+) - one of the best APEX blogs around (also using APEX, no less) -
  • Ever-present fac586 (13k+) - apparenlty people also know him as Paul MacMillan, I believe the handle some form of reference to the band "New Order". I named my computer Floyd.
  • TexasApexDeveloper Tony Miller (6k) - who has one of the best  LinkedIn profile photos I've ever seen.
  • ACE Directors Denes Kubicek & Roel Hartman (5k+) - the former has an extensive sample application, the latter has blogged some interesting posts integrating APEX with all sorts of valuable stuff - recently mobile related.
On a side note, it's interesting how different forums attempt measure people and the value of their responses - apparently stackoverflow also has dejectors regarding it's system.

For those who are not regulars on the forum, I do recommend it. Either by reading and/or participating, you will learn tricks regarding SQL, PL/SQL, jQuery, CSS, dynamic actions, plug-ins, version differences and general coding techniques.

It's also just to see what people are talking about - you might just skim through the headers and open a topic that relates to something you've just been working on.

I truly do enjoy helping others, which is probably why I get a kick out of training. And while I feel I'm learning from these forums - I'm also glad I'm contributing to the greater community in helping people build better (APEX) applications.

nanos gigantum humeris insidentes

Wednesday 15 January 2014

Public speaking tips by Tim Hall

If somehow you haven't seen them, go check out Tim Hall's recent series on public speaking tips.

I think he's finally finished, and I've been able to nod my head in agreement with many things he's said. I also learned a few things, for instance when reading thoughts on international speaking - something I haven't done yet (but look forward to).

Even if you never plan on speaking at a conference or anything remotely similar - it's worth a read. And it certainly isn't restricted to Oracle topics.

Definitely a good primer on those considering it.

Monday 13 January 2014

New OTN forum features

It seems more new features are coming to the Oracle forums

Further discussion regarding the syntax highlighter here

As syntax highlighting is a fundamental part of forums, the recent upgrade took it in the wrong direction and they are looking to rectify it - but engaging users on it's specifications.

Feel free to contribute to the discussions, it will make the world a better place :-)

Friday 10 January 2014

2013 Blog Review

Just like every other tom, dick & harry on the internet, I thought I'd look back at the year that was.
Keep an eye out for interesting tangential and useful links.

A vague attempt at humour

Readership continues to grow. Rapidly. From my first full year (2010) with 5k visits, I'm now at 50k visits & 69k page views for 2013, averaging 70 posts per year - cool stuff!

I've been impressed with the growth of referals from google/yahoo/bing searches, and the top pages reflect that in regard to the year published - four from previous years.
Either people are searching for these topics (as search terms suggest), and/or people are bookmarking/remembering my blog as a place to visit - so thank you.

On blogging

Other things come above raw numbers, however, and what I find enjoyable about my job is learning. Learning things well comes with trying to describe it to others. 

That being said, I think I've got the knack of blogging regularly. This year I tried to output one technical entry per week, usually on a Wednesday, but it always depends on the post. I found a oraclenerd's 2009 review, and he had an era where he was posting something every day or so. I'm happy with one a week, with maybe the odd non-technical thrown in.

As many bloggers do, I have plenty of ideas in an e-mail folder - and that thing about learning? I find converting snippets of code & thought into blog posts a good source of reference and when using a tool like APEX you need your references only a click or two away.

I think I'll be further updating my blog reference map - I'm starting to use that frequently now, along with my recently sorted APEX bookmarks that includes documentation, how-tos and sample apps.


I've switched to google+ commenting, and while I like the integration - I'm missing people's comments, not seeing accurate comment counts in the blog homepage. Searching in chrome hiccups when it detects the site you want to search on - did the same thing as the search widget - no search results.

I'm considering moving to an APEX based blogging platform - but it might tempt me to import my back catalogue using XML from Google Takeout. Wouldn't that be fun?

So now onto the pages and behaviours that make this journey interesting.

Top visited pages

Note which year some of these were published - only two-ish from 2013.
  1. Upgrading to apex 4.2 in three steps (2012) -- done on my laptop, basics only
  2. CSS pulldown menu (May 2013) -- common request, neat solution
  3. Form report tutorial (2011) -- what I mostly aim for in this blog
  4. Modify login page (2011) -- includes link to modifying workspace page
  5. A common oracle error (2012) - an experiment based on some search results. Hypothesis verified.
  6. Tree region use case (Feb 2013) -- honourable mentioned because of when published

Top Referrers

Thank you for those linking to my pages, talking about them, reading them, searching & opening them. I hope you find things as useful as I do. There are also some predictable behavioural differences compared to 2012.
  1. ODTUG - Not surprising since moving from
       #63 - down 100%
  2. Twitter - I post all posts here, given recent social media trends, and #oraclapex, I'd expect some throughput
  3. - should bloggers be concerned? it seems to attribute authors and encourage site visits. WOT doesn't say anything nasty.
  4. - from nothing to something? I was added in 2009, but only 1 visit recorded from 2012?
  5. - I've referred to my posts a few times when answering questions
  6. Feedly - of course... long live google reader!
  7. Feedburner - must relate to greader? down 61%
I found apex blogger love at a number of places. A humbling pleasure it is to be on people's blogroll.
  1. #10 - on all things extending apex (only a comment and backlink?)
  2. #12 - ACEriffic all-sorts (a mention... in a massive collection of 12c articles)
  3. #13 - The anti-kyte (blogroll)
  4. #14 (a mention regarding coalesce)
  5. #20 (a mention about a post on trees)
  6. #23 - an APEX jQuery guru I may collaborate with this year (blogroll)
  7. #49 - a fellow Aussie (mention)
  8. #68 - many woven interactions with this fellow Perth blogger, who unknowingly seeded my drive to blog.
  9. #81 - good internal APEX resource (a few mentions, comments)

My top 10

I perused the 2013 archive and decided on favourite posts of my own - either those I visit regularly as a reference, or those that have helped my journey as a software developer.
  1. Learning APEX - I'd recommend these particular books depending on where you are on the spectrum.
  2. Customising workspace login - I do this for training, differentiating environments or just being a control freak.
  3. Starting jQuery - I started to do stuff with jQuery, beginning with client side features I remembered doing in Oracle Forms. Then I moved to tarting up reports.
  4. Customising plug-ins - it's easy to tinker & learn with other people's plugins. I've played a lot with Enkitek's navbar.
  5. Lists shared component - I've really appreciated the simbiosis between lists & templates. You can APEX-ify just about anything you see on the web, typically with a List template.
  6. Performance - I've made a number of discoveries this year regarding performance. A few of them are in my draft folder already.  
  7. Published! - I'm a published author, of sorts - a screencast/video series on Oracle APEX techniques. Not a bad first effort, I think.
  8. 12c - whether c is for cloud or consolidation - it sounds like fun - I want in.
  9. Off topic fav - Tim Minchin is an entertainer + educator - an edutainer, if you will. I plan to share more off-topic randomness this year, I hope you don't mind. Twitterers get it already, google+ posts are mostly science/tech.
  10. Consuming plug-ins - having trouble implementing someone's plug-in? Try this sample application with accompanying instructions.

A fun 'top 5' - cities

Just for giggles.

  1. Bangalore
  2. London
  3. Perth -- my home city
  4. Chennai
  5. Moscow
  6. ...
  7. #7 NY (top US city)


At the start of 2013 I made promises regarding posts on mobile, RW, Ubuntu and what search terms showed me.
  • I haven't explored the mobile theme as much as I'd hoped, but I've been involved in a great tablet project. 
  • RWD pains me and I'm still getting the hang of manipulating APEX's templates. I wonder how much this will change in APEX5.
  • Ubuntu's been flowing like pitch (again), but I have been learning plenty of jQuery. I'm really loving it and plan to continue sharing things I've learnt - one in the form of a prezi.
  • 4.2.y did not deliver a third user interface - but I imagine they held back to make sure it's delivered even better in APEX5.
  • Search terms... meh, I just went where things took me
I did finish the year creating a few simple item plug-ins. That's a garden being cultivated, I'm not sure what it will bring but I'm keen to explore more. The penny has dropped and the gates are open!

As hinted, in 2014 I predict heaps of posts about APEX5, looking at IDE, modals, interactive reports, templates, tablets, editing layouts & hopefully not lacking improvements in release management & page/region caching control. No doubt APEX will deliver other surprises to find along the way.

This year I also hope to implement a PhoneGap delivery; learn more about jQuery; and deliver some more public facing APEX applications.  It would be nice to develop on 12c, but I'm not holding my breath.

Here's to averaging a post per week!

ps - I'm also increasingly curious about Big Data...

Friday 3 January 2014

PhoneGap 3 ebook winners

Late last year Packt Publishing offered 3 e-books to help promote Giorgio's revised edition of PhoneGap 3. People who commented or tweeted the blog post received entries to win.

While I prepared some SQL to randomise selection of winners, I didn't get a chance to arrange the job to be executed at midnight on new year's eve.

I still wanted to schedule a job as not to be biased with results, so I picked another abitruary date instead, one that might excite the numerologists out there - Jan 2nd, 2014 at 3:45 - yep, there's a sequence in there.

Here is the code the scheduled the job, which created a table with entries in random order.

  job_name => 'SW_PACKT_WINNERS'
  ,job_type => 'PLSQL_BLOCK'
  ,start_date => to_date('201301020345pm','yyyymmddhhmipm')
  ,enabled => TRUE
  ,job_action => q'{
execute immediate q'[
  create table  packt_contest_winners as
  with data as (select name, case when linked='Y' then 3
        when tweet='Y' and post='Y' then 2
        when tweet='Y' then 1
        when post = 'Y' then 1
        else 0 end entry_qty
        ,null rn2
       from packt_contest)
  select xz.rn entry, entry_qty, ,dbms_random.value() rnd
    ,case xz.rn when 1 then 'Posted comment'
     when 2 then 'Tweeted post'
     when 3 then 'Included backlink' end reason
    ,case when row_number () over (order by dbms_random.value())  <= 3 then 'winner!' end prize
    ,sysdate ts
    (select  rownum rn
    from dual
    connect by level <= 50) xz
    (select rownum rn, name, entry_qty from data) d
    on xz.rn <= d.entry_qty
  order by rnd
]'; end; }');

You can see the results on this page

The first three won - so congratulations to

I have contact information for all three winners, so I'll hunt you down when I have further information from Packt.

I've been busy building an APEX website over the holiday season so I haven't had a chance to try out the examples from the book yet - but I really look forward to it!
My first read showed it was really promising for Oracle Developers to really take advantage of PhoneGap as a tool to make our mobile applications even better.
As I mentioned, I'll write a fuller review once I've had a play - and I'll see how people's comments regarding the chapters of interest come through.

Here's to a productive 2014.