Monday, November 27, 2006

A tale of two blog sites (updated)

Update 08-OCT-2007


In the original version of this article I named somebody who had posted other people's articles verbatim and without proper attribution. This person claims that it was an honest mistake and they had no intention of passing off other people's work as their own. They asked me to remove their name from this article. Originally I simply added a postscript. However they have now repeated the request. After due consideration I have decided to remove their name and the link to their blog. In all honesty I should have done so sooner. However, the Internet being what it is (i.e. a hall of mirrors) I'm sure multiple versions of the original wording will be around for ages.

I visited two new Oracle blogs today. The first, Oracle Brains, by Rajender Singh is workmanlike, and to be frank, doesn't contain much that is strange or startling. It will be a while before the site lives up to its name. But everybody has to start somewhere. Also, Raj showed initiative by advertising his blog in the OTN forums. More importantly, it is all his own work.

Unlike the second blog I visited this lunchtime. [name deleted] claims he will use his [name deleted][url deleted] blog "to keep my knowledge on Oracle RDBMS spread over this blog and share some light moments". But what he is actually sharing are articles by Jonathan Lewis, Fairlie Rego and Steve Adams, although attributing them to himself. So that's light as in light-fingered rather than light-hearted.

This is not as blatant as the nimrod who recently cloned Tim Hall's entire Oracle Base site but it is still pretty stupid. Passing off other people's work as your own is dishonest. Doing so on a web site merely shows a complete ignorance of the power of search engines. It took me a couple of minutes to identify the real authors of those pieces, and I'm not even a black belt in Google Fu.

Jakob Nielsen advised us to remember that our future bosses might be reading our blogs and post accordingly. Advertising oneself as someone who takes the credit for other peoples' efforts and knows nothing about how the Internet works strikes me as a bad tactic for impressing people looking to hire good technical staff. A Dilbert-esque line about people looking to hire managers has occurred to me, but my future - or even my current - boss may be reading.

Update


[name deleted] has contacted me to say that he was not intending to pass off other peoples' works as his own. He has amended his blog to acknowledge the original inspirations for those articles. So I am happy to accept [name deleted]'s explanation and I withdraw any imputation of dishonesty on his part.

Programming with Oracle SQL TYPE constructs, Part 1

In my presentation at the UKOUG, "At last! A use for TYPEs!", I tried to explain why a sensible person might choose to write an API using Oracle's SQL Types rather than Plain Old PL/SQL Packages. My current project uses an API built out of Type objects but it is the only such implementation I have know.

During the Q&A at the end Oracle's Sue Harper asked a pertinent question. When she had worked on Oracle Designer they had introduced the ability to work with Types but there had been no real take-up amongst the Designer users. Was this because the Oracle Type implementation was not very good or was it that nobody really knew what to do with Types? In my opinion the answer is both.

This article is an extended (two part) response to Sue's question. In this part I will briefly describe Oracle SQL Types; I am not trying to provide a substitute for the documentation, I outline what I think are the shortcomings with the existing Oracle Implementation which may deter people from using them. In the second part I will I have addressed Sue's request for a simple yet non-trivial example of the advantages to programming with Types.

An old COBOL hack explains OO programming in less than 200 words

In procedural programming we have data in tables and executable code in packages. In Object-Oriented programs we have objects which combine data (attributes) with procedural code (methods) to manipulate that data. OO programming has three principles:
Encapsulation. By gathering code and related data into a single object we shield the application developer from the gnarly details of our implementation. We all understand encapsulation: PL/SQL packages do this very well.
Inheritance. We can define a hierarchy of objects starting with the general and getting more specific. For instance we might have a type called Customer to represent generic behaviours and extend that to two sub-types CompanyCustomer and IndividualCustomer to model more specialised behaviours. We can add new attributes and methods in the sub-types and also override methods defined higher up the hierarchy.
Polymorphism. This is the ability to treat an object as different types according to our needs. For instance we can instantiate an IndividualCustomer object and pass it to a program which takes a Customer object. In my opinion it is polymorphism and substitutability which make programming with types an interesting proposition.

A quick note on terminology. The Object-Oriented vocabulary is ripe for confusion. I will use Type to as shorthand for Oracle SQL TYPE (also known as User Defined Types or Complex Data Types). A Type is a definition of something (other OO languages use Class to signify the same thing). When I use object I am talking about an instance of a Type, that is, an actual thing populated with data. Unless of course I am talking about objects in the regular Oracle meaning of tables, sequences, etc. :D

A brief history of TYPE

Oracle introduced Types in 8.0, branding the product as an Object-Relational database. You will no doubt be shocked to learn that the whole ORDBMS thang was largely marketing. The initial Type offering was very incomplete, lacking inheritance and polymorphism. So experienced OO programmers looking at Oracle 8.0 found so much missing that they could not work in PL/SQL and experienced PL/SQL programmers couldn't see what all the fuss was about. Oracle 8i added Java as an option for writing the code behind the methods but otherwise didn't extend the OO functionality.

In Oracle 9i we were given the inheritance and polymorphism. We also gained the ability to evolve our type definitions with the ALTER TYPE syntax. In Oracle 8 the only option at our disposal was the CREATE OR REPLACE TYPE syntax, which hurled with types that had dependents (other types and tables). The constant need to drop dependent objects was a major impediment to building APIs with types. The other major impediment was relieved in 9iR2 when Oracle gave us the ability to define our own constructor functions. The constructor is the method called when we instantiate an object. This is crucial because the constructor is the place to set default values and apply business rules. So really it only was with Oracle 9iR2 that Types became a viable programming option.

No additional object-relational features were added in Oracle 10g. Does this mean we now have a complete OO implementation? Heck no!

What remains to be done

We cannot create types that consist of methods only...
SQL> CREATE OR REPLACE TYPE abstract_type AS OBJECT
2 ( MEMBER PROCEDURE do_this
3 , MEMBER PROCEDURE do_that
4 , MEMBER FUNCTION get_whatever RETURN varchar2)
5 NOT FINAL NOT INSTANTIABLE;
6 /

Warning: Type created with compilation errors.

SQL> Show errors
Errors for TYPE ABSTRACT_TYPE:
LINE/COL ERROR
-------- -----------------------------------------------------------------
1/1 PLS-00589: no attributes found in object type "ABSTRACT_TYPE"
SQL>

So we cannot create abstract types or interfaces. Furthermore we cannot have private variables in our type bodies ...

SQL> CREATE OR REPLACE TYPE simple_type AS OBJECT
2 ( attr number
3 , MEMBER PROCEDURE keep_count)
4 NOT FINAL;
5 /

Type created.

SQL>
SQL> CREATE OR REPLACE TYPE BODY simple_type
2 AS
3 private_attr number ;
4
5 MEMBER PROCEDURE keep_count
6 IS
7 BEGIN
8 private_attr := private_attr+1;
9 END keep_count;
10 END:
11 /

Warning: Type Body created with compilation errors.

