Sunday, July 21, 2013

I Join the "Previously Owned" Economy

I am a not terribly proud member of the American upper middle class. This means that I can afford to buy shiny, new things. And for many years, I avoided buying used (thrift stores, used CDs, etc.), arguing to myself that I should leave those items to people who are less able to afford the shiny, new things.

Over the last year, however, I have begun to re-evaluate my views on the world, what I believe is right and wrong, what I should get outraged about. I'm not done with my journey, and still have many unanswered questions, but I feel quite certain that:

1. Humans spend too much time worrying about other humans, and way too little time worrying about other species and this world that supports life.

2. Humans are consuming our own planet at an ever-increasing pace, digging vast holes in it, burning and clearing massive swaths of land, sucking up the water and spitting out harsh chemicals, etc.

You've probably heard the saying "Reduce, Reuse, Recycle". These words are offered in that order very deliberately:

First, reduce consumption.
Second, reuse things that have already been consumed (bought).
Third and last, recycle things into new kinds of things.

Given the human propensity for consumption, is it any surprise that there is such a strong emphasis on recycle and very little push for reduction in our societies? Reduction, especially the sort of radical reduction I expect we will need to avoid massive catastrophes and die-backs in the future, will cost jobs, perhaps through the world economy into a depression. Oh and the rich and powerful will not be able to get as richer and powerfuler as they would perhaps have liked. So....that's not going to happen on voluntary social basis.

That's why everyone talks about taking that plastic bottle (which required vast resources and thousands of factories to create) and making a reusable grocery bag out of it. Kudos! But sadly inadequate.

Like I said, I am not sure about all of what I am going to change in my life, but I do know this:

New is Bad.

Buying things new is the way to consume the most resources and have the worst impact on our world. So I am going to make every effort to avoid buying new things and instead by used.

For example, I have been listening to Sade's Lovers Rock album. So beautiful....so I decided to order a few more of her CDs from Amazon. But then I asked myself "What are you doing?" and instead found Reckless Records, which buys and sells music. So this morning I took a 10 mile bicycle ride to RR with about 25 CDs I never listen to. Got $24 in store credit and picked up 4 Sade CDs, Tea for the Tillerman (Cat Stevens) and Station to Station (David Bowie) for just an extra $11. Fantastic!

Tuesday, July 09, 2013

About Indiana Jones...

A few weeks, I watched the first half hour of Indiana Jones and the Raiders of the Lost Ark. I like it a lot; Harrison Ford is lots of fun to watch, and hey we're always cool with killing Nazis!

But I realized something later: it is a rather strange plot.

Indiana Jones is given a mission to retrieve the Lost Ark or at least to stop the Nazis from getting it.

But every step along the way he fails, and he does worse than fail: he helps the Nazis get their hands on the Lost Ark.

They couldn't have done it without him.

And then we are at the climax. The Nazis have the Ark. They are going to open it in a wondrous ceremony. They will harness its power and rule the world.

Indy is there, but powerless to do anything to stop them, except - wait! "Close your eyes, Marion! Whatever happens, don't look!"

And God's power streaks out of the Ark and kills horribly everyone with their eyes open. You know how Nazis were: they hated to miss a damn thing. So they all die, eyes wide shut.

Hurray! The good guy and the good girl win, in the end! But only sort of by default. Only ones left standing, and all that.

Hell of a hero, or hell of a screenplay writer, anyway.

Thursday, July 04, 2013

Keynoting the East Coast Oracle Conference Nov 5-6

On November 5-6, ECO will hold its annual conference and I am honored that the group has asked me to be a keynote speaker. Below you will find details about the conferenc.


November 5 & 6, 2013
Sheraton Imperial Hotel & Convention Center
Raleigh/Durham, NC 

Mark your calendars to join keynote speakers Steven Feuerstein and Elke Phelps at the premier conference for Oracle users on the east coast. 

Register today to join 250 other Oracle functional and application users at the most economical Oracle training event on the east coast - the East Coast Oracle Users Conference (ECO) - Tuesday, November 5 and Wednesday, November 6, at the Sheraton Imperial Hotel in Raleigh/Durham, NC. 

Keynote Presentations

Coding Therapy for Software Developers aka How Does This Code Make You Feel?
Steven Feuerstein, Oracle PL/SQL Expert  

Steven Feuerstein is considered to be one of the world's leading experts on the Oracle PL/SQL language, having written ten books on PL/SQL, including Oracle PL/SQL Programming and Oracle PL/SQL Best Practices (all published by O'Reilly Media).   

Oracle E-Business Suite Technology: Latest Features and Roadmap
Elke Phelps, Oracle Corporation  

Elke Phelps is a Senior Principal Product Manager in the Oracle E-Business Suite Applications Technology Group. She joined Oracle in 2011 after having been an Oracle customer and Oracle Technologist since 1993. Her primary areas of expertise include Oracle Database and E-Business Suite deployments and upgrades, platform migrations, and infrastructure design.

