Thursday thought – QR codes

Have you ever played with QR codes?

We used them at our SAGE booth at the Perth conference to link to our conference beta mobile application. I stumbled across one idea recently, possibly via Martin - my electronic signature

My nail in the head? #matrixreference
This gave me a sobering thought - it's another brick in the wall towards a world where we communicate with each other with a twitter-esque environment but with a tightly coupling of electronics & biology, and this is the stamp on our painting, so to speak, detailing whatever information will be required to identify us.

Too much?

Syntax differences between JavaScript & PL/SQL

I'm sure anyone who's worked with multiple programming languages - particularly at the same time - can attest to the occasional slip-up.

It's just unfortunate that they are just so hard to debug. Take these two statements
console.log('id:' || this.attr('id'));
console.log('id:' + this.attr('id'));
Both are valid JavaScript statements & both work - in that the execute without error, but one returns the ID attribute value as debug output.

Thanks to Tom in the forums for helping me see what I missed
https://forums.oracle.com/forums/message.jspa?messageID=10654246#10654246
For those with a strong, habitual PL/SQL background such as (more...)

Dynamic Action hidden False actions

I thought I'd share what's quite literally a hidden problem I experienced in 4.1.1 involving dynamic actions.

The project used hundreds of dynamic actions, and often I would copy them between pages.

Something to watch out for, however, is the cleaning up APEX does with dynamic actions in it's own builder. I've notice in the past the meta-data I saw in dictionary views contained stale information, hidden after no longer being needed when adjusting some other attribute - like condition types.

By looking at the stock debug, I noticed that a good portion of my page render time (more...)

Learning Oracle APEX? Try these books

If you're a reasonably confident Oracle developer and want to learn Oracle Application Express via books - I would recommend the following:

Start:

Pro APEX 4 - I read the original and I trust the updated would be even better. Start strong and solid.

Detail:

Expert APEX - compendium of great topics written by multiple authors, for a good cause.

Refine:

APEX Best Practices - Brilliant book to help make sure you properly apply what you've learnt above.

Future:

APEX Mobile - to be released this year, if you want to keep working in Oracle web development this decade, you'll (more...)

What if Google went bust?

Ever consider that? What would you lose?

During life we put a spectrum of trust in different areas, depending on our own risk assessment. We originally entrusted our tribe members to help protect the community. Now, we might give a dollar to a little boy to fetch us something, and we might not get it back. Who cares? it's a buck.
We trust out mortgage to the banks because they have a proven history of money management.

So what about your data? I trust Google with a lot of my content. In fact, not really content, but information. Dates, numbers, (more...)

Which pages are locked in APEX?

Would you some SQL to tell you which pages are locked?

As far as I could tell, there is no data dictionary view that this information.

So I found this using the all_tab_columns view
SELECT 
id
,flow_id
,object_id
,locked_by
,locked_on
,lock_comment
,security_group_id
FROM apex_040200.wwv_flow_lock_page
WHERE 1=1
--AND flow_id = :APP_ID
--AND object_id = :APP_PAGE_ID
/
I used it to add a region (bound to a build option) that displayed a notification in the sidebar to other developers that the page was locked and under construction/change/development.

Scott.

ps - can you find the joke on this post?

Thursday Thought: Helicopters, batteries & squid

First of all, this photograph was difficult to take.

Second of all, this is one of the most fun inventions ever.

And I have a greater respect for helicopter pilots. I found an even better backdrop, but this little thing is highly sensitive to wind.

The question I'd like to ask is - when are scientists going to make even moderate gains in battery efficiency? This thing last less than 20 minutes per USB charge.

Update 2013-1-24
I have some data points - only 3, but better than a guess.
MI:SS

08:44 - in garage, wind affected,  charged previous day, (more...)

Using SQL to view APEX session state

There are times (mobile development, multi-browser development, most Fridays) when checking out what's in session state isn't as easy as clicking a button in the developer toolbar.

One option is to utilise provided data dictionary views and a supplied API.
select item_name, component_comment
,apex_util.get_session_state(item_name) session_value
from apex_application_page_items
where application_id = :APP_ID
and page_id = :APP_PAGE_ID
Update - this query locates values for Page Items, you can also use apex_application_items to view Application Item values. I used both in my debug page (thanks, Marko)

You could include this as a link to a popup from the navigation bar, or a (more...)