SQL> Show errors
Errors for TYPE BODY SIMPLE_TYPE:
LINE/COL ERROR
-------- -----------------------------------------------------------------
3/5 PLS-00103: Encountered the symbol "PRIVATE_ATTR" when expecting
one of the following:
not final instantiable order overriding static member
constructor map

SQL>

Nor can we have private functions ...

SQL> CREATE OR REPLACE TYPE BODY simple_type
2 AS
3 MEMBER FUNCTION cntr
4 RETURN number
5 IS
6 private_attr number ;
7 BEGIN
8 private_attr := private_attr+1;
9 RETURN private_attr;
10 END;
11 MEMBER PROCEDURE keep_count
12 IS
13 BEGIN
14 SELF.attr := SELF.cntr();
15 END keep_count;
16 END;
17 /

Warning: Type Body created with compilation errors.

SQL> Show errors
Errors for TYPE BODY SIMPLE_TYPE:
LINE/COL ERROR
-------- -----------------------------------------------------------------
3/21 PLS-00539: subprogram 'CNTR' is declared in an object type body
and must be defined in the object type specification

SQL>

There is also a minor problem with OVERRIDING methods in subtypes. We lack a mechanism for inheriting behaviour from the parent's implementation (equivalent to Java's super() command)1. The upshot is, we cannot properly encapsulate our business logic inside our types. If we want to have private attributes or private methods we have to use tables and PL/SQL packages, which rather defeats the purpose.

So I hope this answers the first part of Sue's question. It has taken a long time for Oracle to provide a viable Type implementation and even now it is incomplete. So that is a possible explanantion for the low take-up of programming with Types. But are programmers missing a trick? This is the question I will attempt to answer in Part 2.



1. In one of his Open World 2006 sessions PL/SQL product manager Bryn Llewellyn included support for super() as one of the new features in next generation Oracle (the usual BETA! caveats apply).

Thursday, November 23, 2006

UKOUG 2006: In review

So another UKOUG conference is over. Now begins the task of downloading all the presentations I couldn't see this year because they clashed with the ones I did see.

UKOUG followed hard on the heels of Open World, and I was still a bit jaded last week. Birmingham is different from San Francisco. For instance, the Fujitsu-Siemens branded umbrella was a wholly irrelevant inclusion in the OOW2K6 conference bag. Whereas a similar giveaway in the UKOUG bag would be genuinely useful. Anybody who sponsored such an item would likely get a great deal of brand exposure over the week, not to mention actual gratitude from the delegates.

Another difference from Open World is that the UKOUG agenda is much more substantial, at least for DBAs. Lots of juicy topics and a wide variety of perspectives. So it was a shame that the schedule was loaded with the bulk of the Technology presentations in the first day. I met several people who were only attending on the Tuesday. For me, the Development side of things seemed even thinner than usual. The topics on offer were good, but there was not much choice. There seemed to be very little on process, as opposed to functionality braindumps and cookbook-style presentations. It was the usual lean pickings for those of us who don't build front-end applications. Of course, if developers won't submit papers there's not much which the selection committee can do about it.

Because I didn't do the full four days I missed out on much of the socialising this year. Still, I enjoyed the Bloggers/SIG Chairs' do. Organisationally, one successful innovation was the no-comps policy for the event dinner. Apparently if you make people pay for the ticket they will actually turn up. Who'd a thunk it?

I thought the round table sessions worked quite well. With the Dev Tools one, as is often the case, it took a long time for the conversation to warm up. In fact it was just towards the end of the session that people started to offer opinions rather than just asking questions of the "experts". We really could have done with another forty-five minutes. Perhaps next year we should start with some beers beforehand. Unfortunately I failed in my role as facilitator and didn't remind people to fill in the evaluation sheets; I hope other facilitators were more diligent.

Vignettes


Overall in was an enjoyable conference but not a classic. The following are some random things which have stuck in my mind from last week.

The look on Tim Hall's face. He really should have stopped asking Doug Burns about those furry housemates of his. Mind you, as Tim has just read all ten of Anne Rice's Vampire Chronicles books in two months I'm not sure he is in a postition to accuse anybody else of having weird or unhealthy obsessions.

A copy of Oracle Scene on the floor of a toilet cubicle. To be honest this is not the sort of magazine one expects to find discarded in the Gents.

Tom Kyte's Instrumentation 1010 presentation saved by a Windows bug. Tom's laptop went into hibernation mode just as he was about to run his last demo. I was chairing this session so I pointed out he only had a minute to go anyway. Then the hibernation failed due to a Windows error so Tom was able to run the script and finish his presentation tidily.

"We're not wearing a company uniform, no siree." Both SolStonePlus and IBM decided to kit out their employees in snazzy dress shirts rather than polo shirts or business suits. It was unfortunate (in more than one sense) that both companies had gone for a pyjama-style design with stripes of varying hues of blue. Even more unfortunate that both companies stands were adjacent. I smirk because I know how these things happen. The first time I did a presentation at Open World I was issued with a branded, canary yellow rugby shirt. I held out for the black polo shirt with a discreet logo. Only the Dalai Lama can carry off yellow.

And finally


Because this year's conference theme was art related ("Create your masterpiece with Oracle"? What was that about?) the ambient music filling the space between sessions in the main hall was dominated by a tune called Leftbank II. Which is better know to Brits of a certain age as the music from the Vision On gallery. I have still that mellow jazz groove and those ethereal vibes slinking around my brain. All together now: do-di do-di DO do-do do DO do do do-do DI-di-di DI di-di DI di di di di-di ...

Friday, November 17, 2006

UKOUG 2006: Day Three

Just after I finished writing up Wednesday I met Mark Rittman. He was still shellshocked from discovering that his ISP had failed to back up his site properly and so he had lost three years worth of blogs, articles and other stuff. This is not just gutting for Mark, it is a loss of a major web resource for us all. By Thursday he had become more philosophical: the forcible purge of the site at least gives him an opportunity to reassess what he does with it and cleared away some of his more embarrassing early posts. Not that I'm sure Mark had much to be embarrassed about. Anyway, in future he will be adopting a belt and braces approach to backing up his articles. A lesson for us all.

Sessions


I was actually on leave on Thursday. So I only attended a couple of sessions in the morning and made a last tour of the exhibition hall before coming back to London.

The first session I attended was Mike Hichwa, the Oracle VP for SQL Developer, ApEx and sundry other tools, offering some insights into his various projects. This is the sort of thing that justifies these conferences. Mike is the guy who wrote the first version of HTMLDB, having been the guy who wrote its predecessor, WebDB. So it was great to hear what he has to say about his thought processes as he started the development of HTMLDB.

The original model for HTMLDB was the ATM - a page flow with validation and decision points. From the beginning Mike wanted the tool to be declarative for ease of coding and consistency of execution. This also promotes modularity. He also wanted it to be more flexible than Forms, which is great for building standard apps but gets very truculent when we want to go off-piste. Another important decision was that HTMLDB would build metadata driven applications rather than being a code generator. This makes it much more interactive. During the earlier days of development Mike was working in the same room as Tom Kyte. So he had instant access to AskTom, as a result of which ApEx is highly optimised for assembling apps on the fly.

