Tuesday, October 13, 2009

Tuesday: it's raining today

The streets of San Franscisco are awash with rain. So are the pavements, sorry, sidewalks. Here and there stand clumps of delegates, in shock. Not just at the rain, but the fact that it is cold rain. Apparently Californians are only used to warm rain.

My colleagues back in Englan have gleefully e-mailed me to say they are having some lovely sunny autumn days. I say it just goes to show, Open World is work and not a jolly.

Anyway, next year Oracle are going to scale out the Howard Street tent to provide a covered walkway between all the hotels. Until then, it's unmbrellas and soggy shoes.

Labels: , ,

Monday, October 12, 2009

The return of The Scott And Larry Show

Waiting for the keynote to start, the screens loop an animation of stacked cubes labeled "Database","Applications", "Infrastructure" etc unfurling themselves into strands of little cubes which click-clack across the screen and then reform into the big cube. The effect is like a 3D version of the old skool game, Snake, in which you have to direct an ever-elongating python so it swallows mice, spiders and other small creatures.

So anyway, on comes Scott McNealy in a sweater he describes as being "Oracle maroon". I think Open World has missed Scott.. He was one of the few keynote speakers who you could rely on to entertain as well as inform. He kicked off with a Top Ten of Signs Engineers Have Gone Wild. Alongside things like OS2 and USB drives shaped like sushi he had the iPhone user interface. That was an odd choice, because the iPhone is game-changing device and its interface is a marvel of engineering in the service of design.

His next top ten were Sun Innovations. This included SPARC, Java, CoolThreads, NFS and Project Blackbox. It also included "Open Source software" which is debatable. But even if it is true, it highlights Sun's problem: Java was innovative, it was a game-changer and it is ubiquitous. Unfortunately Sun failed to make much - if any - money from Java. Nobody can accuse Steve Jobs of failing to capitalise on the iPhone's innovatory qualities.

The rest of Scott's session was devoted to reassuring us (and him?) that Sun's legacies would thrive under Oracle. James Gosling came on to tell us that most of Oracle's biggest selling products, the Apps and Middleware, are just "big bags of Java". Then John Fowler laid the groundwork for the last section of the keynote. Sun systems are now number one in seven key commercial benchmarks - OLTP, Oracle BI, SAP etc - because Sun has an integrated computing infrastructure, and because they address efficiency as well as performance. The latest Sun drive is the 1.8TB F5100, a Flash drive which has a capacity equivalent to thousands of disks and runs at a mere 300 watts.

This was all by way of introduction to Larry Ellison. Larry's brief was to address head-on IBM's campaign of FUD directed at Sun customers. They are going to invest more in SPARC, in Solaris, even in MySQL. "We think we can make MySQL a better product and we think we can make some money along the way." Addressing the question of servers and storage, he cited an interesting comparison: Apple. Apple have solved the problem of combining hardware and software and this enables them to deliver products which are clearly differentiated from those of their competitors, who are often consortia.

Together Sun and Oracle have the strength to "beat the giant". That is, IBM. Larry then unveiled the headlines of their attempt on IBM's TPC-C benchmark record. The Sun/Oracle cluster had almost 25% more throughput, with a response times which was two hundred times faster. The Sun/Oracle challenger consisted of nine racks in a fault-tolerant configuration, whereas IBM used a behemoth of seventy-six racks which had single points of failure. To top it off, the IBM configuration used six times as much electricity ("Now we know why IBM's microprocessor is called 'Power'", quipped Larry, although I'm not sure the per machine usage quite justifies that zinger).

Larry rounded off by announcing a $10million challenge: your application will run two times faster on Sun and Oracle than it does on IBM, or you win ten million dollars. This is an interesting development: IBM are big Oracle customers, not to mention partners in many areas. Also there are other manufacturers of hardware who will be monitoring the "Apple-fication" of Oracle with some nervousness.

But in the meantime we can look forward to the Grand Smackdown: Team Read versus Big Blue. It's so on.

Labels: , , ,

Sunday: still on the same kick

One of the advantages of membership of the Jet Lag Junta is that I had already been awake for several hours when Tom Kyte kicked off Oracle Develop at 09:00 on Sunday morning. The topic of Tom's talk was What are we still doing wrong? It was a good mix of insight and humour. He covered:

  1. Underestimating complexity
  2. Not knowing how to ask for help
  3. We write/generate way too much code
  4. We pretend everything will be alright
  5. Security matters.
