Feed aggregator

RDBMS events

Fairlie Rego - Thu, 2010-07-29 23:36
RDBMS events are often used to do additional tracing and for debug purposes.
Most of them are listed in $ORACLE_HOME/rdbms/mesg/oraus.msg
One such event I use quite often to determine which locks/enqueues a session is requesting is the following.
For example the below trace indicates that an innocuous looking query on v$flash_recovery_area_usage takes a controlfile lock in mode 4 which might not be the best thing to happen on a high throughput multi node RAC environment with a huge number of flashback logs.
SQL> alter session set events '10704 trace name context forever, level 10';

Session altered.

SQL> oradebug setmypid
Statement processed.

SQL> oradebug
tracefile_name /u01/app/oracle/diag/rdbms/TEST/TEST1/trace/TEST1_ora_600.trc
SQL> select * from v$flash_recovery_area_usage;


*** 2010-07-30 10:07:33.978
ksqgtl *** CF-00000000-00000000 mode=4 flags=0x1a011 timeout=900 ***
ksqgtl: no transaction
ksqgtl: use existing ksusetxn DID
ksqgtl:
ksqlkdid: 0001-0036-00000169

*** 2010-07-30 10:07:33.978
*** ksudidTrace: ksqgtl
ksusesdi: 0001-0036-00000168
ksusetxn: 0001-0036-00000169

*** 2010-07-30 10:07:33.978
ksqcmi: CF,0,0 mode=4 timeout=900
ksqcmi: returns 0
ksqgtl: RETURNS 0

*** 2010-07-30 10:07:33.978
ksqgtl *** CF-00000000-00000004 mode=4 flags=0x10010 timeout=0 ***
ksqgtl: no transaction
ksqgtl: use existing ksusetxn DID
ksqgtl:
ksqlkdid: 0001-0036-00000169



Another event I have used in the past is related to parallel query to determine why PQ slaves do not get spawned
But to my surprise this event does not work anymore in 11.2

SQL> alter session set events '10392 trace name context forever, level 1';
Session altered.

SQL> oradebug setmypid
Statement processed.

SQL> oradebug tracefile_name
/u01/app/oracle/diag/rdbms/TEST/TEST1/trace/TEST1_ora_14748.trc

SQL> select /*+ parallel(a,8) */ count(*) from sys.obj$ a;

COUNT(*)
----------
231692

SQL> !cat /u01/app/oracle/diag/rdbms/TEST/TEST1/trace/TEST1_ora_14748.trc

*** 2010-07-30 14:41:02.547
*** SESSION ID:(316.58074) 2010-07-30 14:41:02.547
*** CLIENT ID:() 2010-07-30 14:41:02.547
*** SERVICE NAME:(SYS$USERS) 2010-07-30 14:41:02.547
*** MODULE NAME:(sqlplus@bart.au (TNS V1-V3)) 2010-07-30 14:41:02.547
*** ACTION NAME:() 2010-07-30 14:41:02.547

Processing Oradebug command 'setmypid'

*** 2010-07-30 14:41:02.547
Oradebug command 'setmypid' console output:

*** 2010-07-30 14:41:08.598
Processing Oradebug command 'tracefile_name'

*** 2010-07-30 14:41:08.598
Oradebug command 'tracefile_name' console output:

The trace does not contain any information

Feedback from Oracle was that “not many people use the px numeric ones and so they removed the code.”…
You can still use the _px_trace underscore parameter to determine why queries are not running in parallel

Oracle scene editor

Neil Jarvis - Mon, 2010-07-26 05:46
Just to show that I do keep this blog up to date I thought I'd announce that the voting for the next Oracle Scene editor will shortly be opening for all UKOUG members. I am standing for this position being the technical editor for the last 3 yrs

CP7 for 10.1.2.3 released

Michael Armstrong-Smith - Mon, 2010-07-26 00:34
Just wanted to let you know that on June 4, 2010, Oracle has released CP7 for 10.1.2.3. You will find it on MetaLink as patch number 9112482. When compared to CP6, 9 bugs have been fixed.

So far this cumulative patch has been released for the following platforms:
  • HP-UX PA-RISC (64-bit)
  • Microsoft Windows 32-bit
  • Linux x86 (works for both 32 bit and 64 bit)
  • Oracle Solaris on SPARC (64-bit)
If you are upgrading to CP6 from any patch level prior to CP4 then JDBC patch patch p4398431_10105_GENERIC.zip for bug 4398431(release 10.1.0.5) needs to be installed before you apply CP5.

This patch needs to be applied to all Oracle Homes, i.e. Infrastructure home as well as all related midtier homes.

Bug 4398431 - HANG WHEN RETRIEVING A CONNECTION FROM THE IMPLICIT CONNECTION CACHE

The following posting has been updated:

CP6 for 10.1.2.3 released

Michael Armstrong-Smith - Mon, 2010-07-26 00:31
Just wanted to let you know that on November 18, 2009, Oracle has released CP6 for 10.1.2.3. You will find it on MetaLink as patch number 8746296:. When compared to CP5, 19 enhancements or bugs have been fixed.

So far this cumulative patch has been released for the following platforms:
  • HP-UX Itanium
  • HP-UX PA-RISC (64-bit)
  • IBM AIX on POWER Systems (64-bit)
  • Microsoft Windows 32-bit
  • Linux x86 (works for both 32 bit and 64 bit)
  • Sun Solaris SPARC (32-bit)
If you are upgrading to CP6 from any patch level prior to CP4 then JDBC patch patch p4398431_10105_GENERIC.zip for bug 4398431(release 10.1.0.5) needs to be installed before you apply CP5.

This patch needs to be applied to all Oracle Homes, i.e. Infrastructure home as well as all related midtier homes.

Bug 4398431 - HANG WHEN RETRIEVING A CONNECTION FROM THE IMPLICIT CONNECTION CACHE

The following posting has been updated:

Report filtering with APEX 4.0, dynamic action style

Anthony Rayner - Wed, 2010-07-21 02:45
I've just got back from the APEX SIG event in Birmingham. As ever, the event was well organised and attended and it's always good to catch up with the extremely knowledgable and enthusiastic UK APEX community. If you haven't yet attended one of these events then I'd definitely recommend them, you will undoubtedly learn something new, make some great contacts and enjoy the day! The next event is planned for 3rd November at the Oracle City Office in London, so if you're interested in coming along, please see here.

Down to business. During the event I was asked whether dynamic actions in APEX 4.0 can handle Ajax based filtering of report data. The answer is yes, so thought I'd make the most of the train journey home to blog about how. The approach is slightly different depending on whether you're dealing with classic or interactive report regions. In this post, I will detail the steps to achieve this with Interactive Report Regions (IRRs), fully declaratively without coding 1 line of JavaScript.


You can also see this working in my sample application here. This example shows a report on the EMP table, with quick filters available to filter by department or job via Ajax, partial page refresh.

The following steps assume that you have the EMP and DEPT tables in your current schema.


With IRRs, the basic approach involves the following 4 steps:
  • Create a page with a report region, ensuring the page item filters are referenced in the SQL.
  • Create the page items for filtering.
  • Create the dynamic action to fire whenever any of the page item filters change value, to refresh the IRR.
  • Define the IRR to save these items values in session state after it is refreshed.