Also Mike and his team are committed to building a community around ApEx as a tool. For instance, they actively participate in the forums. They are also looking to build up a library of packaged applications which can be downloaded from SourceForge and installed for free.

The next major release of ApEx is like to feature Flash widgets for generating charts, integration with XML Publisher and an AJAX-driven WYSIWYG form layout editor.
Version control still seems somewhat clunky, requiring as it does several manual steps to get the application out of the workspace and into the source control repository. I think this is a barrier to its acceptance as an enterprise tool; I will be waiting to see whether the ApEx team manage to take advantage of the 11g (BETA!) object versioning feature.

The second session I attended was Cecil Hamilton-Jones talking on The Search For A Generic Data Model: Introducing The Associative Data Model. This was a quest for "life beyond the relational data model" and was always going to be a provocation. Which is fine: we can all benefit from having our assumptions challenged by new ideas. The problem with Cecil's presentation was that it was that was riddled with inaccuracies, confusions and unsubstantiated assertions. He repeatedly blurred the distinction between the relational data model and the process of building applications. He alleged that every time we start a new project we build a new set of tables. He also said that existing RDBMS products were not fit for the Internet business model; this will be news to Google, Amazon and all those other outfits limping along. As for his statement that the relational model was "a perfect fit for SQL", well, it was a shame Hugh Darwen was not present.

The associative data model itself is an interesting theory. It builds on concepts from social science - triple stores, semantic networks and other interesting stuff - to organise data. Everything is either an entity or an association. Associations specify the links between entities. The resulting patterns of data are built up like sentences: subject verb object. This is recursive, so that a subject can itself be built up of prior triple stores. However, as Noam Chomsky once pointed out, it is perfectly possible to write sentences which are syntactically correct but meaningless. Without relational integrity and candidate keys how does the ADM ensure meaning? Apparently it is handled by the application. Hmmm.... Of course the real reason why similar key-value pair solutions have failed in the past is that they fail to scale. Cecil interpreted this question as a matter of number of users but the problem is one of querying large tables with no meaningful indexing.

I'm trying not make this seem like a hatchet job but it's difficult. I'm totally in favour of the UKOUG offering presentations which fall outside the realm of Oracle technology and applications. I think they provide interesting perspectives on the main topic. But the standard of proof for theoretical papers needs to be as high as that for practical papers on query optimisation and the like.

Wednesday, November 15, 2006

UKOUG 2006: Day Two

Having arrived at the ICC way too early I steeled myself to attend the keynotes. Ronan Miles, the Old Master, confounded my expectations by not pronouncing this conference as the biggest and best ever, as he had done every year since I started attending. In fact he seemed slightly concerned about it. He wants everybody's opinion on the four day conference (after Friday). Next year's conference is also going to be four days long so I think it is important that everybody contribute (constructive) observations and suggestions for improving the structure of the 2007 event.

Ian Smith (wearing brown shoes in town, tsk tsk) gave a very polished speech - from a teleprompt - on the future of applications. Which boils down to Fusion With Choice. Oracle Apps under the Fusion brand will be the main way ahead but Oracle will continue to maintain and enhance PeopleSoft, JDEdwards and Seibel, on DB2 and MSSQL, for the long term. Apparently JDE World A9.1 will be the first new version of that product since 1998. Guess the users must like it. There were a few words that recurred through Ian's speech. See if you can spot a pattern: integrated; consolidated; coherent; focused; sincere; passionate; standards-based. There was a digression on Web 2.0 but I'm not sure quite how that applies to ERP applications. I mean, just what Sarbanes-Oxley compliance is possible in Wikipedia or MySpace?

Exhibition Hall


The exhibition hall opened today. Hurrah! But nobody seemed to be giving away promotional T-Shirts. Alas! But Oracle University were. Hurrah! So I will be sporting an their T-Shirt tomorrow. I was right that nobody was giving away promotional socks, although I may have planted the idea in the minds of the folks on the OU stand.

After Open World the hall seems terribly small and sedate.

Sessions


I chaired four sessions today. The first was Tom Kyte talking about Instrumentation 101. For the benefit of anybody who hasn't experienced the American education system, 101 means an Introductory course. Instrumentation is embedding trace and debug messages in our applications from the word go. Specifically it means having a debug message after every line of "real" code, with the ability to easily switch things on and off. Tom covered DBMS_APPLICATION_INFO, SQL Trace, DBMS_MONITOR and auditing. No mention of DBMS_OUTPUT. Strange that.

After lunch I facilitated (dread word) the Tools Round Table. It quickly became obvious that almost everybody had turned up to give Grant Ronald a hard time about the future of Forms. So we had just the one big circle rather than several separate tables. Once we had got the FOF question out of the way the conversation roamed widely over the various options for developing applications. I was interested to hear from Mike Hichwa that the Chicago Police Dept are running a system with hundreds of multi-page modules for thousands of users, all built out of ApEx. That's an enterprise level tool. We had the traditional bashing of Java developers over the question of whether business logic belongs in the database or the middle tier. But the session finished with Sten Vesterli advocating the need for communication and understanding between javaheads and database people.

The third session was Hugh Darwen on The Importance Of Column Names. This was an entertaining dissection of the third most severe mistake in SQL (after nulls and duplicate rows). It was a (revised) version of a keynote Hugh gave to the Ingres User Group a few years back, which is probably why it contained a blatent plug for Ingres as an open source database. Amongst many things he said that may strike some people as controversial was this gem:
"It is debatable whether a 'nanny state' attitude is appropriate for a computer language."

This was in the context of SELECT * being a bug. As Hugh points out, the problem really lies with the way people implement their FETCHes.

From the theoretical to the down-and-dirty technical. All the chip geeks turned out for James Morle speaking on Database System Architectures For The Commodity Age. I'm not sure I entirely understood the relevance of Julian Clancy and Chuck Norris as the avatars of commodity and non-commodity products respectively (I would have chosen Chantelle as the embodiment of commodisation) but then there were several other things which I didn't understand. One thing which I did find illuminating was this analysis:

  • Servers: commoditised
  • Operating systems: commoditised
  • Database software: on the way to commoditisation
  • App Servers: not really commodities yet.
  • Very far from being commodities.

James pointed out how neatly this aligns with Oracle's business strategy. Coherent? Focused? You bet!

UKOUG 2006: Day One

My conference started off badly: I left my suitcase on the tube. A total senior moment: I just stood up, picked up my rucksack and got off at Euston. I only noticed I didn't have my luggage after I'd bought a coffee prior to getting on the train to Birmingham. That was to be my first coffee of the day but caffeine deprivation is really no excuse. With fifteen minutes before my train was due to leave I had to go back to the tube station to admit my bloomer. At this point I was just keen to not be responsible for a major disruption to the rush hour tube service. I now have my Lost Property claim form and I hope to be reunited with my suitcase sometime next week.