I think Tom would be the first to admit that most of these are things he has been banging on about for years. That is rather the point. His talk was peppered with recent examples of badly-formed code, useless error messages, poorly-asked forum questions and other horrors. One pertinent item concerned the T-Mobile Sidekick (a kind of mobile phone) which stores all its - i.e. your - information in the cloud. Only their storage provider applied an upgrade to the production server without taking a backup. And in the process lost everybody's data - contacts, photos, the lot. Doh!

Tom got a spontaneous round of applause for an extended riff on when others then null which ended "if it's okay for all of your code to not run some of the time then it's okay for it to never run. So take it out." I think if he had included a "Can I get a 'Amen'?" in there he would have got one those too.

My session went pretty well. I think. It was standing room only, which was nice. Both Steven Feuerstein and Bryn Llewellyn were in the audience, which was a bit daunting. I opted for the lectern microphone, which was a mistake; I occasionally misjudged the distance, so the sound levels on the recording will probably be wild. The annoying thing was a problem with the projectors, which washed out the slides. Some were virtually invisible. Fortunately they were mainly there as supporting wallpaper for my talk but it was still frustrating after all the effort I had put in to them. There were no questions at the end, which worries me slightly. But on the other hand hardly anybody walked out, so I hope they got something from it.

I stayed with the Design Patterns thing by going to hear Robin Smith and Shailendra Mishra talk about Design Patterns for Complex Event Processing. As it turned out there were not really any design patterns as such, just an introduction to Oracle's CEP implementation. They have extended ANSI 92 SQL to include a temporal component. This means we can query a STREAM of events using a SELECT ... FROM statement just like a database table. Furthermore we can use WHERE clauses and even join the out put from a stream with regular database tables. Plus the demo included a Google Maps plug-in which the changed colours of the pins in real time. Cool!

Then I went to hear Bryn Llewellyn's talk on Edition-Based Redefinition. This is a very exciting new feature of 11gR2 It will allow us to apply changes to database code and structures online, in production, invisibly to the users. The key to this is running the old code and the new code in parallel. This is achieved with Editions. An Edition is basically a copy of a set of database objects. We can change some of them in the new Edition. Items such as tables are not editionable, so they need to have structures which support both the old and the new edition. DML changes are applied transparently to both using Cross Edition triggers and the data is retrieved using Editioned Views.

We can run both Editions in parallel for as long as we like, in a period rather sexily called Hot Rollover. But eventually we switch all our users over to the new Edition and we can drop the remnants of the old edition in slow time. Oracle are marketing this as a High Availability feature but I think the main attraction for developers will be the chance to put an end to Upgrade Failure Misery. Editions give us the opportunity to get the code in place, migrate the data and generally make sure everything is working properly before we announce the release of 2.1 to our users.

There are some interesting limitations. There is no ability to reference an object by Edition. We can set the Edition for a session, programmatically, but all the objects we see are determined by the set Edition. Tables are not - and never will be - editionable. A non-Editioned item cannot depend on an Editioned item. That means that tables cannot use an Editioned Type and function-based indexes cannot use an Editioned function.

I thought Edition-Based Redefinition is such a cool feature that it would be a Chargeable Optional, like all the other recent cool features (yes, RAT, I'm talking about you). But in fact the opposite is true. Not only is Editions not an option it is mandatory: when we install 11gR2 our database has a default Edition. But if we want to make use of the Redefinition capability we have to do some work to re-jig the schema (rename all the tables, put in Editioned views with the old table names). That has to happen offline. But Bryn promises us it will be the last offline upgrade we'll ever do.

Labels: , ,

Saturday, October 10, 2009

Saturday: The light of San Francisco is a sea light

Weather is going to be a feature of the conference this year. As the plane made its final approach into SFO out of the windows we could see this enormous blanket of fog laying siege to the city. The city itself was clear and the towers of Downtown glittered in the sunshine. Outside the airport, waiting for a taxi the sun was shining strongly enough to make me wish I had brought some sunscreen. But walking about SF later there was a cool wind. So a jacket, while not strictly required, was welcome.

There's more weather to come. Apparently some "tropical moisture" left over from a hurricanetyphoon is heading our way from the Pacific. So they are forecasting rain, some of it heavy, for Monday through Wednesday. It is unfortunate that the conference rucksack doesn't include an umbrella this year; some sponsor might have got a lot of goodwill, not to mention advertising. Being English I never travel without a brolly, but I may end up wishing I had brought a mac as well.

So the Howard Street tent might get more use this year. Outside the Moscone Center a couple of its staff were having a cigarette break. One of them, staring morosely at the tent, said to his companion "Between tomorrow and Thursday, it's going to be hell".

We shall see.

Labels: , ,

Friday, October 09, 2009

Speaking at Open World 2009

All the leaves are brown and the sky is grey. Which hackneyed line can only mean one thing: OpenWorld 2009 is upon us. I have applied for Bloggers' credentials so it occurred to me that I had better resume posting, in case anybody checks up on these things.

One of the reasons why I haven't blogged anything recently is that I have been working hard on my presentation. My talk is called Designing PL/SQL with Intent (seats still available!). I haven't coded any PL/SQL for work this year, which ironically has given me time to actually think about it. My session is concerned with building PL/SQL APIs and doesn't really touch on the internals (I'll leave that to Tom, Bryn and Steven). Because I am talking about design, I have spent an inordinate amount of time of the look of my slide deck. So this recent Dilbert cartoon was a little too close to the bone....
Dilbert.com