Now let's walk through these steps in detail.
  • Create the page
    1. Within an application, click the 'Create Page' button.
    2. Select 'Report', click 'Next'.
    3. Select 'Interactive Report', click 'Next'.
    4. For 'Page Attributes', enter 'Employee Report' for 'Page Name' and 'Region Name'. Importantly, you must also ensure that the 'Region Template' is set to some template that contains the #REGION_STATIC_ID# substitution string, otherwise this example will not work (dynamic actions need this ID to be able to perform the refresh). Most of the new themes now default to an appropriate template when creating new IRRs (as defined by the new Theme 'Region Default' for 'Interactive Reports'). However if you're using an old theme then you may need to select an appropriate template (try 'Region without Buttons and Title'). Also make a note of the page number (I'll assume page 1 for these steps) and click 'Next'.
    5. For 'Tab Attributes', leave as default and click 'Next'.
    6. For 'Enter a SQL SELECT Statement', enter the following query (referencing the page number noted in step 4 when defining the item names) and click 'Next':


      select e.empno,
      e.ename,
      d.dname,
      e.job,
      e.hiredate,
      e.sal,
      e.comm
      from emp e,
      dept d
      where e.deptno = d.deptno
      and e.deptno = nvl(:P1_DEPTNO, e.deptno)
      and e.job = nvl(:P1_JOB, e.job)
    7. Click 'Finish'.
    8. For purposes of this example, we're going to switch off the standard 'Search' bar to keep things clean. You can do this by right clicking on the 'Employee Report' in tree view and selecting 'Edit Report Attributes'. Then in the 'Search Bar' region, select 'No' for 'Include Search Bar' and 'Apply Changes'.
    If you now click 'Run Page', you'll see the basic report page as been created. We now need to add the page item filters.
  • Create the page items
    1. Go to edit the page. We'll create these items in a separate 'Quick Filters' region above the IRR. In 'Tree View', right click on the region position where the IRR has been created (by default this is 'Body (3)' and select 'Create'.
    2. Select 'HTML' and click 'Next'.
    3. Select 'HTML' and click 'Next'.
    4. For 'Title', specify 'Quick Filters', for 'Region Template' select 'Report Filter - Single Row' and amend the 'Sequence' to be say 5, so that this appears before the IRR on the page, click 'Next'.
    5. For 'Region Source', leave blank and click 'Create Region'. This has created a blank region, that will be the container for our filter items. We'll create 2 filters, to filter the employee report by the job and department columns respectively.
    6. In 'Tree View', right click on the 'Quick Filters' region and select 'Create Page Item'.
    7. Select 'Select List', click 'Next'.
    8. For 'Item Name', enter 'P1_DEPTNO', click 'Next'.
    9. For 'Item Attributes', accept defaults and click 'Next'.
    10. For 'Settings', accept defaults and click 'Next'.
    11. Ensure 'Display Null Value' is 'Yes'.
    12. For 'Null Display Value' enter '- Show All -'.
    13. Leave 'Null Return Value' leave as blank, this will be treated as a true null by APEX.
    14. For 'List of Values Query', enter the following query and click 'Next':


      select dname d,
      deptno r
      from dept
      order by 1
    15. For 'Source' accept defaults and click 'Create Item'.
    16. Now for the job select list. In 'Tree View', right click on the 'Quick Filters' region and select 'Create Page Item'.
    17. Select 'Select List', click 'Next'.
    18. For 'Item Name', enter 'P1_JOB', click 'Next'.
    19. For 'Item Attributes', accept defaults except for the 'Begin on New Line' attribute. We want to set this to 'No', so that the filters appear on the same line in the 'Quick Filters' region. Click 'Next'.
    20. For 'Settings', accept defaults and click 'Next'.
    21. Ensure 'Display Null Value' is 'Yes'.
    22. For 'Null Display Value' enter '- Show All -'.
    23. Leave 'Null Return Value' leave as blank, this will be treated as a true null by APEX.
    24. For 'List of Values Query', enter the following query and click 'Next':


      select distinct job d,
      job r
      from emp
      order by 1
    25. For 'Source' accept defaults and click 'Create Item'.
    If you run the page now, you'll see all the basic page components are created, the regions and the items, but selecting different values from the filters has no effect. We now need to bring these to life.
  • Create the dynamic action
    1. Go to edit the page. Right click on the 'Dynamic Actions' tree node and select 'Create'.
    2. Select 'Advanced' for the 'Implementation'. We need 'Advanced' here because 'Standard' only supports the 'Show', 'Hide', 'Disable' and 'Enable' actions.
    3. For 'Name', enter 'QUICK FILTER REFRESH', click 'Next'.
    4. For 'When', leave the event as 'Change' and for 'Item(s)', enter 'P1_DEPTNO,P1_JOB'. Leave 'Condition' as 'No Condition'. These selections define the dynamic action will fire whenever either the department or job select list's value changes. Click 'Next'.
    5. For 'Action', select 'Refresh' under the 'Component' category in the select list. The 'Refresh' action currently supports IRRs, classic reports, all item types with cascading LOV support and may also support item or region plug-ins, depending on whether the plug-in author has coded the plug-in to support this (the plug-in documentation should state if this is supported). Charts in APEX 4.0 are not yet supported.
    6. Ensure the 'Fire on Page Load' checkbox is unchecked, there is no need to refresh the report when the page loads, it's already fresh. Click 'Next'.
    7. On the 'Affected Elements' page, we'll define what will be refreshed. Select 'Region' from the 'Selection Type' select list and 'Employee Report' from the 'Region' select list. Click 'Create'.
    If you now run the page, you'll notice that this still isn't working as expected. Actually, the dynamic action is firing, the report is being refreshed, but it is not being scoped by the filter selection. The problem is the values for the filter page items are not being saved to session state and are therefore not set when the report's SQL is executed. This is easy to fix.
  • Define the IRR to save these items values in session state after it is refreshed
    1. Right click on the 'Employee Report' and select 'Report Attributes'.
    2. Go the 'Advanced' and for 'Page Items to Submit', enter 'P1_DEPTNO,P1_JOB'. Click 'Apply Changes'.


So that's it, run the page and you will now see the filters are fully functional. Select different jobs and departments and see the report refresh, showing employees scoped by your selections. This example could be easily extended to have different item types used as the filters, not just select lists. A common example would be a slider component where you select a value or range of values, upon which the report is refreshed with rows specific to your selection. I will try and add that to my sample application when I can.

For classic reports, this is slightly more complicated than as outlined above, as there is no 'Page Items to Submit' attribute (yet!!), so you need to save the values in session state in a slightly different fashion. I will try and add that too when I can. (Hint: Instead of defining the IRR 'Page Items to Submit' as detailed in the last bullet, use the 'Execute PL/SQL Code' action within the dynamic action, to fire before the 'Refresh' action. Just leave the code as 'null;' and set the 'Page Items to Submit' attribute to your page items. This will work, but unfortunately issues 2 Ajax calls to do so, which is not optimal.)

Also, if you're interested in seeing more examples of refreshing reports with dynamic actions, I have a couple of others in the sample application:
  1. Refresh - Showing an alternative approach for user's to select their 'Saved Reports' in IRRs. Instead of using the default select list in the search region, this has been switched off in favour of a separate report on the left of the page containing the saved reports available to the current user. This report also shows a tooltip for the report description (if defined), when hovering over the report name. The dynamic action is used to refresh this saved report list, so if a user saves a new report or deletes a report, the report list is updated. Again this is all via Ajax and does not require any manual JavaScript coding.
  2. Refresh 2 - Showing how report row deletion can be handled via Ajax with dynamic actions. This example does require a couple of places within dynamic actions where a line of JavaScript is required.

To learn more about these examples, please download the application, install in your workspace and have a closer look.
Categories: Development

A first look at OBIEE 11g with Oracle OLAP