So I arrived in Birmingham with only hand luggage. There's further bad news: the exhibition hall was closed on Tuesday which means I won't be able to get through the week by wearing promotional T-Shirts. I'm going to have to go shopping. Besides, I don't expect any vendors will be giving away promotional underpants or socks. Maybe they are missing a trick here. I know people who would wear socks with a cartoon toad on them.

On the other hand at least I didn't have to check into my hotel immediately, so I caught almost the whole of Tom Kyte's keynote, What's Coming Next? This was a whiz through the likely contents of Oracle 11g (subject, of course, to the standard BETA! caveats). Tom devoted quite some time to the version control functionality, which he regards as the killer feature. It does sound quite neat, having an API layer of version controlled views, packages, etc so we can apply patches to our live applications without downtime. Certainly this might have saved me some late hours last month.

There are other features which catch the eye (such as native PL/SQL and Java compilation, virtual columns, flashback data archive) but I remain unconvinced that there is a compelling argument for upgrading. In John King's presentation on XML he did the traditional database version survey: some people on 8i, some more on 10 but roughly two-thirds on 9i. He said he came across the same proportions in the USA. Even Oracle only claim a 50:50 split between 9i and 10g. Oracle need to shift more of their customers onto newer versions for obvious business reasons. But as the major features in 10g (like the automated management stuff) still haven't achieved that it seems likely that Oracle will have to resort to coercion. At the very least they should seriously consider backporting some of the upgrade smoothing features to make it easier to move sites from 9i straight to 11g.

Session chairing


I chaired two sessions yesterday. This amounts to little more than reminding people to switch off their mobile phones and asking them to fill in the evaluation sheets. And giving the speaker time checks at the ten, five and one minute to go points.

Not that this was necessary for the first session. Chris Roderick from CERN spoke on Capturing, Storing and Using Time-Series Data for the World's Largest Scientific Instrument. Maintaining data from the Large Hadron Collider is an interesting business problem: sixty millions records per day (and likely to increase) that have to be searchable online, across a data set which will eventually hold twenty years' worth of data. The LHC Logging architecture is probably as close to a template solution as it is possible to have with such an esoteric scenario. They have an API which batches up the client records to allow bulk DML operations. The data is stored in range-partitioned index organized tables. The queries make extensive use of analytic functions. I would liked to hear more on the decision making process. How did they decide on index organized tables rather than regular ones? How did they model the scalability of the solution? But the UKOUG sessions are only forty-five minutes long and Chris did a very good job of explaining the project in the allotted time.

The next session I chaired went right to the wire. John King's gave us an overview of XML in Oracle. This was a (coherent) gallop through the entire feature set from simple basic SQL support through to WebDAV. It was like having the entire XML DB guide distilled and injected straight into your veins. John thinks that XML DB is primarily a marketing thing, gathering up a whole bunch of features under a name than is trademarkable. Oracle indulging in marketing? Surely not. One other he said that struck me was that XML in the database is used primarily for backup, in case people need to reproduce XML documents. I would like to think this is true but I suspect all sorts of nasty implementations are lurking out there.

My presentation


In the film of The Right Stuff (and possibly in real life too), the first Mercury astronaut Alan Shepherd sits in the capsule on the launch pad and recites the following prayer: "Dear Lord, please don't let me f**k up". This is a great prayer for presenters too. I skipped lunch to run through my presentation one more time. Which was just as well because I discovered that I had left a whole bunch of DBMS_OUTPUT messages in one of my demo scripts.

From my side of the podium I think the actual presentation went well. The scripts ran, my mind didn't go blank and the questions at the end suggested that at least some people had been paying attention. There was one minor blip: when I submitted the paper it turn's out I had called it At Last! A Use For Objects whereas my slides used TYPE, because I was speaking about programming with SQL TYPEs. Nobody seemed bothered, but you can never tell: some OO people get terribly particular about terminology.

Time passes


We're S-H-O-P-P-I-N-G, we're shopping

The bloggers' meeting


After the SIG Chairs' meeting we decamped to All Bar One for a joint SIG Chairs/Bloggers thrash. I discussed PowerPoint technique with Peter Scott. I'm moving towards a style that has fewer slides and fewer - or no - words on the slides I do have. I think Peter thought I was criticising him for having 55 slides in his session but I wasn't. Tim Hall is still jetlagged, poor guy. At least he's got his luggage back, whichI hope is a good omen for me. I completely failed to engage Babette Turner-Underwood in an interesting conversation about Data Pump. But she forgave me and we moved on to Funny Things Children Say. And Mike Durran asked me a very pertinent question: "So what do you blog about?" Mike, I'll get back to you when I find out.

Wednesday, November 08, 2006

OOW2K6: The presentations we can't see

As several other bloggers have noted the Open World presentations are now online. The "attendees only" password is widely circulated. It also is derivable from the passwords for previous years: no doubt what the experts call security through over-familiarity. My slides and supporting collateral are there, although it looks like you will have to use your skill and judgement to figure out which paperclip is the Powerpoint and which is a SQL script.

One category of presentations which is not available are any Oracle presentations alluding to features which may or may not be in the next release of Oracle. It would seem the legalistic get-out at the start of each presentation covers the session itself but not subsequent publication of the slides anywhere else. So if like me you missed a presentation or just didn't take adequate notes, well, you'll know better next time.

Update


Since posting this I have tried to download some other presentations. For some reason PowerPoint will not open Oracle-sourced presentations. I don't think it is due to corruption in the content management system as I could open a non-Oracle PPT file. It may be a trojan macro embedded in the template by Oracle's legal department ;) Anyway, this is another good reason to convert presentations to PDF. I've been using Primo PDF, as recently recommended by Tom Kyte, and it really does the business.

Tuesday, November 07, 2006

UKOUG Conference: Development Tools Round Table

The guy who taught the first Unix course I ever attended could edit command line strings faster then we could read them. After one particular bravura display of text manipulation his audience gave a collective gasp. David (I think that was his name) looked up and said, almost sheepishly, "Well vi is the only word processor I know". Even in 1992 that seemed impressive. Bizarrely, in his spare time this bloke wrote software for the Apple Newton, a gadget about as far from the Unix command line as it was possible to get at the time. If I had have read Neal Stephenson's In the Beginning Was The Command Line then, I would have had a finer appreciation of the nuances of this contradiction.

Tools are one of the things that unite and divide developers. Spats frequently break out in the forums over the vexed matter of PL/SQL IDEs vs text editors and SQL*Plus. On the one hand GUIs allow us to be more productive, by automating tedious or complicated processes. On the other hand they shield us from an understanding of the task in hand, which makes it harder for us to work when we have to deal with something the GUI cannot handle. The question of which text editor is another one which frequently causes the hackles to rise. The alpha geeks argue whether vim or emacs is the most studly. Whereas my penchant for TextPad marks me out as a wussy Windows user. I am just starting to use UltraEdit and appreciate some of its features (the hex mode saved my bacon recently) but I don't think I will grow to love it like I love TextPad.