I'm in the Oracle Develop event. My slot is 13:15 on Sunday, less than twenty-four hours after I land at SFO. So I will probably still really jetlagged. But at least I'll get it over with, so I can relax and enjoy the rest of the week.

Labels: , , ,

Wednesday, July 15, 2009

No SQL, so what?

It's been a fortnight since Log Buffer rounded up the reaction to the nascent No SQL movement. But there is a lively thread still running on Oracle-L. The entire thread is worth reading, but I was particularly struck by something Nuno Souto wrote:
"Now: the simple fact here is that folks from Google, Facebook, Myspace, Ning etcetc, and what they do as far as IT goes, are absolutely and totally irrelevant to the VAST majority of enterprise business."
This is so true. For starters, there is no SLA for users of Google's search engine. If Google doesn't include a page because it hasn't been indexed yet, well that's just the way it is. Ditto if Google returns duplicate hits because the same page has been indexed in multiple places, or returns different results to different uses because the indexes haven't been replicated across the entire estate. It doesn't really matter because Google's results are usually "good enough". Besides, it is jolly hard to spot missing hits or inconsistent results. Whereas in regular IT a similar casualness would undermine our users' faith in the system and lead to developers' heads being paraded on pikes.

It is also worth noting the major omission from the list of the usual suspects which are trotted out in these arguments: Amazon. Amazon's business model is most like regular enterprise IT - focused data retrieval, highly transactional, and with a premium on data integrity, security and performance. Consequently Amazon runs Oracle.

Why is there this widespread antipathy to SQL databases? It's not just because SQL is hard. I mean, Hibernate is complicated to understand and fiddly to implement. It goes beyond mere effort. Seth Godin wrote the following while discussing what qualities a computer game must possess in order to turn a customer into a die-hard fan:
"For World of Warcraft, [the learning curve is] huge. It's very difficult to spend just an hour or two. There's a chasm between encounter and enjoyable experience. Tetris was oriented in precisely the other way--everyone who tried it instantly became almost as smart as an expert."
I think this applies to development software too. Hibernate may be complex but it is couched in objects and Java and XML configuration files, so if you're already experienced in J2EE you already have an innate understanding of its fundamentals. You can become productive quite quickly. Many of the data storage tools present at the NoSQL briefing come with APIs in Java, Python and similar development languages. In fact, ease of use for developers is a big play; Voldemort even celebrates its mockability (which is a reference to the Mock Objects school of test driven development and not a measurement of ridiculousness).

We are all aware of the cost of context switching in Oracle. Embedding SQL in unnecessary PL/SQL constructs is less performant than using set-based SQL statements. The NoSQL movement is addressing a similar problem: concept switching. It is easier for application developers to maintain their velocity if all their work uses the same languages, approach and indeed IDE.

It is obvious what the attraction is for developers. That does not make a NoSQL product suitable for any given business. Sure, if the application is primarily concerned with the storage, retrieval and emendation of documents it probably makes more sense to use a product like CouchDB than to try to shred the document into relational tables. But if the application is highly transactional and/or handles valuable data then something like MongoDB is definitely a bad fit. To be fair MongoDB does list the applications for which it is less suited.

It comes down to understanding what is appropriate for the project in hand. That is an assessment which really belongs to the users, because they are the people who know - or at least ought to know - the value of the data to the business. The Daily WTF recently published this cautionary tale showing the consequences for a company and all its employees which entailed from underestimating the value of its data and disrespecting the importance of adequate data storage.