Pre-conference Workshops
Monday, November 4
2:00 pm - 5:00 pm
Pre-registration required
Dynamic Action Instant Immersion
Dan McGhan, Enkitec
JavaScript is the programming language that brings web applications to life. But for most Oracle developers using Application Express (APEX) to build web-based front ends for their databases, learning JavaScript can be quite an undertaking. Enter Dynamic Actions, a feature of APEX that provides a declarative interface over JavaScript. This hands-on mini-class is designed to give students a jump start when beginning with the Dynamic Action framework. Attendees will bring their own laptops and be provided access to an APEX workspace with an application just begging for some Dynamic Action enhancements. Attendees will start with the very basics and quickly move on to solving more complex tasks based on real business requirements. Along the way, related concepts, such as jQuery selectors and event propagation will be explained to provide a background for understanding the various options within the framework. 

Developing Faster Performance Solutions: Make Oracle Work for You!
Craig Shallahamer, OraPub, Inc.
Oracle DBAs find it difficult to get complete and correct information about how the database engine works. Even when bits of truth are collected, consolidating the data into a useful performance optimizing solution is complicated. When a diagnosis is incomplete or the DBA doesn't understand why a solution improves performance, solution creation becomes a guessing game resulting in haphazard performance improvement. In this seminar you will learn how selected areas of Oracle work together. Care is given as to why performance solutions work and how to make them usable and practical in a complex and highly available production environment.

Tuesday, July 02, 2013

What is Oracle Application Express really good for?

I received this plea yesterday from a developer who works for a health insurance company:
I am attempting to leverage APEX in my organization. Specifically, I am developing a white paper and would like to include your thoughts of APEX in it. Here's what others are saying in my company regarding APEX:

"It's an application add-on. Oracle's quick and dirty web application builder / report writing tool. It's for teams with limited development skills. It's totally web driven and installs as a free add-on to the database. As far as I know only one system uses it and that's Rick's team. Could be the way the team developed their app but it is a pain to tune. I  would say the time you save developing is used to performance tune it afterwards."

I know what I would like to say however I think that a person with your name recognition could provide more leverage. If you are so inclined please provide me your impressions of APEX.
Rick, I am happy to share my views on APEX with you. My views are formed through my own application development experience (check out the PL/SQL Challenge, an APEX application); my communication with the APEX dev team (a very accessible and smart group of developers); and my contact with countless APEX developers at conferences and trainings.

There is no doubt in my mind that the attitude towards APEX expressed in the quote above is based on "old data." There was a time when APEX was mostly a curiosity, used by Oracle consulting on web-based app development projects, and leveraged mostly for small, departmental apps.

Such caution made sense in the Oracle community; Oracle has a reputation for building so-so development tools and not always sticking by them (with several notable exceptions, such as SQL*Forms 3.0, to completely date myself!). But those days are past.

There should be no doubt in anyone's mind  (anyone who pays close attention to Oracle, in any case) that APEX is a key component of Oracle's future plans for web-based application development, cloud and otherwise. It is used to power the Oracle Cloud and the Oracle Store. Thousands of companies are building robust intranet- and internet-delivered applications. There is every reason to believe that Oracle is firmly committed to this technology and will ensure that it continues to mature.

I love the "for teams with limited development skills." As opposed to, say, for teams with "unlimited" development skills. I can only imagine that this person believes that knowledge of PL/SQL and SQL is "limiting", while knowledge of Java is tremendously liberating and "limitless."

No doubt about it, APEX allows groups to leverage existing, deep (and always limited) skills and experience in SQL and PL/SQL. There is also little doubt that if you want to build really cool, Web 2.0, mobile, etc. apps with APEX, you will need to complement that knowledge with the ability to code in HTML, CSS, Javascript, Jquery, XML, etc.

Which is to say: APEX is open. Leverage existing relational skills and utilize the latest web technologies inside APEX. It accepts all comers and keeps on giving and giving and giving - in productivity, robustness, performance and security.

Oh, right, performance: I must admit it's a bit difficult to make sense of "Could be the way the team developed their app but it is a pain to tune. I  would say the time you save developing is used to performance tune it afterwards."

I really don't see how an APEX app could be harder to tune than a Java-based app with a much looser connection to the Oracle Database. Certainly, an APEX developer can create a mess of their app, with poorly written SQL statements plastered all over the app. But that is not the fault of APEX. The bottom line with APEX is that you will or should be encouraged to move as much of your database logic (especially SQL) into a packaged API and views. If you do this, I am certain that it will be easier to tune and maintain an APEX app than just about anything else built to run against an Oracle Database.

Is APEX perfect? Far from it. Like any other tool that grows "organically" out of a consulting engagement, it has its architectural strengths and weaknesses. If you come from a background of building Ruby on Rails apps or PHP or any number of other super cool languages, you may find yourself frustrated with APEX, but Oracle has never positioned APEX as a competitor to all such development tools (heck, they even offer support for Java-based development with JDeveloper and ADF). 

Bottom line: if you are an Oracle shop with experience in PL/SQL and SQL, and you want to quickly build and deploy Oracle-based web applications, APEX offers a fantastic way to achieve success at a lower cost and greater user satisfaction than with many other technologies.