Of course in the Oracle tools realm there has been a lot of activity in the last couple of years. On the one hand the traditional tools like Forms, Reports and Designer are in various levels of neglect, as newer technologies like JDeveloper and XML Publisher come into the ascendant. On the other hand there has been a flurry of activity on the part of Oracle to hook in developers early: SQL Developer, ApEx, Oracle XE. This is a belated recognition by Oracle that at least part of the reason for Microsoft's dominance has been its wooing of developers. Getting developers' mind share is crucial in the uptake of development tools for one reason: recruitment. Nobody ever said "We can't build this in VB, where we find people who know the language?" Perhaps the question "Where will find VB developers with sufficient smarts to build a half-decent application?" should have been asked more often, but the same is true of almost any programming language.

At the UKOUG Conference this year I will be facilitating a round table session on Development Tools. This is a new format for the UKOUG this year and I don't think anybody is quite sure how it is going to work in practice. But the theory is simple: a room of, er, round tables at which people sit and discuss the topic in hand. No podiums, no Powerpoint, just discussion. It might turn out to be the Focus Pubs without the beer. I'm not sure whether the tables will be switched at fixed intervals (like speed dating)

We have on hand four experts to assist me in the generation of debate:

  • Sue Harper, Oracle, SQL Developer Product Manager
  • Grant Ronald, Oracle, Forms Product Manager
  • Omar Tazi, Oracle, Open Source Evangelist
  • Sten Vesterli, Scott/Tiger, consultant

Each of us will host a table dedicated to one topic in the Tools space. Grant will be majoring on the roadmap for Oracle development tools. Sue will be drawing on her experience in Designer, JDeveloper and SQL Dev to assess options for modelling database applications. Omar will be there to discuss open source tools for Oracle, both what's available and opportunities for participation. Sten will be bringing his expertise in Comparative Tools Studies - Forms, J2EE, even Oracle Power Objects. And I will be hosting a table on miscellaneous tools and utilities which may just turn into a session of What's On Your USB Drive?

Of course this is all irrelevant if nobody else turns up. So please come along. Bring your questions, your suggestions, your opinions. Bring your USB drives if you must :). The more fervent your opinions and the more searching your questions the better the session will be.

Monday, November 06, 2006

UKOUG: Comin' up fast

"I count as lost any November that does not include a visit to Birmingham."
Gore Vidal

Yes the grand old man of American letters really said that. And even more unbelievably he was talking about Birmingham, England and not some other Birmingham. In other words, whilst I have barely had time to recover from Open World, it's already time to gear up for the UKOUG Annual Conference. The juxtaposition of these two events is an unfortunate piece of timing for me personally: it means I have had to turn down a chance to speak at the LogicaCMG LOUD event in Amsterdam. On the face of it there is no contest between the canals of Birmingham and the canals of Amsterdam. But as a UKOUG committee member I have overriding commitments to the conference. Dedication indeed.

I am still working on my presentation. Originally my submission on Oracle Types didn't make the cut. I was disappointed but over the summer my workload got tough and I found it hard to get the time to finish my paper for Open World let alone anything else. So eventually I had been quite relieved that I wasn't presenting at the UKOUG. Then last month I got an e-mail from Rachel saying my paper had been accepted after all; I was on the reserve list and somebody had dropped out. On top of which I am facilitating a round table session on development tools. But, in the words of Col. "Hannibal" Smith, I'm sure the plan will come together. It certainly gives me the adrenalin jolt I need after Open World.

The conference this year has been stretched to accommodate the additional members we gained due to the various Oracle purchases. Oracle themselves fixed this in San Francisco by hiring additional venues but this option wasn't open to the UKOUG. So the conference now extends over four days. The directors have taken the decision to offer a compelling conference experience for the newer members of the UKOUG family. The schedule has been organised around a core of PeopleSoft, JD Edwards and Apps presentations on Wednesday and Thursday. The sessions for the technology stack have been spread, sometimes very thinly, across the four days. Tuesday is very strong, there's a dip in choice on Wednesday, a single stream on Thursday and an upturn on Friday.

I understand why the schedule has been so structured and I suppose it is the correct decision. But the upshot is that it is tough for technologists who don't use Apps to justify their attendance for all four days. Certainly I will only be doing two whole days. This is a shame because the Annual Conference has always been strong its range and depth of presentations; traditionally it has been much stronger than Open World, which is more of a networking and marketing event (albeit still the most exciting Oracle event I get to attend). So it's ironic that this year OOW2K6 put a lot of effort into attracting developers, with a whole separate series of presentations under the Oracle Develop banner - and a free T-shirt too!

At least the Development Engineering SIG still has a visible presence at the UKOUG Conference. We seem to have subsumed at the poor old Modelling and Design SIG altogether. And, despite all my grumbling, there are still more sessions I want to attend than there is time available. I'm going to miss some of the ones I really want to hear because they clash with my presentation and the SIG Chairs' meeting. Oh well. I'll be chairing a few sessions and propping up the bar at the Bloggers' thrash. So one way or another I hope to meet some of you next week.

Thursday, November 02, 2006

Oracle Guru: is it you?

Robert Vollman has written a response to an article by Don Burleson on "Oracle Gurus". In it he writes:"Strictly translated, guru can mean 'teacher' - and in many places like India and Indonesia I understand that guru is generally used in that sense."

Anu Garg, of A Word A Day, has this to say about the word:
When we talk about a software guru or an economics guru, we're invoking a word from this classical language [Sanskrit - Ed.]. The word "guru" came to English from Sanskrit via Hindi. It literally means "venerable" or "weighty". Going farther back, it descended from the same Indo-European root that gave us "gravity", "engrave", "grave" and "aggravate" to name a few.

It is only in the sense of being "one who is weighty" that I consider myself a guru ;)

The thing about gurus (in the original sense) is that they are spiritual teachers, people with a handle on the numinous and the ability to transmit their understanding to their students (followers). We should be puzzled by the common use of the term to describe IT experts. After all, computers are machines and programming is an exercise in logic not mysticism. Obviously there are a lot of people in computing who are interested in martial arts and yoga. But there are just as many who are into heavy rock and we don't say Tom Kyte is an Oracle lead guitarist1. So why do we label our experts "guru"? Is there anything less spiritual than tracing 10053 events? Has anybody ever attained satori by ploughing through a hex dump of a rollback segment's block headers?

According to Anthony Storr:
"almost all spiritual gurus are solitary children who have passed through a period of intense personal crisis, often provoked by feelings of isolation, leading to breakdown. They resolve the crisis through a revelation, usually arrived at in private, often on a long and never wholly explained journey."
Actually that does sound an awful lot like ploughing through a hex dump of a rollback segment's block headers.