Keith Laker - Tue, 2010-07-20 16:53
For those who missed it, the global launch for the 11g release of the Oracle Business Intelligence Enterprise Edition suite (OBIEE) took place in London on July 7th.

And the fantastic news for Oracle OLAP customers is that OBIEE 11g will work out-of-the-box with Oracle OLAP in almost exactly the same way as OBIEE 10g does - with just one additional configuration step required to enable the new OLAP-style front-end functionality.

Of course, there are other features that are relevant such as the WebLogic application server, and the new security model, but these have already been well blogged elsewhere so the focus of this posting will be Oracle OLAP integration.

To illustrate how easy it is, I will use a trusted old friend as a starting point - the 11g Global sample schema. I have installed this in an Oracle 11.2 database instance, created an Oracle OLAP Analytic Workspace, and then refreshed this AW so that the dimensions and cubes are built.

With an AW in place, the next step is to use the OBIEE plug-in for AWM to generate the metadata required for the OBIEE Server. For those who have not used the plug-in before, check out this excellent demonstration of how it works. While this particular version of the plug-in was originally released to work with OBIEE 10g, and presumably an updated version will be released in due course, it can be used in exactly the same way in OBIEE 11g to import metadata into the Administration tool.



And at first glance, aside from a few updated icons, this version of the Administration tool looks very similar, but the biggest change related to the administration of OLAP data sources (relational or MOLAP) is the ability to map hierarchy objects right through into the presentation layer.

Here is the Metadata generated by the plug-in for the Channel Dimension in both the Business Model and Presentation layers


The new 11g OLAP-style front-end functionality is enabled by adding these hierarchies into the Presentation layer too. This can be achieved by a simple click-and-drag for each hierarchy like the following which is again for the Channel Dimension



Hopefully, the next release of the plug-in will handle this additional step automatically (and also provide support for value-based hierarchies which were not supported by the front-end in OBIEE 10g) but in the meantime it really is just a simple click-and-drag for each dimension.

Once all the hierarchies are mapped through into the Presentation Layer, the cube is ready to query. I can log into the OBIEE 11g home page and create a new analysis based upon my Oracle OLAP subject area. The new hierarchies are available for selection when I construct a query




I can then select all of the 'columns' I need for my query and view the results as a pivot table. Here is a really simple example showing Sales by Time. I have also added some calculated measures which have been created inside the AW and derive really useful analytics from the Sales measure. This is a classic reason for using the OLAP Option in the first place - it facilitates the easy creation of calculations that are difficult (or often impossible) to express in SQL. And by having them embedded in the cube, the only thing that the SQL tool (in this case OBIEE) needs to do is select the calculation as a field in a view. How easy is that?!



Once a pivot table with Hierarchy-based columns has been created, this is where the new front-end features really come into play. Some highlights include Calculated Items (derived Dimension members) and a new Selector (which allows dimension selections to be built up as a series of steps based upon add/keep/remove logic):



For those familiar with Discoverer OLAP, or Sales Analyzer, Financial Analyzer and Express Objects/Analyzer, these aren't exactly revolutionary features, but combined with all the other great features of the OBIEE suite, this is now a very compelling platform for your Oracle OLAP data.

Finally, I would guess that there are probably thousands of old Oracle Express/OLAP systems that have been waiting for a BI platform like this. If you work on one, what are you waiting for?

***OBIEE 11g can now be downloaded from OTN***
Categories: BI & Warehousing

RCU:6107 DB Init Param error

Habib Gohar - Tue, 2010-07-20 08:09
While Installing Repository Creation Utility (RCU) Installation the following error occurs: RCU:6107 DB Init Param Error This can be removed simply by the following: 1. Login on your database with system user. 2. Write > show parameters processes (which will show the current value of processes). 3. If its value is less than 500 then write […]

Micropayments opening gate to the fortune at the bottom of the pyramid

Khanderao Kand - Mon, 2010-07-19 16:29
Late C. K. Prahalad wrote a path breaking book showing to the world that there are great opportunities in the emerging as well as poor nations. Those potential markets would need innovation to realize.

When he wrote The Fortune at the Bottom of the Pyramid, he may not have thought about VoiceSMS and voice blogging.


But he does mentioned about the innovation. And such innovation is in action in the form of bubbleMotion http://www.bubblemotion.com/ which has more than 1.2 million paid users who pay 0.65 USD per month for blogging / accessing voice.

Loosely typed interfaces - The Normalizer Pattern and Oracle SOA Suite

Peter O'Brien - Mon, 2010-07-19 15:56
When getting two or more systems working together, the making a connection part is generally the easiest, identity propagation is a bit trickier, but many times, the syntax and semantics of one system is at odds with another one. Over the decades this has been manifest in many ways and thankfully there are tools and techniques to work through them. A collation of such techniques is Enterprise Integration Patterns. The book, along with the associated website, is worthy of a dedicated article or two, and is not the real subject of this article. One message transformation pattern the book describes is the Normalizer Pattern where different formats for essentially the same object are catered for.
An example where this form of message translation becomes necessary is when using a service with a loosely typed interface. This can often happen when an existing system or utility (such as a batch / command processor) gets exposed as a web service. The request / response payload is little more than a collection of key / value pairs. There are a couple of ways to cater for this using Oracle SOA Suite 11g which I will outline in this article. One has full tool support. The other, a solution using XSLT, is not fully supported, but has an advantage in that the XSLT can be used both with the BPEL and Mediator components.

Troublesome Payloads
The challenge is to get something that is strongly typed into something that is loosely typed
Strongly TypedLoosely Typed
<department>
<name>Furniture</name>
<manager>Pam Beech</manager>
<budget>50000</budget>
<spent>20000</spent>
<committed>47000</committed>
</department>

<property>
<key>NAME</key>
<value>Furniture</value>
</property>
<property>
<key>MANAGER</key>
<value>Pam Beech</value>
</property>
<property>
<key>BUDGET</key>
<value>50000</value>
</property>
<property>
<key>SPENT</key>
<value>20000</value>
</property>
<property>
<key>COMMITTED</key>
<value>47000</value>
</property>
Now this is quite a simple example and the real world has a lot more complicated cases out there. Ones that would involve number formatting, character encoding, attribute concatenation, and so on. For the purposes of this exercise however, it is ideal to illustrate the point. All the files in this example are free and available for you to use, modify or incorporate into your own solution as you see fit. The example was produced and tested using Oracle Fusion Middleware 11.1.1.2.0. That is JDeveloper Studio 11.1.1.2.0 and WebLogic Server 11gR1. To reduce the number of files and dependencies involved, the example is a simple service (BPELProcessExample.wsdl) that takes a strongly typed request payload and returns a loosely typed response payload. The SOA composite project contains two BPEL processes that provide slightly different implementations for this same WSDL.

BPEL assign with copy and insertAfter
You can cater for the key / value pair structure by repeatedly appending a new 'property' element and then, using an XPATH predicate to specify which 'property' element is the target, copying the desired values. In the BPEL process this can all be done in a single 'assign' command, using the insertAfter instruction from the Oracle BPEL extension library. The BPEL designer supports this approach, and it is used extensively in production systems around the globe. It can get difficult to maintain and hard to read if the payload is large though. If dealing with a large payload see if you can split the copy / insertAfter instructions into two or more 'assign' commands. Ideally, you would give these 'assign' commands logical names such as 'assign_part_1_admin_details' and 'assign_part_2_finance_details'. What is a large payload in this case then? Well, I would say that if you have more than 10 key value pairs you should be seriously thinking about splitting them up and if you have more than 20, you should be definitely splitting them up. Remember, you might be familiar with the structure and understand how it is constructed, but what about the college graduate brought in by the consulting firm in a months time, or even you having to come back to this in 6 months time? Go on, make the maintenance a bit easier for everyone and break that assign behemoth into manageable chunks!