Labels: , , ,

Sunday, June 28, 2009

"Jerry" is a spamtard

In fact he may well leave a spam comment on this post, touting his list of bridalwear sites. As "Jerry" in all likelihood doesn't read English the irony will be lost on him. I'm talking as though "Jerry" is human but probably he is a bot: I seem to remembering reading that somebody had cracked captchas a while back. Certainly "Jerry" has been the only spamtard persistent enough to spam every single post on this site, even my very first one (which possibly makes him the first person to visit that page, ever). "Laptop Battery", "Peter W" and "Eda" are lightweights by comparison.

This sorry state of affairs is my fault. I have allowed comments without moderation because I would rather zap the occasional spam than moderate all the comments. But, until Joel Garry alerted me, I had failed to notice that spamtards were spamming old posts. As Joel said, some of the stuff was nasty, really explicit pr0n sites. So, moderation for older posts is now in effect - it's already caught a couple.

In the meantime I have a large housekeeping task. One post - on multi-core licensing, bizarrely - has over 150 spam comments, and as I have already said, "Jerry" has spammed every single post. It is unfortunate that Blogger does not provide the functionality to delete comments in bulk, despite being desired for several years. So the only option is to delete each spam comment individually, which as Bill Scott has observed, is a rather user hostile design.

The question behind all this is why Blogger doesn't provide the functionality. It's not like it would be hard to offer a list of all the comments with a check box and a Delete All button. The Google forums (they own Blogger) have lots of questions but no useful advice. It is especially puzzling when compared to the excellent way GoogleMail handles spam.

Now I am off to zap a few more comments. With a song in my heart and a smile on my face, naturally.

Update: 19-JUL-2009


Unfortunately my prediction was wrong and "Jerry" didn't post a spam comment to this thread. However, the moderation filter picked up another spamtard trying to post to this thread. The text is so wildly inappropriate that I was almost tempted to publish it:
I'm glad you're back to posting. I love reading about your shopping adventures and great finds. Your outfits are always super cute too!
Thank you, "Julia", your outfits are always super cute too.

Labels: , ,

Wednesday, June 17, 2009

Which one would you read?

The digest from one of my LinkedIn groups included a plaintive cry from Bruce Newman, VP of the Productivity Institute, regarding their weekly newsletter. One of the articles in the current issue has been read far more often than all of the others and he would like to know why.

Here is the list: which one would you choose to read first?

  • Why Even Good Marketing Fails - And How To Fix It
  • The Problem Of Self Examination
  • Knowledge Management Systems: It's Not What You Know...
  • It's All In The Details
  • People Drive ERP Systems' Performance
  • Defining A Company's Identity
  • A Violinist In The Metro -- Washington, D.C.


If you are most intrigued by the last title then you are not alone. That's the one which has so troubled Bruce.

To me its appeal is clear: every other title is either vague and bland, or explicit and dull. Only that title arouses the reader's curiosity: it must be about busking in the subway but surely a business tech newsletter cannot publish a piece on such a subject. I expect that the sort of people who subscribe to a newsletter published by The Productivity Institute have inboxes stuffed with mailings about ERP systems; they must appreciate the chance to read something different while still apparently working.

I feared the actual article might not live up to the promise of its title. But fortunately it's worth reading. And the lesson is applicable to VP Bruce Newman's predicament.

Labels: ,

Peaking behind the knowledge curtain

After threatening for years to start a blog Martin Widlake has finally put fingers to keyboard. Some of you may recall that I am a fan of his UKOUG presentations. His writing is entertaining and insightful too. Despite his blog being called Yet Another OracleBlog he has not written much on Oracle, but I expect that will come.

In the meantime Martin has revisited "The knowledge curtain", a concept he discussed in one of those UKOUG presentations. The curtain is that barrier of misunderstanding which separates users and IT staff. It is one of the main reasons why some IT projects overrun or exceed budget or fail to fully meet the users' expectations.1 The good news is, the barrier is just a curtain. It's not a wall topped with barbed wire, it's not a shark-filled moat. I won't give away Martin's analysis: you can read it for yourselves

This does seem like a good time to mention something Rob James said at a BCS SPA meeting from a while back. In a discussion about rules engines he observed that these days it is not uncommon for the IT department to have a better understanding of the business than the users. The users only know what the business rules should be: the IT staff know what the computer systems actually do.




1. Whereas the occasional IT catastrophes, the ones which make the headlines, are usually due to a single error.

Labels: , , ,