I suppose the thing is computer systems have become so complicated that they frequently exhibit emergent behaviour. Given all the variables involved - hardware, operating systems, the many layers of software and the vagaries of user activity - it is tempting to think that anybody who can actually explain why our application just did that peculiar thing must be tapping into a store of arcane knowledge. In fact modern systems are generally so well instrumented that most things are (or ought to be) explicable to anybody with a basic level of understanding.

For several years in my twenties I studied T'ai Chi Chuan. My teacher's teacher's teacher was Cheng Man Ching. One of Professor Cheng's aphorisms was "There are no secrets." In other words, as a teacher he had no esoteric transmissions to pass on. He just had the principles of T'ai Chi and everything else preceded from them. To become a master in T'ai Chi is simply a matter of practicing the principles and reflecting on our practice. Or, as another guru recently put it:"forget the mystic, magic, cool in theory internal stuff - learn and master the basics and you’ll blow way past someone who has learned a handful of really cool internal tricks." That sounds simple enough. "Master the basics"? Well we can all read that fine manual. But it takes a lot of practice and reflection until we have the sort of real understanding that constitutes mastery.

On the matter of how we can tell a good Oracle guru from a bad 'un all I can say is that anybody who styles themselves "guru" almost certainly ain't. This unattributed article has some sound guidelines for spotting fake Buddhist gurus which I think apply to gurus in other areas. Remember, a guru is not just somebody who offers you advice: they are teaching you an approach to living (or a methodology for tuning Oracle databases) which will require you to make changes to who you are. At some point in your practice you stop learning the teachings and start learning the teacher. So always ask yourself if you want to be like this person. If the answer is "No" then they are not the guru for you.



1. Of course, if Tom was a lead guitarist it would be in an analytics rock'n'roll band.

Saturday, October 28, 2006

OOW2K6: In the rearview mirror

Back in the UK, all the leaves are brown and the sky is grey. Hmmm, that sounds like an idea for a song...

I survived my Meet The Experts session alongside Tom Kyte with my dignity intact. The relief that Tom recognised me was only slightly diminished by the fact that he confused my blog with that of Andy Campbell. To be fair a lot of people do. Still at least I managed to get a word in edgeways, which puts me one up on Tim Hall ;)

I also managed to get the six (six!) freebie T-shirts home without bursting my suitcase. It was only an hour in the queue to get through the security checkpoint. A minor spat broke out because the officials fast tracked some people whose flight was about to take off. The bloke who had been at the front got quite vocal and it was about to kick off: "Flip you!" "No, flip you!" (or words to that effect). Fortunately the staff calmed it down. But, really, picking a fight in a place where the cops are armed and on edge is just such a dumb idea.

With hindsight it was a really great conference. On Monday it seemed like the infrastructure might crack under the strain but the organisers had done a superb job. It rarely seemed like there might be forty thousand people in the Moscone Center - except possibly whilst queuing for lunch on the Wednesday before Larry's keynote. The conference seemed to lack a big idea. The announcements there had been on the Next Generation database seemed more like 10gR3 rather than version 11. All that changed with the Unbreakable Linux announcement. Suddenly it's penguins all over the place. So how does Oracle 11L sound?

Thursday, October 26, 2006

OOW2K6: If it's Wednesady this must be SF

Jonathan Schwartz was the first keynote I attended this conference and it was very impressive. He wore a sharp suit with a well-chosen tie, designer specs and a neat pony tail. His delivery was smooth and business-like, with the occasional wry aside. In short very much not Scott McNealy. The other difference was that Scwartz seems more interested in the process of IT than in the servers as such.

In his analysis Moore's Law means that selling servers to shops and small businesses is a shrinking market. Eventually those people will ditch their servers altogether and just use networked services to run their business. So Sun are going to focus on the segment of the market whose needs are going to grow - that is, anybody with a data centre. The highlight of his presentation was the unveiling of Project Blackbox. The maximum size for a data centre ought to be the biggest thing you can move, which is a shipping container. And that is precisely what Project Blackbox is: a data centre in a shipping container. Have a lorry deliver it to your site and just plumb it in. If you need to move your data centre unplumb the box and put it on another lorry (or train or cargo ship). Now that's commodity IT.

I've already blogged about Larry's keynote but I should have confirmed that, yes, they did have live penguins on stage. Weird. Afterwards I was talking with Todd Trichler . A couple of months back I had been joshing him about an Oracle distro and he had told me not to believe everything I read. Now I know what he meant.

Before Larry's keynote there was a ceremony to recognise the twentieth anniversary of Oracle's listing on NASDAQ. Apparently this is a big deal over here but I found the whole thing slightly bizarre. Still, the crowd in Hall D seemed to enjoy it. Maybe it was one of those things where you really had to be there.

In the evening I met up with my other LogicaCMG colleagues. There were eight from the Netherlands, seven from the Scandanavian countries (from our recent acquistion of WMData) and one other Brit besides me, which is a good presence here. The evening was great. Everybody had shamingly good English. I drank beer and wine and I do not have a hangover. This is a bad sign so it's just as well that I'm flying back to the UK this afternoon.

Wednesday, October 25, 2006

OOW2K6: Larry's keynote

So the big news is Oracle are going to support Red Hat Enterprise Linux for 60% less than Red Hat charge. That will teach Matthew Szulik to buy JBoss. Oracle Unbreakable Linux will be the RHEL source code stripped of proprietary text and images and with Oracle bug fixes added.

Larry was adamant that this was not about Red Hat, it was about business. Oracle want their clients to be able to use Oracle on grids of Linux clusters. One of the barriers to adoption of Linux is the problem of having bug fixes backported to existing versions of Linux. This is the key differentiator of the Oracle service. Oracle's Linux Engineering division will fix bugs which will be available as patches for Support customers. This is not just Oracle database customers using RHEL, but anybody using RHEL who wants to sign up. Oracle will release the bug fixes to the Linux community including the distro vendors. Finally they will incorporate them into every extant version of RHEL and compile the binaries. The resulting RPMs will be available on the Oracle web site to be downloaded by anybody for free. As the icing on the cake Oracle are going to indemnify their Support customers against any legal fall-out from the SCO court case(s).

There were video messages of support from Dell, HP, AMD, Intel, Accenture, EMC, NetApp, etc. The glaring omission was Sun. And apparently nobody from Red Hat was available to comment.

In the Q&A someone asked whether the death of Red Hat was just an unintended side effect of this. Larry replied, "This is capitalism. We are competing." Yeah, right. Someone else asked about adding storage to the Oracle technology stack, like Network Appliance. Larry grinned, "there's always next year".

UKOUG: Linux Installfest

The Linux Installfests are a great feature of OTN night at Open World and I thought it would be brilliant if we had something similar at the Conference. Fortunately Todd Trichler thought the same and it's happening on the Friday of the conference (November 17th). Bring your laptop and get expert help to install Linux and Oracle. Or just turn up to acquire free Linux distro packs and Oracle software. Sue Harper will be giving a presentation about running SQL*Developer on Linux. Also Bryce from Linux engineering will be on hand to explain the details of the Linux kernel to anybody who wants to go deeper.