BPEL transform with XSLT
If experienced in dealing with XML documents then this approach will probably be very familiar to you. Extensible Stylesheet Language Transformations is used to convert XML data into some other format, which may also be XML data. In this case the stylesheet explicitly describes the target XML structure, making it somewhat easier to read than the BPEL assign approach described earlier. For example...
<client:property>
<client:key>
<xsl:text disable-output-escaping="no">MANAGER</xsl:text>
</client:key>
<client:value>
<xsl:value-of select="/client:process/client:department/client:manager">
</xsl:value-of>
</client:value>
</client:property>
The 'client' is a namespace prefix for the schema and in this SOA composite example the request and response happen to be defined in the same schema. This is easier to read, even if one is not all that familiar with XSL. For large payloads it is not necessary to split up the transformation as one might consider for the BPEL assign, but it could be done. The single transformation file could have a whole set of templates. However, the XSL Mapper does not support this approach yet, so if using this approach you will have to work in the Source editor, not the Design mode. Since this is using XSLT, the same XSL file can be used by the Mediator too, so it is not only a BPEL solution.

Which one is right for me?
As one can see from the diagrams there is not much difference in the BPEL designer between the two examples and the decision on which technique to use would be based on factors which are different from company to company, but clearly use of the XSL mapper is an important factor.
The complete example application with SOA composite is available at http://sites.google.com/site/soastation/soastation_looselytyped_normalizer.zip

JDeveloper Overview and (book) Review

Eduardo Rodrigues - Sat, 2010-07-17 16:55
Dear visitors, I will pretend I forgot that I'm about a year without posting anything and I will go straight to the subject that I owe to you: The review of the book "Processing XML documents with...

This is a summary only. Please, visit the blog for full content and more.

JDeveloper Overview and (book) Review

Java 2 Go! - Sat, 2010-07-17 16:55
Dear visitors, I will pretend I forgot that I'm about a year without posting anything and I will go straight to the subject that I owe to you: The review of the book "Processing XML documents with...

This is a summary only. Please, visit the blog for full content and more.
Categories: Development

unplumb (or unbinding) NICs on Linux

Dan Norris - Fri, 2010-07-16 23:30

I’ve been quiet for a long time now, but this entry hopefully will shake the cobwebs off and get me back into the habit.

I recently had a need to “unplumb” (from Solaris fame) or make interfaces on Linux “disappear” from the ifconfig list. It could be that I don’t know how to completely deconfigure an interface, but I didn’t find any methods to unassign an IP address from a Linux Ethernet interface after it was assigned. You can take interfaces down (ifconfig eth3 down) and reconfigure them to assign different addresses, but not remove the address completely.

After many searches and finding nothing that matched my need, I turned to my fellow Oakies (thanks, Mark!) who turned up this post from 2 years ago that hinted at a solution. It is driver-specific which is not ideal, but that makes sense given what I’m trying to do.

Here’s the generic version of the solution:

echo "<interface_name>" > /sys/bus/pci/drivers/<driver_name>/unbind

Determining the driver_name is pretty simple: check the /etc/modprobe.conf file (on OEL/RHEL 5.x). In that file, you’ll find things like this:

...
alias eth0 igb
alias eth1 igb
alias eth2 igb
alias eth3 igb
...

These lines indicate that the Ethernet driver used on this system by eth[0-3] is the igb driver. Now that you know the driver name, the tricky part is figuring out what the driver wants you to use as the interface name. I’ll give a few examples (and I haven’t figured out the scientific way to determine what the driver expects short of reading source code).

For the bnx2 driver, you can use the relatively simple ethernet interface name, like this:

echo "eth2" > /sys/bus/pci/drivers/bnx2/unbind

For my test system, the igb driver doesn’t use the “simple” Ethernet interface name like the bnx2 driver does. Instead, when trying that, it gives an error that the interface doesn’t exist. Time to dig in a little deeper.

On this system, the igb directory looks like this:

# ls -l /sys/bus/pci/drivers/igb/


So, knowing that I have 4 interfaces on the system, I made the correlation to the 4 addresses that appear as symlinks in the driver’s directory and expect that they indicate the interface name. Checking a couple of those (each symlink references a directory), I see this:

# ls -Ll /sys/bus/pci/drivers/igb/0000:01:00.0


You can see the directory with name “net:<interface_name>” as a subdirectory in each listing above. This tells us which interface from /sys/bus/pci/drivers/igb/0000* corresponds with which of the Linux Ethernet interface names. From this, we can see that eth2 is really 0000:07:00.0. So, in order to unbind this interface such that it no longer appears in the “ifconfig -a” output, we run this command:

echo "0000:07:00.0" > /sys/bus/pci/drivers/igb/unbind

and then it no longer appears in the “ifconfig -a” output. If you wanted to make this permanent, you should comment out the corresponding line from /etc/modprobe.conf so that it won’t be configured at boot time. Using the echo command above takes effect immediately, but won’t persist through a reboot (after reboot, the interface will return) unless the /etc/modprobe.conf changes are made.

Now, hopefully the next blog post after this one won’t require 14 more months of preparation!

APEX 4.0 Known Issues

David Peake - Fri, 2010-07-16 12:06
Since releasing APEX 4.0 we have identified a number of issues.
Many are directly related to upgrading applications from previous releases.
The known issues are outlined on OTN here: http://www.oracle.com/technology/products/database/application_express/html/4.0_known_issues.html
As with any upgrade we strongly recommend you test your applications in a development environment before applying to production.

Our development team is working very hard on these issues.
Many issues have workarounds provided.
Where appropriate we are also releasing patch set exceptions which can be downloaded from Oracle Support and installed in your environment.

We intend to roll all of these fixes into an APEX 4.0.1 release.
Before you ask - I can't provide dates for APEX 4.0.1 release!

Regards,
David

APEX4 Password Strength Meter Item Plugin

Oracle Apex Notebook - Fri, 2010-07-16 10:26
I was doing some tests with the new plugin functionality coming with APEX4 and the result is this plugin I'm sharing with you today.I based the plugin on the "Ajax Password Strength Meter Script" that you can find following this link: http://simplythebest.net/scripts/ajax/ajax_password_strength.htmlIt's a small plugin using jQuery that provides an easy interactive way to show the strength of a
Categories: Development

Physician, Heal Thyself

Mary Ann Davidson - Thu, 2010-07-15 04:04

"The fault, dear Brutus, is not in our stars, But in ourselves, that we are underlings." Julius Caesar (1,ii140-141)

There is in some cases a terrible - and in some cases terrifying - disconnect between technology and our larger societal ability to understand it, in particular, to understand the risks it poses and the unintended consequences of those risks. The limitations of technology are not necessarily what we think they are, either. That is, we wouldn't solve all our technology problems if only we had - more technology. No, many of the limitations are ones we create ourselves, because of our inability to understand systemic risks, and by the way we think about and talk about technology as if it were something "new" and "different," instead of recognizing patterns that have repeated themselves in other disciplines.