In short, something for everybody whether you're a Linux virgin or a battle-scarred veteran. The Install fest is free but you do need to book your attendance during registration. If you already have booked your place for the UKOUG 2006 and would like to add the Oracle on Linux Install-fest to your booking, call the registration office on 01252 77 14 93. If you have any other questions please contact Julius Kisielius.

UKOUG: The conference needs you!

In the midst of Open World as I am I'm stil preparing for the UKOUG Annual Conference which is in November. There are still a number of sessions which require chairing. If you would like to attend the conference but your company's free places are taken or if you are an individual who doesn't belong to the UKOUG then volunteering to chair some sessions is a great way to get into the conference for free.

What is Session Chairing?


The UKOUG like to ensure that every presenter is introduced and that each session is managed well and kept to time. All session chairs will be given guidelines on what to say or do, and you will be given the speaker introductions in advance.

If you have any further queries regarding what session chairing entails, please contact Lauren Gee-Edwards on 020 8545 9689

Session Terms & Conditions:


Please check the amount of sessions needed to be chaired throughout your attendance at conference. All Volunteers will only receive a full conference pass when chairing the minimum amount of sessions.
  • 2 Day attendance = 4 Sessions (minimum)
  • 3/4 Day attendance = 6 Sessions (minimum)

Please be sure to go in and check your selected sessions on your personal 'session chair agenda' to confirm that you can be dedicated to all the sessions you have selected.

If you have any problems please contact Lauren immediately.

How to sign up


There are 2 steps to complete:

A) Click this link to be taken to the Session Chair registration page. Please ensure you fill out all information within the correct fields.

LOGIN: Type in your username and password that will consist of your email address and a password of your choice. This will take you directly to an agenda that all volunteers will have access to.

INSTRUCTIONS: Please ensure you read the 'instructions for use' before selecting your sessions as this is a new process.

B) You must register yourself for your conference pass. The registration page is here. Whilst there you can book accommodation & dinner tickets if you wish to do so.

OOW2K6: Freebie frenzy

Tuesday was definitely more chilled than Monday. Most people have registered, figured out the spatial relationship between the various venues, sussed how to use Schedule Builder and just generally got over the "OMG I'm at Open World" rush. So although there were probably even more people it didn't seem as crowded. The city is noticing the effect. Open World was the lead story on the front page of the San Francisco Chronicle. It wasn't a hatchet job but there was a distinct edge to the story.

My big mission for Tuesday was to scope out the exhibition halls. The main hall is the size of an aircraft hanger and crammed with stands vying for our attention. Several companies are using golfing games as a way of attracting people. Must be some kind of putting meme in circulation. Other stands have draws for a Harley Davidson, a Vespa scooter or a Segway. But most are just giving stuff away: T-shirts, stress balls, wooden puzzles and flashing geegaws. The coolest freebie I got came from Unisys, who have a 256M Flash drive with dimensions of 1*3*0.2 centimetres. In fact it is so small that they have to give you a special wallet to hold it lest you lose it.

Brian Behlendorf on Open Source software


The most interesting presentation I attended yesterday was Brian Behlendorf, ex of Apache and now of Collabnet, talking about what makes open source software so successful and how companies can apply the same techniques to their own internal projects. Brian described open source projects as a laboratory for exploring ways of collaborating. These projects are loosely coupled networks of creativity and sharing, supported by tools and practices to encourage participation. Like Soylent Green, open source is made of people. It has to work with the grain of human psychology because there is no way to coerce coders to work on the software. Good software is just an emergent property of such networks.

Brian listed his three principles of Open Source:
  1. Complete transparency into
    • code authoring and decision making
    • scheduling and prioritisation (the roadmap)
    • discussions around technical trade off

  2. Participation at every level from casual user to core developer
  3. The right to fork

I was particularly taken with his analysis of e-mail usage. Open Source project members are dispersed around the world and working in their own time so e-mail is the only feasible means to hold discussions on any aspect of the project. Because e-mail is asynchronous people are not pressured into answering immediately. So, although the medium of the discussion is casual, the actual content is considered and researched. Furthermore the emails form an audit trail of every discussion and decision, complete in a way that meeting minutes and formal design documents just aren't. The email archive is a tremendously valuable resource when a new person joins the project and needs to understand a why a particular feature works the way it does. This runs counter to the traditional argument against working at home, which is that we get better communication and better decisions when people are together in the same office. Perhaps we should always communicate by email, even when discussing something with the person at the next desk.

Brian's suggestions for turning internal projects into open source projects are:

  1. Break silos by implementing transparency, not just to the code but to all the project's collateral.
  2. Encourage cross-team collaboration with ad hoc projects and special interest groups.
  3. Tackle monolithic apps and inertia, from the bottom up.

This all requires a different approach to project management, with less focus on Gantt charts and more on managing complex processes (like gardening or air traffic control). So that should be easy then.

Bloggers offline


A number of us Oracle bloggers congregated at the Thirsty Bear for a few sherbets. Strangely few American bloggers showed and none of the Oracle employees. I met Steve Karam, the Oracle Alchemist, who is ridiculously young to be an OCM, and the amazing Lucas Jellema, who being Dutch pronounces his name like a cough and not the way I've been saying it all this time. The party split at 09:00pm into those who wanted to hear Sir Elton and those who didn't. We in the latter camp rounded off the drinking in the traditional British way, which is with a curry. The first place we tried had, bizarrely, stopped serving food (this was before ten). Fortunately the 24-hour Naan and Curry house opposite the Hilton did us proud. It was almost like being in Tooting.

Tuesday, October 24, 2006

OOW2K6: Manic Monday Pt 2

I had a slight schedule clash yesterday afternoon. Steven Feuerstein's 10 Things NEVER to do in PL/SQL started at the precise time that Tom Kyte's Database Worst Practices ended but they were in buildings a brisk ten minutes apart. So I decided to attend Steven's talk. I'll be hearing Tom speak at the UKOUG Conference but Open World is my only opportunuity to hear Steven. This was a good call.

I'm tempted to gloss his talk as Chicken Soup for the PL/SQL Programmer's Soul, because it was full of sound advice: drink lots of water, take regular exercise, play mind-developing game with your kids. He didn't quite say "eat up your greens" but it was definitely implied. This is, of course, sensible advice. The rest of his equally sensible points were on best practice in software development in general, although obviously focused on PL/SQL. Ask for help. Don't trust a guru just because they've written a book: verify everything. Share code and ideas.

I liked this talk a lot precisely because it dwelt on process. The tendency for conferences is to focus on features and functionality, which is useful but such information is usually obtainable if you know how to use the documentation and Google. So it's a nice change to hear somebody talk about ways we can make ourselves better programmers and do our jobs more effectively. People do take exception to some things Steven has written. But over the course of ten books it is inevitable that he has said stuff that is incorrect, dumb or just doesn't jive with our world outlook. But at least he admits it when he's been wrong. I think if we all applied the practices in his books rigourously in our coding we would universally be writing better code than we are right now. Of course, never take a guru's word for anything ;)

I think Steven will have trouble launching his new acronym on the world. He was talking about having a Single Point Of Definition for everything - formulas, business rules, SQL. This is like the Pragmatic Programmers' Don't Repeat Yourself rule. The thing is, spod is already a word, at least in England, and it's not complimentary. So the statement "I'm going to SPODify my code" is likely to be met with the rejoinder "Don't you think it's spoddy enough already? Why not try improving it instead?"

Hanging with Eddie


I met Eddie Awad in the Feuerstein talk and we did a tour of the Moscone South exhibition hall. The big hit of the open hour was the EDS stand. They were giving away these cool-looking blue lagoons (a cocktail, m'lud) with a flashing "ice cube" in them. Major queue for those. Another stand had a guy riding a Segway to drum up trade for a presentation about their product. Eddie managed to blag a ride on the thing in return for watching the presentation. I always thought that people on Segways look a bit dorky but Eddie managed to make it look cool. Before boarding the vehicle Eddie handed me his camcorder, which is why the video on his site is not up to his usual standard.

OTN Night at the Oasis


This was a bit of an odd one. Every conference seems to do it: put a group of overwhelmingly male software geeks of an unathletic disposition into a big room and play really loud dance music at them. This year OTN had hired some lithe female dancers in bizarre costumes to really point up the contrast. In one of the other rooms there were some low stages with exotic dancers of various persuasions - contortion artiste, snake dancer, belly dancer. It wasn't actually a burlesque show but I found it a bit disturbing. Oh, and the bars closed an hour before the event was due to end. On the plus side I got to talk with my Dutch colleague Roel Hartmann, Oracle's Sue Harper and some people from the UKOUG.

Monday, October 23, 2006

OOW2K6: The madness begins

It's only Monday and the Moscone Center is already showing some strain. At one point I was stuck trying to get from the Exhibition Hall to Room 104, a distance of about thirty yards. But the only path was through a chicane formed by the queue for coffee going west and the queue for email access going east, with a stream of other people travelling the opposite way. I/O bottlenecks, we got 'em!

The policy of closing the exhibition halls during the keynotes is already getting annoying. There are thousands of people who physically can't get into Hall D and they need something to do. Shutting the exhibition halls just creates crowds of lost-looking people with nowhere to sit.

My choice of sessions yesterday seems to have been remarkably prescient. Chuck Rowzat's keynote devoted a lot of time to the new BI Suite functionality which Mark talked about. Perhaps Oracle really did buy Siebel just to get its BI Analytics software. And Andrew Mendelsohn's talk on the Future of database technology revealed that 11g will automate the partition and compress strategy that Tim Gorman presented.

The other stuff in 11g is geared towards managing change, so maybe we should steel ourselves for a suffix change: 11c anyone? Some of this is going to be a hard sell because Oracle are not backporting these features . "If you upgrade to 11g it be easier for you to upgrade when 12g comes out!" is not a compelling marketing message. But I suppose the hot patching functionality does build on the automatic database management stuff which distinguished 10g. Interesting show of hands: a large majority of people in this session were still using 9i.

Then it was showtime. Apparently my session was sold out, although in the end it wasn't quite full - perhaps some people found the prospect of lunch more appealing - and everybody who wanted to got in. Mostly it went alright (I think). The one problem I had was using SQL*Developer to run the test script but TextPad to edit the code. My laptop frequently froze during the context switching so I was only able to run about half of the demo. I'm not sure why that happened: I had been careful to disable my virus scanner before I started the session. Maybe it was something to do with running through the big screen. Still it gave me the opportunity to get some cheap laughs at the expense of java.

At least now I can relax and enjoy the rest of the conference. If I can somewhere to sit, that is.

OOW2K6: Sleepy Sunday

The first presentation of Open World for me was Tim Gorman's talk on Scaling to Infinity. Obviously I didn't read the abstract properly because this took me by surprise. Instead of being a way to gently ease myself into the spectacle Tim's talk gave me some very useful insights that are immediately relevant to my current project. "All databases are victims of their own success" was especially resonant. Tim's key point was that we can only scale VLDWs if we design them properly from the startpoint. In particular we need to avoid any heavyweight DML (i.e. UPDATE and DELETE) and use partioning smartly. One of my pending tasks is to improve the elasped times of queries in the searching datamart. I think in the light of Tim's talk I am going to have to revisit my implementation (which uses bitmap indexes and partioning) as I'm not sure it's going to scale to infinity.

After that it was up to the icy wastes of the Hilton's sixth floor to watch "Tiger" Mark Rittman dicing with death. Or at least exploring the slapstick possibilities offered by the trailing radio mike's cables. Beforehand Mark had expressed a concern that he wouldn't be able to fill the ninety minute slot on the new BI Suite EE. But in the end he ran out of time, with material still to do. Who would have thought Mark could be so talkative? I had better quickly say that Mark's presentation was coherent and informative and didn't feel incomplete. And he coped gracefully with the inevitable failure of one of his demos.

In the evening the ACEs dinner was nice, although I drank too much wine and didn't eat enough food. I almost got stuck with the bill after the manager mistook me for Andrew Carr. Well, I thought she said "Are you Andrew Clarke?". It doesn't help that we are both balding, bearded and British. Fortunately I eventually managed to introduce her to the right Brit, otherwise I'd be there still, washing dishes. I ended up seated next to Steven Feuerstein who wanted to know whether my presentation was going to focus on utPlsql (which it does). He thinks Code Tester (formerly QUTE) is a much better tool and he's certainly convinced me to take a second look.

I was awake again at 02.00am so I went through my presentation once more. Just as well: I ran my scripts and the first test failed with ORA-01438: Value larger than specified precision allows for this column.  I know I've joked about breaking my demo but this wasn't funny. Eventually I figured it out. The EMP.EMPNO column is NUMBER(4,0) and I had simply run the code so often that my EMPNO_SEQ had clocked 10000. After I dropped and recreated the sequence the scripts ran fine.

Sunday, October 22, 2006

OOW2K6: Weather update

The Oracle slogan for this year is Better Information, Better Innovation. Here is an instance of innovation. The conference bags contain a Fujitsu-Siemens branded umbrella, which makes a change from the usual mouse mats and stress balls. Unfortunately the current weather situation demands sunscreen instead. Did I just say "unfortunately"? Tee hee!

I'm writing this after the speakers' meeting, which included some facts about the conference. Apparently there are over forty thousand registered attendees but on the peak night there will be delegates staying in just fourteen thousand hotel rooms. So either Kent Graziano isn't the only person looking to crash on somebody's floor or else the conference is going to be livelier than we might have imagined.