One of the perspective slaps to the side of the head you get when you leave the nerdified air of Silicon Valley is that large swathes of the world are not technophiles, let alone technoacolytes. By that I mean that, regardless of the benefits of technology, once you drive past Los Gatos on highway 17, most of the people you meet don't think we'd achieve world peace if only we had a standards compliant API for it. Nor for that matter does most of the world think that the Eleventh Commandment is "thou shalt honor the Lord they God, by making thy code open source." As long as I have worked in technology, I continue to find the number of technological cults and cult members to be truly astonishing. If I were a social scientist, I might observe that, having extirpated God from so much of public life, we rush to find other ways to fill the void. The last time I checked, Deuteronomy said, "I am the Lord thy God, who led you out of Israel, out of slavery. You will have no other gods before me." Technology, it should be said, is not god. More like a golden calf.

If that sounds silly, think about the number of discussions we have all had with technocult members who speak in raptured, hushed tones about (insert all that apply): cloud computing, open source, object-oriented programming, agile development, and so on. (And my personal favorite, referring to any technology as "awesome." God and the North Shore of O´ahu in winter are awesome,* everything else is merely amazing, at best.) Note: I am not denigrating any of these technological constructs, merely observing that none of them have created world peace, cured cancer, raised the dead or helped anybody lose that last pesky 10 pounds. It's just technology. Even in my happiest moments curled up with my iPhone -- which is really nice technology and has made me more efficient -- I don't expect the iPhone GPS system to help me find real direction in life.

The first limitation of technology is one we impose ourselves: we make it a god, when it isn't, and IT people the high priests, when they aren't. The reason anybody cares is because technology has substantially altered our world and, if we admit it, not always for the better. Unfortunately, when technologists make an idol out of technology, we get all the overhead that comes with creating a new religion.

  • Non-believers may be ostracized or pressured to convert.
  • Statements of opinion - or ecstatic utterances - are treated as religious tenets and therefore, not open for discussion.
  • Instead of honest disagreements, we have (literal) religious arguments.
  • We may (figuratively) burn heretics at the stake.
The result is that in many cases technology is pushed merely because it is the next path to salvation, and without any rational discussion of whether we need it and, most importantly what risks it subjects us to - and whether they can even be understood let alone mitigated. Technologists become like the snake, telling Adam and Eve they will be as God is if they take a bite, and, like Adam and Eve, we only later realize the technological apple has rendered us naked.

I should have realized this when I first moved to Silicon Valley many moons ago. I went to a party given by a friend who happened to work for a chip company that was a competitor to the company I worked for. She introduced me to a colleague who, instead of the usual "Hi, how are you, nice to meet you," glared at me and said, "we're going to kill you in MOS technology." ("Not tonight, unless you are serving hemlock," was my response.) The "technology as god" cult has been reinforced a number of times over the interim years, most recently by an entrepreneur I recently talked to who had a hard time understanding that inventing a cool new technology was not, per se, enough to get him in my door or anybody else's. While I admire his entrepreneurial gifts, unless he is solving a problem people care about and can explain, in less than 25 words, he is not going to get past the "I only want twenty minutes of your time" barrier. It's just technology. It's not (a) god. It's not even a worthy golden calf wanna be.

Another limitation of technology is linguistic. I don't mean the difference between French and German: more like the difference between English and Martian. Many technologists might as well be speaking Martian, they are so far removed from the people who need to understand what the technology can do, what it can't do, and why anybody would want to use it. End users. Customers. Legislators. Those who are legitimate stakeholders in determining whether the risks of technology usage outweigh the benefits, but who cannot do that unless technologists can make themselves understood. By way of example, I might just possibly be understood in La Jolla if I were to say to someone in the surf lineup at Windansea, **"´Auwe, aia he mano nui loa! E ku´u hoa, e hele mai!" However, I'd be far more likely to get a response if I said "Alas! There is a really big shark. Get over here, buddy!" At any rate, if I cannot deliver a warning in English, I should not then excoriate a friend (on his way to the emergency room thanks to the man in the gray suit ***) that he really needs to learn Hawaiian to avoid future shark bites.

One of the main reasons technologists cannot or will not make themselves understood is the overuse of jargon. I've never met a group of people who were more jargon happy than technologists, unless it is teenagers -- who at least grow out of it if for no other reason than that they are forced to. (I don't care a hoot about "intergenerational communication styles," if a candidate for an open headcount insists on using "BFF" and "OMG" in an interview, he/she will experience "GFG"****.) If we are honest, we admit that we use jargon not only for the sake of efficiency but to make us feel smarter and superior than those who are not in the techno-know. Jargon becomes a means to exclude people from the club, and a means to hornswoggle others if we are fortunate enough to have an audience of either true believers or one that is too embarrassed to admit what they do not know. For our part, we reason, if they are too stupid to know what OCSP and HAML***** stand for, then they are not worth the time for us to offer our explanations. Jargon is also a means to cut yourself out of the herd. Everyone wants to be the first to either invent a new buzzword or be the first to use it. I'd only just learned what the acronym APT stands for -- Advanced Persistent Threat -- and already, I have had slimy sales reps emailing me asking about what Oracle does to combat APT and do I know that they have a product that can protect against it, not to mention slice, dice and make julienne fries? (What I'd really like is a product that protects against APSRs - Annoyingly Persistent Sales Reps. Nobody has offered to sell me one yet.)

I'm not immune to the temptation. I was once in a meeting with a bunch of developers talking about security issues. After listening to the discussion, I said with great solemnity, "as I see it, we need an ITP story. In fact, we need an S-ITP story. " Everyone nodded. Finally, someone had the courage to say, "what is S-ITP?" to which I replied, "the Secure Internet Toaster Protocol." ****** We get wrapped up in our own linguistic cleverness to the point we do not always know what we are saying. How then, can we expect our constituents to understand what technology is capable of, and what it is not capable of? True, there are many other organizations or cohorts that are almost as jargon happy as we are, but few of them are tasked with the level of responsibility we have. It's not just the Marine Corps and the Three Letter Agencies that do national security: technoids do. At least when I was in the Navy, you could always look up FAADCPAC******* or other cryptic acronyms in the DICNAVAB (Dictionary of Naval Abbreviations). Good luck with that in our industry (this is where the cloud cult members insist that all I have to do is look up my acronym in the acronym cloud). The point is: I shouldn't have to.

Even God - the real one - communicated in a language his followers could understand (and wrote the rules down on tablets). Technologists won't even do that. The other thing God (or His scribes) did was tell stories. It's easier for most people to get their minds around a creation story that begins "in the beginning, the world was formless and void..." than around the Big Bang and/or quantum physics. Phrases like "Can the Ethiopian change his skin or the leopard its spots?" speaks to the fact that some things are immutable. We get it so well that the number of people who use the phrase vastly exceed the number who know where it comes from. (Jeremiah 13:23). Analogies, stories, and using examples people understand all help make the complex more simple: God is more understandable than the average technologist. No wonder most people know that they shouldn't lie, cheat, steal but we have lots of the Clueless Faithful who think it's a good idea to allow houses to talk to power plants. (What next, wireless access to life support systems? Because it is just so expensive to send a nurse into someone's room.)

On the occasions when I have had the privilege of testifying in front of Congress, I've had 5 minutes to try to help well-intended legislators do something that will make a positive difference. How far do you think I'd get if I said, "we need to deploy IpV6 broadly to fix all our cybersecurity problems" or "insecure RNGs are the bane of network encryption?" I might actually get farther if I said, "'Auwe, eia he mano nui loa! E ku'u hoa, e hele mai!" (At least, Senators Inouye and Akaka - and the rest of the state of Hawai´i delegation - might understand.) I readily admit that I am not a technologist - I don't have the in-depth knowledge that most of my team has. What I do have is the ability to ask questions until I understand the gist of - and details of - a problem, and the ability to translate the problem into terms others can understand. Without that communication, you get people suffering from avoidable shark bites because they don't speak Hawaiian. Why is it so hard for technologists to understand that if they cannot communicate, their technological acumen is worthless, even dangerous?

Maybe the reason technologists resist the use of analogies is that it would reveal that the emperor has no clothes or, more accurately, that the emperor's clothes are the same ones everyone else is wearing. By that I mean, that if we can use analogies to explain technology and technological limits, it makes it all too obvious that we already have examples we can use to, for example, craft public policy. We might be forced to admit that technology isn't the ooh, aah, gee whiz stuff we say it is, it's just the same old problems wrapped up in shiny new bits.

For example, there are a number - no, a lot - of cybersecurity bills in draft currently. A core element of many of these bills is the degree to which the Federal government should exert "control" over private networks and what form that control should take. In my opinion, there are many reasons for thinking that the Federal government is not well suited to such a role. One of the main reasons goes to basic accountability 101. The best example I could come up with was physical security. The CEO of a company that has no door locks, no physical security of any kind, and whose company experiences massive thefts from people wandering around their buildings would not have a job for very long. The police might help investigate the break in but they would also be the first to recommend locks and a security system. They certainly would not take over building defense.

"Oh, but cyber is different." Why, precisely? Assets are increasingly stored electronically, corporate "boundaries" include electronic ones (or should). If we think there is nothing valuable to protect on corporate networks then let's skip authentication and dispense with firewalls. Clearly, we know that data is valuable and corporations do have a responsibility to protect their own resources - they owe that to shareholders. If cyber is so "complicated" that we can't possibly secure it, one has to ask why these entities knowingly continue to double down on risk they cannot mitigate. The buck stops somewhere and it is not (primarily) at the Department of Homeland Security. Business cannot realistically have it both ways - embrace the increasing use of technology ("do more with less!") and then declaim responsibility for having done so. And just as the local police department does not have keys to local businesses -- nor do they install and monitor close circuit TV in each business to detect and prevent crime -- we ought to have sensible boundaries about who secures what.

Jargon makes people feel smart and superior, but end users and key stakeholders - including, increasingly, legislators - do not speak that jargon. If we cannot learn to de-jargon ourselves and speak in languages that our audience can understand and process, technology will continue to ensnare us instead of setting us free. I'll close with an illustration that bring together several of the themes I have been talking about: responsibility, limits, and all wrapped up in a nice, de-jargoned turn of phrase:"The LORD God took the man and put him in the Garden of Eden to work it and take care of it. And the LORD God commanded the man, "You are free to eat from any tree in the garden; but you must not eat from the tree of the knowledge of good and evil, for when you eat of it you will surely die." (Genesis 2:15-17)I wish technologists were as forthright.

* Ok, I admit, I just violated the first commandment by making surfing a god. But the North Shore when it breaks is pretty awe-inspiring, at the least.

** Not that I've ever seen a shark there. But I did see a dorsal fin pop up next to me one Saturday. It was the longest three seconds of my life until I heard the exhale of - a dolphin.

*** "Man in the gray suit" is a surfing euphemism for "shark"

**** Gone for good

***** Caught you! OCSP is the Online Certificate Status Protocol, but HAML is something I made up (Hack Attack Markup Language, by which we all craft standards-compliant security vulnerabilities so it is easier for hackers to exploit them on multiple web applications, in a standards-compliant way).

****** As far as I can tell, there is no reason to put household appliances on a network and many reasons not to. Anyway, I don't really think you need special authorization to toast bagels vs. white bread.

******* Fleet Accounting and Disbursing Center, US Pacific Fleet, if you care.

Books

Matterhorn: A Novel of the Vietnam War by Karl Marlantes

http://www.amazon.com/gp/product/080211928X/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=486539851&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=0979528534&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1VJP13PEV1Q4RBD3F060

It's not often I get a chance to read a book that I think will become a classic, but this is one of them. The author is a decorated Vietnam-war veteran and the "authenticity" shows. The premise is that a green 2LT is sent into the bush with his team to take and hold a territory known as "the Matterhorn." It's impossible for me to describe how gripping this book is, how real the characters are, and how invested you become in them. I would never - I hope - have the hubris to say that I understand what it was like to have been in Vietnam, but after reading this book, I feel I have been a spectator. A great, magnificent book. A Dog for All Seasons: A Memoir by Patti Sherlock

http://www.amazon.com/Dog-All-Seasons-Memoir/dp/0312577923/ref=sr_1_1?ie=UTF8&s=books&qid=1273709745&sr=1-1

Personally, I am not so hot on border collies since one of them tried herding Thunder on the Nordic trail (Thunder did not want to be herded) and I had an expensive vet bill from the border collie biting him. One reason I think leash laws are critical. But I digress.

We forget that so many dogs (mine included) are working dogs. Working dogs need something to do besides sit in a dog basket and snarf dog treats. Working dogs are also indispensable to many people (you can't really herd sheep without them). The author wrote this book about a remarkable border collie named Duncan who lived with her on a sheep ranch in eastern Idaho. A dog that was more than merely a dog. Well worth the read.

Sailing in the Wake of the Ancestors: Reviving Polynesian Voyaging by Ben Finney

http://www.amazon.com/Sailing-Wake-Ancestors-Polynesian-Excellence/dp/1581780249

The resurrection of Hebrew as a popular (i.e., not merely scholarly) language is one of the great comeback stories in history. The other is the resurrection of Polynesian voyaging. This book tells the how and the why of how a dead or dying art was recreated, and the shot in the arm it gave to Polynesian peoples, who must now - largely as a result of the work of the Polynesian Voyaging Society - be acknowledged as the greatest navigators of all time. The author does not spare the infighting that almost led to the destruction of the Polynesian Voyaging Society and the means by which it was resurrected. The happy ending is the number of Polynesian peoples who are participating in wayfinding, just as their ancestors did. (It's still amazing to me that anybody can travel thousands of miles by the stars, observing ocean currents and birds.)

Physician, Heal Thyself

Mary Ann Davidson - Thu, 2010-07-15 04:04

"The fault, dear Brutus, is not in our stars, But in ourselves, that we are underlings." Julius Caesar (1,ii140-141)

There is in some cases a terrible - and in some cases terrifying - disconnect between technology and our larger societal ability to understand it, in particular, to understand the risks it poses and the unintended consequences of those risks. The limitations of technology are not necessarily what we think they are, either. That is, we wouldn't solve all our technology problems if only we had - more technology. No, many of the limitations are ones we create ourselves, because of our inability to understand systemic risks, and by the way we think about and talk about technology as if it were something "new" and "different," instead of recognizing patterns that have repeated themselves in other disciplines.

One of the perspective slaps to the side of the head you get when you leave the nerdified air of Silicon Valley is that large swathes of the world are not technophiles, let alone technoacolytes. By that I mean that, regardless of the benefits of technology, once you drive past Los Gatos on highway 17, most of the people you meet don't think we'd achieve world peace if only we had a standards compliant API for it. Nor for that matter does most of the world think that the Eleventh Commandment is "thou shalt honor the Lord they God, by making thy code open source." As long as I have worked in technology, I continue to find the number of technological cults and cult members to be truly astonishing. If I were a social scientist, I might observe that, having extirpated God from so much of public life, we rush to find other ways to fill the void. The last time I checked, Deuteronomy said, "I am the Lord thy God, who led you out of Israel, out of slavery. You will have no other gods before me." Technology, it should be said, is not god. More like a golden calf.

If that sounds silly, think about the number of discussions we have all had with technocult members who speak in raptured, hushed tones about (insert all that apply): cloud computing, open source, object-oriented programming, agile development, and so on. (And my personal favorite, referring to any technology as "awesome." God and the North Shore of O´ahu in winter are awesome,* everything else is merely amazing, at best.) Note: I am not denigrating any of these technological constructs, merely observing that none of them have created world peace, cured cancer, raised the dead or helped anybody lose that last pesky 10 pounds. It's just technology. Even in my happiest moments curled up with my iPhone -- which is really nice technology and has made me more efficient -- I don't expect the iPhone GPS system to help me find real direction in life.

The first limitation of technology is one we impose ourselves: we make it a god, when it isn't, and IT people the high priests, when they aren't. The reason anybody cares is because technology has substantially altered our world and, if we admit it, not always for the better. Unfortunately, when technologists make an idol out of technology, we get all the overhead that comes with creating a new religion.


  • Non-believers may be ostracized or pressured to convert.

  • Statements of opinion - or ecstatic utterances - are treated as religious tenets and therefore, not open for discussion.

  • Instead of honest disagreements, we have (literal) religious arguments.

  • We may (figuratively) burn heretics at the stake.


The result is that in many cases technology is pushed merely because it is the next path to salvation, and without any rational discussion of whether we need it and, most importantly what risks it subjects us to - and whether they can even be understood let alone mitigated. Technologists become like the snake, telling Adam and Eve they will be as God is if they take a bite, and, like Adam and Eve, we only later realize the technological apple has rendered us naked.

I should have realized this when I first moved to Silicon Valley many moons ago. I went to a party given by a friend who happened to work for a chip company that was a competitor to the company I worked for. She introduced me to a colleague who, instead of the usual "Hi, how are you, nice to meet you," glared at me and said, "we're going to kill you in MOS technology." ("Not tonight, unless you are serving hemlock," was my response.) The "technology as god" cult has been reinforced a number of times over the interim years, most recently by an entrepreneur I recently talked to who had a hard time understanding that inventing a cool new technology was not, per se, enough to get him in my door or anybody else's. While I admire his entrepreneurial gifts, unless he is solving a problem people care about and can explain, in less than 25 words, he is not going to get past the "I only want twenty minutes of your time" barrier. It's just technology. It's not (a) god. It's not even a worthy golden calf wanna be.

Another limitation of technology is linguistic. I don't mean the difference between French and German: more like the difference between English and Martian. Many technologists might as well be speaking Martian, they are so far removed from the people who need to understand what the technology can do, what it can't do, and why anybody would want to use it. End users. Customers. Legislators. Those who are legitimate stakeholders in determining whether the risks of technology usage outweigh the benefits, but who cannot do that unless technologists can make themselves understood. By way of example, I might just possibly be understood in La Jolla if I were to say to someone in the surf lineup at Windansea, **"´Auwe, aia he mano nui loa! E ku´u hoa, e hele mai!" However, I'd be far more likely to get a response if I said "Alas! There is a really big shark. Get over here, buddy!" At any rate, if I cannot deliver a warning in English, I should not then excoriate a friend (on his way to the emergency room thanks to the man in the gray suit ***) that he really needs to learn Hawaiian to avoid future shark bites.

One of the main reasons technologists cannot or will not make themselves understood is the overuse of jargon. I've never met a group of people who were more jargon happy than technologists, unless it is teenagers -- who at least grow out of it if for no other reason than that they are forced to. (I don't care a hoot about "intergenerational communication styles," if a candidate for an open headcount insists on using "BFF" and "OMG" in an interview, he/she will experience "GFG"****.) If we are honest, we admit that we use jargon not only for the sake of efficiency but to make us feel smarter and superior than those who are not in the techno-know. Jargon becomes a means to exclude people from the club, and a means to hornswoggle others if we are fortunate enough to have an audience of either true believers or one that is too embarrassed to admit what they do not know. For our part, we reason, if they are too stupid to know what OCSP and HAML***** stand for, then they are not worth the time for us to offer our explanations. Jargon is also a means to cut yourself out of the herd. Everyone wants to be the first to either invent a new buzzword or be the first to use it. I'd only just learned what the acronym APT stands for -- Advanced Persistent Threat -- and already, I have had slimy sales reps emailing me asking about what Oracle does to combat APT and do I know that they have a product that can protect against it, not to mention slice, dice and make julienne fries? (What I'd really like is a product that protects against APSRs - Annoyingly Persistent Sales Reps. Nobody has offered to sell me one yet.)

I'm not immune to the temptation. I was once in a meeting with a bunch of developers talking about security issues. After listening to the discussion, I said with great solemnity, "as I see it, we need an ITP story. In fact, we need an S-ITP story. " Everyone nodded. Finally, someone had the courage to say, "what is S-ITP?" to which I replied, "the Secure Internet Toaster Protocol." ****** We get wrapped up in our own linguistic cleverness to the point we do not always know what we are saying. How then, can we expect our constituents to understand what technology is capable of, and what it is not capable of? True, there are many other organizations or cohorts that are almost as jargon happy as we are, but few of them are tasked with the level of responsibility we have. It's not just the Marine Corps and the Three Letter Agencies that do national security: technoids do. At least when I was in the Navy, you could always look up FAADCPAC******* or other cryptic acronyms in the DICNAVAB (Dictionary of Naval Abbreviations). Good luck with that in our industry (this is where the cloud cult members insist that all I have to do is look up my acronym in the acronym cloud). The point is: I shouldn't have to.

Even God - the real one - communicated in a language his followers could understand (and wrote the rules down on tablets). Technologists won't even do that. The other thing God (or His scribes) did was tell stories. It's easier for most people to get their minds around a creation story that begins "in the beginning, the world was formless and void..." than around the Big Bang and/or quantum physics. Phrases like "Can the Ethiopian change his skin or the leopard its spots?" speaks to the fact that some things are immutable. We get it so well that the number of people who use the phrase vastly exceed the number who know where it comes from. (Jeremiah 13:23). Analogies, stories, and using examples people understand all help make the complex more simple: God is more understandable than the average technologist. No wonder most people know that they shouldn't lie, cheat, steal but we have lots of the Clueless Faithful who think it's a good idea to allow houses to talk to power plants. (What next, wireless access to life support systems? Because it is just so expensive to send a nurse into someone's room.)

On the occasions when I have had the privilege of testifying in front of Congress, I've had 5 minutes to try to help well-intended legislators do something that will make a positive difference. How far do you think I'd get if I said, "we need to deploy IpV6 broadly to fix all our cybersecurity problems" or "insecure RNGs are the bane of network encryption?" I might actually get farther if I said, "'Auwe, eia he mano nui loa! E ku'u hoa, e hele mai!" (At least, Senators Inouye and Akaka - and the rest of the state of Hawai´i delegation - might understand.) I readily admit that I am not a technologist - I don't have the in-depth knowledge that most of my team has. What I do have is the ability to ask questions until I understand the gist of - and details of - a problem, and the ability to translate the problem into terms others can understand. Without that communication, you get people suffering from avoidable shark bites because they don't speak Hawaiian. Why is it so hard for technologists to understand that if they cannot communicate, their technological acumen is worthless, even dangerous?

Maybe the reason technologists resist the use of analogies is that it would reveal that the emperor has no clothes or, more accurately, that the emperor's clothes are the same ones everyone else is wearing. By that I mean, that if we can use analogies to explain technology and technological limits, it makes it all too obvious that we already have examples we can use to, for example, craft public policy. We might be forced to admit that technology isn't the ooh, aah, gee whiz stuff we say it is, it's just the same old problems wrapped up in shiny new bits.

For example, there are a number - no, a lot - of cybersecurity bills in draft currently. A core element of many of these bills is the degree to which the Federal government should exert "control" over private networks and what form that control should take. In my opinion, there are many reasons for thinking that the Federal government is not well suited to such a role. One of the main reasons goes to basic accountability 101. The best example I could come up with was physical security. The CEO of a company that has no door locks, no physical security of any kind, and whose company experiences massive thefts from people wandering around their buildings would not have a job for very long. The police might help investigate the break in but they would also be the first to recommend locks and a security system. They certainly would not take over building defense.

"Oh, but cyber is different." Why, precisely? Assets are increasingly stored electronically, corporate "boundaries" include electronic ones (or should). If we think there is nothing valuable to protect on corporate networks then let's skip authentication and dispense with firewalls. Clearly, we know that data is valuable and corporations do have a responsibility to protect their own resources - they owe that to shareholders. If cyber is so "complicated" that we can't possibly secure it, one has to ask why these entities knowingly continue to double down on risk they cannot mitigate. The buck stops somewhere and it is not (primarily) at the Department of Homeland Security. Business cannot realistically have it both ways - embrace the increasing use of technology ("do more with less!") and then declaim responsibility for having done so. And just as the local police department does not have keys to local businesses -- nor do they install and monitor close circuit TV in each business to detect and prevent crime -- we ought to have sensible boundaries about who secures what.

Jargon makes people feel smart and superior, but end users and key stakeholders - including, increasingly, legislators - do not speak that jargon. If we cannot learn to de-jargon ourselves and speak in languages that our audience can understand and process, technology will continue to ensnare us instead of setting us free. I'll close with an illustration that bring together several of the themes I have been talking about: responsibility, limits, and all wrapped up in a nice, de-jargoned turn of phrase:

"The LORD God took the man and put him in the Garden of Eden to work it and take care of it. And the LORD God commanded the man, "You are free to eat from any tree in the garden; but you must not eat from the tree of the knowledge of good and evil, for when you eat of it you will surely die." (Genesis 2:15-17)
I wish technologists were as forthright.


* Ok, I admit, I just violated the first commandment by making surfing a god. But the North Shore when it breaks is pretty awe-inspiring, at the least.

** Not that I've ever seen a shark there. But I did see a dorsal fin pop up next to me one Saturday. It was the longest three seconds of my life until I heard the exhale of - a dolphin.

*** "Man in the gray suit" is a surfing euphemism for "shark"

**** Gone for good

***** Caught you! OCSP is the Online Certificate Status Protocol, but HAML is something I made up (Hack Attack Markup Language, by which we all craft standards-compliant security vulnerabilities so it is easier for hackers to exploit them on multiple web applications, in a standards-compliant way).

****** As far as I can tell, there is no reason to put household appliances on a network and many reasons not to. Anyway, I don't really think you need special authorization to toast bagels vs. white bread.

******* Fleet Accounting and Disbursing Center, US Pacific Fleet, if you care.


Books

Matterhorn: A Novel of the Vietnam War by Karl Marlantes

http://www.amazon.com/gp/product/080211928X/ref=pd_lpo_k2_dp_sr_1?pf_rd_p=486539851&pf_rd_s=lpo-top-stripe-1&pf_rd_t=201&pf_rd_i=0979528534&pf_rd_m=ATVPDKIKX0DER&pf_rd_r=1VJP13PEV1Q4RBD3F060

It's not often I get a chance to read a book that I think will become a classic, but this is one of them. The author is a decorated Vietnam-war veteran and the "authenticity" shows. The premise is that a green 2LT is sent into the bush with his team to take and hold a territory known as "the Matterhorn." It's impossible for me to describe how gripping this book is, how real the characters are, and how invested you become in them. I would never - I hope - have the hubris to say that I understand what it was like to have been in Vietnam, but after reading this book, I feel I have been a spectator. A great, magnificent book.

A Dog for All Seasons: A Memoir
by Patti Sherlock

http://www.amazon.com/Dog-All-Seasons-Memoir/dp/0312577923/ref=sr_1_1?ie=UTF8&s=books&qid=1273709745&sr=1-1

Personally, I am not so hot on border collies since one of them tried herding Thunder on the Nordic trail (Thunder did not want to be herded) and I had an expensive vet bill from the border collie biting him. One reason I think leash laws are critical. But I digress.

We forget that so many dogs (mine included) are working dogs. Working dogs need something to do besides sit in a dog basket and snarf dog treats. Working dogs are also indispensable to many people (you can't really herd sheep without them). The author wrote this book about a remarkable border collie named Duncan who lived with her on a sheep ranch in eastern Idaho. A dog that was more than merely a dog. Well worth the read.

Sailing in the Wake of the Ancestors: Reviving Polynesian Voyaging by Ben Finney

http://www.amazon.com/Sailing-Wake-Ancestors-Polynesian-Excellence/dp/1581780249

The resurrection of Hebrew as a popular (i.e., not merely scholarly) language is one of the great comeback stories in history. The other is the resurrection of Polynesian voyaging. This book tells the how and the why of how a dead or dying art was recreated, and the shot in the arm it gave to Polynesian peoples, who must now - largely as a result of the work of the Polynesian Voyaging Society - be acknowledged as the greatest navigators of all time. The author does not spare the infighting that almost led to the destruction of the Polynesian Voyaging Society and the means by which it was resurrected. The happy ending is the number of Polynesian peoples who are participating in wayfinding, just as their ancestors did. (It's still amazing to me that anybody can travel thousands of miles by the stars, observing ocean currents and birds.)

OWSM 11g self paced online course

Vikas Jain - Thu, 2010-07-15 02:00
Oracle University (OU) has published an online course on OWSM 11g on iLearning.
  • Oracle Web Services Manager 11g: Essentials - D67432GC10

  • Oracle Web Services Manager 11g: Securing SOA Components - D67433GC10
These are self paced online courses that provide a quick way to get started on OWSM.

UKOUG Back to Basics…. It’s coming back!

Lisa Dobson - Wed, 2010-07-14 03:08
Hot on the heels of the work I have done to get the Northern Server Tech community recognised as a UKOUG SIG, I’m now working to put together another ‘Back to Basics’ event to be held early next year.The concept behind the Back to Basics events is to deliver a full day of content which is specifically aimed at Newbies and covers a variety of topics.There is no confirmed date or venue as yet, Lisahttp://www.blogger.com/profile/16434297444320005874noreply@blogger.com0

InSync10

Jo Davis - Tue, 2010-07-13 17:09
Hi again everyone
So for InSync10 in August (Melbourne, Australia) I submitted two presentations that are completely different from one another so that the organisers could pick whichever fit in best with the rest of the agenda. They both got in - LOL! So for the record, this year I'm presenting about:

  • the effect of Subledger Accounting when you upgrade to R12; and
  • how you could use a risk-based approach to UAT for the R12 upgrade
I've done the draft outline so far - time to knuckle down this week as I think that both topics require support materials rather than just a presentation. Does anyone other than me read white papers from conferences - I always like to walk away with some reference material (preferably in PDF rather than hardcopy) - is it just me? Does anyone else keep them forever? (Yes, I still refer back to Cathy Cakebread's whitepaper on reconciling AR to GL which was originally written for R9 I believe).
Take care
Jo

Oracle Applications R12 – Complete Documentation

Habib Gohar - Tue, 2010-07-13 03:01
For complete documentation of Oracle Applications R12 ………. http://download-west.oracle.com/docs/cd/B40089_02/current/html/docset.html Regards

Pages

Subscribe to Oracle FAQ aggregator