Saturday, September 30, 2006

Dbforum 2006, in the past...

The database forum just finished.  I am back in Malov Denmark - outside of Copenhagen - for the night to await my flight back home.  The database forum was a neat event.  I was a track leader - meaning I actually had some ongoing responsibilities during the conference.  But that also meant I got to attend all of the sessions in my track, something I don't always get to do.

So, what will I miss about the dbforum?  Not this guy, one Doug Burns:

Doug Burns at the end

He looks friendly enough, but looks can be deceiving :)  All of these guys - definitely.  I got to meet and "re-meet" a lot of people.  I recognized some people from prior seminars and got to meet lots of new people I hadn't before:


I definitely will not miss these beds!  The rooms were comfortable - but six people and one shower... Interesting in the morning:

Not going to miss the beds too much

I'll definitely miss the goats - not every conference has goats you know (it is true! believe it or not)

The Goats

 All in all, the housing was very nice, some 1,100 'cottages' all over the place.  Lots of people around (besides the conference attendees).  It was definitely fun (and don't let Jonathan Lewis know that I picked up a thing or two from his session)...

The Cottages were quaint

On the way out the door, I spied some artifacts from Mogens Oracle Museum, a copy of the Version 3 and Version 4 Oracle:

Blast from the past

 I picked up the documentation and was browsing through it, stumbled upon a chapter on the ORDER BY clause.  Learned something new.  I thought ORDER BY had always sorted NULLS to be "high" (big).  Until 8.1.6 with analytics when they extended the ORDER BY to support NULLS FIRST and NULLS LAST so we could decide.  But apparently in Versions 3 and 4, it was different:

Things Change...

It says there that NULLS always come first.  And sure enough:

screen1 screen2

So, over time - things change.  Hey, that was part of my presentation on Friday night.  That is what makes "experts" wrong so many times.  Because things change and what they think they know - just ain't so anymore.

The Miracle ABBA Musical...

Some videos from the show...

First, an enthusiastic viewer from Sweden - complete with lighter, views the show (about half a minute)

Next we have Thomas Presslie on bagpipes doing Abba - which apparently is harder than it sounds since bagpipes are in B-flat and, well, Abba is not (about 1 1/2 minutes):

and the last part of that Abba song with the bagpipes (about 1 minute):

this last 48 seconds of movie is of the song "gimme gimme gimme" (by Abba of course) with new words:

Abba Rewritten

check out verse three there, I've been immortalized in song (bad song, but hey, I'll take what I can get).

Hope you enjoy the videos...

dbforum 2006, day 2

Day 2 is at an end - and that is probably a good thing :)  It ended with a splash - literally, at the Lalandia water park (a water slide, indoors, some 3 or 4 stories up was just one of the features).  Well, actually I guess it ended at about 2:30am as Thomas Presslie from Scotland decided then to break out the bagpipes and serenade us with some music.

The day was filled with technical talks of course, here is Jonathan Lewis getting setup to do the "Optimizer Worst Practices" talk in the track I organized:

Jonathan setting up

 After the many sessions, it was time for the "Gala Dinner".  The food we pretty good - a little lobster to start and beef/pork freshly carved for the main courses.  No one complained much about the food:

The dinner begins

 Even Cary Millsap approved:

Cary Approves

 After dinner, Mogens got us ready to watch the "Miracle Abba" performance.  It was looking to be a good show.  Much work (and even some practice) went into the production.  And a production it was:

Miracles own

Everyone was looking forward to the festivities, Doug Burns was ready with camera:

Doug is ready for the show to begin

(you will need to remember how chipper Doug appears here, this look will be short lived for him).  Anyway, Mogens put a lot of effort into this show - having a playbill produced and all (I think he just likes to see his picture on things myself)

The Miracle Abba show

The show went on (I shall try to upload some video of it later in another entry... the files are large).  Everyone enjoyed it:

Cary and James Appreciating the Abba

After the show we had some time before the water park event.  Jonathan Lewis attempted a little "bagpiping".  It met with mixed results.  You can see some very short video below as well:

Jonathan on bagpipes

But now, it is off to the first session (yes, yes - I know, "but it is Saturday".  Well apparently they do sessions on Saturdays here in Denmark, go figure).  Back home tomorrow, it'll be nice to be back.  Besides, I have only one clean shirt and such left.. 

Oh yeah, remember I said to remember how chipper Doug was looking - well, he wasn't this morning when I left the cottage.  He may have been first to bed the night before last, but last night - I've a feeling he out lived everyone else - it is Saturday but he is still in his Friday clothes.  We'll see what he looks like at his presentation this morning - right after my presentation.

Doug in in the morning


Now for some short videos - Jonathan Lewis attempting to play the bagpipes:

he did a little better the second time around:

but not much :)

Friday, September 29, 2006

dbforum 2006, day 1

We are in the middle of day 1 of the very very last dbforum (full set of pictures here) in Lalandia (somewhere in the middle of Denmark). I arrived in Copenhagen Wednesday night after finishing the seminars in Paris, Zurich and Vienna. Quite a few of us showed up Wednesday in time for dinner

Dinner the night before dbforum

After dinner, it was back to Mogens house for some computer time around his big oak table:

Shrek hiding behind some beer at the oaktable

The next day, it was time to drive to Lalandia. It is a rather unique place to say the least, basically a "family vacation" spot, but is now inhabited by 150 Oracle DBAs and developers. Mogens kicked off the forum Thursday night with a nice introduction

Mogens kicks off dbforum 2006

As part of this session, there was a quiz - 42 questions about Oracle. Things technical and things trivia were asked. The audience were broken into three groups:

  • Miracle Employees (Mogens runs Miracle AS in Denmark)
  • Oak table members (the group I was in)
  • Attendees not in either group above

Now, we all took the test at the same time - answering the 42 questions. Afterwards we exchanged papers and graded them. This was the interesting part - as it is really really hard to write un-ambiguous questions. So, there were a couple of "hey, but this answer is valid too" (yes, I raised a few of those myself :)

Then we found the high score from each group... I was nervous as I had a pretty good score - but I was pretty sure that Jonathan Lewis would as well:

Jonathan Lewis

The reason for being nervous is written on the slide right behind Jonathan there - it says:

"If a tie, we will have a penalty kick off. The persons vying for the place will ask each other an Oracle question. First to miss, looses"

I was hoping for "not a tie". So, they started counting down the points. 42 - no one had 42. 41 - that was me. Jonathan did not also jump up, so there was no tie there. I did find out what his score was however. 40 and 5/7ths (partial credit for one of his answers). It may only have been 2/7ths of a point, but it was 2/7ths of a point.

What did I win? I won a certificate entitling me to a bed (not the floor), priority at the shower, and breakfast served in my room (if desired) the next time I stay at Mogens house. Now, you might say "big deal", but trust me - that is a big deal. I am keeping that certificate, it will come in handy some time in the future.

I did have a question ready however, just in case. It was going to be:

"What is described in chapter 21 of the 10gR2 Data Warehousing Guide?"

I figured unless he had been reading it that morning as I had been (I referred someone to it in an answer on asktom), he probably would not know off the top of his head. I shudder to think of what he might have had for his question.

Then it was time for some relaxation:

Mogens Says

and a drink or two, here is Doug Burns sampling the tequila:

Doug samples the tequilla

and it was downhill from there. Anyway, back to the sessions - just heard from Mogens about "how not to manage a project" and David Kurtz just finished "worst packaged application design decisions". Just waiting for Tim Gorman to deliver "how NOT to do your data warehouse". Can you tell - I'm the track leader for the "worst practices" track :)

Wednesday, September 27, 2006


I travel a lot.  I've flown over 82 times this year (I don't keep track of non "star alliance" flights, of which I've probably had about ten or more).  I have 28 more scheduled flights before the end of the year (and that is probably all that I will take...)

So, I spend time in airports - and I can say this for sure, European airports are much much nicer than North American airports.

Much nicer.

I'm in the lounge, which they let me into for free since I fly a lot.  Try that in the US.  I had to buy a red carpet club membership.  This is pretty standard in Europe - you fly a lot, you get into the lounge.

The lounge has actual food - meat, pasta, a buffet.  Red carpet in the US - no real food and you are not allowed to bring in your own food either. Food is pretty standard in Europe.

The lounge has wine and beer and other drinks for free.  This is pretty standard in Europe.  Red carpet in the US - $6 for a wine, $$ for a beer, charges for everything. 

The network I'm using - free.  This is not standard, but does happen from time to time.  I cannot imagine a complimentary network connection in the US.

Newspapers, magazines - dozens of them here.  Not so at home.

In general the shopping - many choices here.  Not so much at home (well, Denver and Pittsburgh are pretty good - from time to time it can be OK).

Even if they do not have a lounge, the food is just so much better in the airport restaurants over here.

Ok - there is a downside... They let you smoke in most of them still.  Person next to me just lit up. 

Anyway, my point is - traveling in North America, not a user friendly experience in general.  In Europe - not too bad.

And the luggage comes out in baggage claim pretty darn fast too.

Monday, September 25, 2006

Action, Module, Program ID and V$SQL...

My last entry pointed you to an article about using DBMS_APPLICATION_INFO.  An observation was made by Alberto Dell'Era that it would be nice if Oracle plopped the PLSQL module name into the session when executing the SQL in that routine.  I don't think that would be good - I would want my information there - and not have it overwritten by the PLSQL runtime. 

Jonathan Lewis pointed out that the module and action columns are in fact populated in V$SQL so that if the developer does use the application info package, it'll appear there - but then questioned what happens when the same SQL statement is associated with multiple values.

I'd like to clear up what happens then - and to add that 10g does in fact also try to inform us of the program (PLSQL module) and line number within that program that first parsed it.  That is, we not only see the first action and module associated with the SQL (that is the answer to the question about "what happens when multiple actions and modules are ultimately associated with the same SQL statement", the first one to parse the SQL statement gets to set the values for all other invocations) but also the object_id of the PLSQL module that first parsed it.

For example:

ops$tkyte%ORA10GR2> create or replace procedure p1
2 as
3 begin
4 dbms_application_info.set_module
5 ( 'p1 module', 'p1 action' );
6 for x in
7 ( select *
8 from dual look_for_me_1 )
9 loop
10 null;
11 end loop;
12 for x in
13 ( select *
14 from dual look_for_me_2 )
15 loop
16 null;
17 end loop;
18 end;
19 /

Procedure created.

ops$tkyte%ORA10GR2> create or replace procedure p2
2 as
3 begin
4 dbms_application_info.set_module
5 ( 'p2 module', 'p2 action' );
6 for x in
7 ( select *
8 from dual look_for_me_1 )
9 loop
10 null;
11 end loop;
12 end;
13 /

Procedure created.

ops$tkyte%ORA10GR2> exec p2

PL/SQL procedure successfully completed.

ops$tkyte%ORA10GR2> exec p1

PL/SQL procedure successfully completed.

ops$tkyte%ORA10GR2> select object_name, object_id
2 from user_objects
3 where object_name in ( 'P1', 'P2' )
4 /

------------------------------ ----------
P1 126238
P2 126241

ops$tkyte%ORA10GR2> select sql_text, action, module,
2 program_id, program_line#
3 from v$sql
4 where sql_text like
5 '% LOOK\_FOR\_ME\_%' escape '\'
6 /

--------------- --------- --------- ---------- -------------
SELECT * FROM D p2 action p2 module 126241 5

SELECT * FROM D p1 action p1 module 126238 9

So, P2 "owns" the "LOOK_FOR_ME_1" sql statement - it set the action, module, program_id and program_line# in V$SQL. Similarly - P1 "owns" the second SQL statement. It all depends on who executed it first (and hence can change as the instance is shutdown and started up).
So - start using dbms_application_info and now that you know about the new columns in V$SQL, you can start using them as well - just bear in mind that if multiple SQL modules invoke the same SQL - you will only learn about one of them.

Sunday, September 24, 2006

Stop what you are doing...

And read this now... I couldn't have said it more forcibly myself!  I've said the same thing over and over and over again...

Well done.  It is the little things in life sometimes.


Or as I was taught to call it - Vienna. Just got back from a day in the older part of Vienna walking around.  The day started with the tour guide picking me up at the hotel early and getting on the train to downtown

Looking from Vienna International Center towards town

downtown was dead center in the picture, just 5 train stops from where we were.  After a short ride we were there:

Starting out in the old town

I've said it before and I'll say it again - if you have the opportunity, get a guide when you go somewhere you don't know that well.  If you don't know what you are looking at - it is not nearly as interesting.  A guide can help point out things like the signing room:

The signing room started by Mark Twain

which was supposed to have been started by Mark Twain and carried on through the years.  All kinds of celebrities have signed the walls - and now it is a protected building. Or this really old political cartoon (that is the theory anyway)

A really old political cartoon

The guide explained that this building had been called the "playing cow" or something to that effect for a long time.  No one really knew why until some renovation was done not too long ago.  They found this painting until layers of outer coating and revealed part of it.  A cow playing back-gammon. The story as she told it was - the cow is wearing glasses, it represents the Catholic intelligentsia.  The fly in front of the cow - it represents the Protestant Church being a bother - the man in the background has a fly swatter and is keeping the fly out of the cow's face.  She is not sure if it is the real story, but it makes for a nice story anyway.  That is the sort of stuff you just miss walking about by yourself. 

After a couple of hours of being toured around - I set off by myself.  After a nice Austrian lunch (I had a nice plate of Tafelspitz, very nice) I stopped by the Hotel Sacher on the recommendation of Alberto Dell'Era.  He told me that I had to get some Sacher Torte

Reputed to be really good - Sacher Torte

So, I shipped some home (my daughter Megan loves chocolate).  The weather was incredible for this time of year.  It was perfectly clear and about 75F/22C.  Perfect for walking about.  After a while, I noticed that there was an exhibition of artwork by Picasso


and having never really seen much of his work, I stopped in.  I suppose that much like a martini - Picasso is an acquired taste.  I didn't really see the point in his work, did not do a thing for me.  The rest of the museum was much better.  In particular they had a section of very old photographs (Daguerreotypes actually, that link will probably go dead over time I'm afraid..).  That was very neat to look at, spent more time with the old photos then with Picasso.

Anyway - two days of seminar and then I'm off to the very very, absolutely the very very last database forum.  Should be fun - I get to sleep on the floor for two nights and share a room the other two nights.  I haven't done something like that for a while :)

Saturday, September 23, 2006

Looking forward to tomorrow...

Just arrived this morning in Vienna


after being in Paris and Zurich all last week.  It felt like a really long week - and it was.  Jet lagged a little bit last weekend (without camera, in Paris, ugh).  Then 2 days of seminar delivery.  Flew to Zurich Wednesday morning and spent 4 hours with a local customer and then 2 hours with the Swiss Oracle User Group.  Thursday and Friday was another two days of seminar delivery.

Which means I couldn't really do everything else I normally do during the week.  So, my inbox grew a scrollbar (nirvana is no scrollbar).  Today was the day of "beat back the scrollbar".  I have it down to 6 and I might be able to get it down to 5 or even 4 before the evening is over.

I'm sort of glad they are upgrading the air conditioning in my office back home.  Asktom is "offline" this weekend while they do that - so I was not distracted by that all day.

Tomorrow I'm just going to kick back and relax.  I have a tour setup, will be going around the old section of Vienna (with camera) and am very much looking forward to that.  From the very little I've seen - Vienna looks nice.

(did you know it takes a couple of minutes to create a table with 50,000 partitions :)  It is almost finished and after it is, I can go out and look for some dinner...)

Thursday, September 21, 2006

I too am excited...

About batteries.  Just like this guy isSomeone pointed out this nifty USB chargeable battery earlier and I just saw it again.

That is a neat idea - unfortunately nothing I use uses AA battery.  I still think any device that has

  1. a rechargeable battery
  2. a USB connection

should just be able to DO THIS - charge off of the USB port.  My phone can.  My camera and XM radio - both have USB connections and rechargeable batteries - cannot.  Time to get with the program I think.  Less plugs when we travel.

Wednesday, September 20, 2006

Exploding Batteries

I've been reading about the many exploding battery incidents out there.

I've got a Sony laptop...

It has a Sony battery (duh)...

Yet Sony laptops are not exploding... Hmm.  If Sony causes us to not be able to carry on laptops in the future, I will boycott (I won't be able to go anywhere, not a chance I will check my computer - sorry but NO). 

Speaking of batteries - I arrived in Zurich this morning after getting up at 4:45am to catch my flight from France to Switzerland.  After meeting with a customer for 4 hours and speaking at the Swiss Oracle User Group for two more hours - I got to my hotel later this evening.  A "small" package from home was waiting for me (thanks to Lori):

Small Package

 If that is their small box, I'd like to see the medium one.  It worked though, the battery and charger were in there and I can take photos again.

I still need to go back to Paris with a camera though.  What a neat place.  There are just so many icons there - you see things like the Eiffel Tower:


that you've seen a million times in pictures - and until you see and photograph them yourself, live in person - just don't mean the same thing.  I have a mission now - to go back soon, with batteries!

This weekend - Vienna.  Looking forward to it, the weather so far looks perfect.  There will be pictures Sunday night for sure.

But for the next two days - I'll be in Zurich giving a seminar first...

Sunday, September 17, 2006

Radio Free...

I'm in Europe, so it seemed like an appropriate title.  I was reading around and hit this page.

That is exactly the reason I bought into XM Radio.  The same songs on FM (over and over and over and over).  The mega amount of advertising - which the radio stations seemed to have coordinated (have you noticed that if one station is doing a commercial - they all are?).

I would have a 25 minute commute and many times I might hear 2 songs on the entire trip home.  Now I hear what I want - when I want it.  News (anything other than Fox), comedy (makes the drive go faster sometimes), music of any genre.

At my desktop - I listen to XM radio streamed over the network (doing that right now in the hotel).  On the road, I have my XM Inno (when my charger works anyway).  I have it record some 8 hours of broadcast every night for airplane trips and what not.

I simply do not listen to "real radio" anymore.  I hardly watch broadcast television in real time either (and not too much on Tivo really either).  I find I get most all of my news from the newspaper and yahoo news/google news. 

Things have changed.  Just mentioned this to my wife Friday - she dropped me off at the airport and 30 minutes later we were instant messaging, I was mentioning I forgot my camera battery/charger.  She wanted my payslip from work (they do not come via email).  I said "hold on" - VPN'ed into work, pulled it up, used primo pdf (if you do not have primo pdf, just get it - you'll use it a lot) to "print it" to pdf and emailed it.  Disconnected from VPN and said "this Internet thing might catch on someday....".  Go back ten years ago - this last paragraph would have been "fantasy", stuff of sci-fi.  Instant messaging, connecting into work from anywhere, having access to any application from anywhere, emailing to anyone anything... 

Now, I'm just waiting for electricity over the air - just like we have "Connexion sans fil" (wireless connection).  That would solve my last large remaining problem - batteries :)

Here is a quick shot of where I spent the morning:


If you do a weekend in Paris, I recommend staying in a hotel right by the Arch de Triumph.  You can walk anywhere from there.  I walked down towards the Louvre this morning, across the river Sienne.  Then headed back up towards the Eiffel Tower, back across the river and down the Rue Victor Hugo back to the Arch.  Nice big loop.  Third time in Paris, first time to the Eiffel Tower close up.  It looks stormy in the picture but the rain held off all day.  Pleasant for walking.  Paris is really pretty good for walking - big sidewalks in crowded places, the signs are large, maps everywhere (on bus stops), pedestrian lights on most crosswalks (and people seemed to stop when they should).  Easier to navigate than say New York City.

Did a late lunch at a sidewalk cafe.  The people next to me were in winter coats with scarves!  They obviously have never summered in San Francisco where the temperatures we were having (it was about 67F/19C) would be scorching hot.  I thought it was pleasant - bit windy but pleasant.

Busy week coming up - Monday and Tuesday I'll be doing a seminar from 9-5, Wednesday morning fly to Zurich and do a customer visit for 4 hours, then speak at the Zurich Oracle User Group.  Thursday and Friday - another two days of seminar.  Throw in a couple of meet and greet dinners at night as well...  Looking forward to next weekend (when I should have my camera back in action) as I'll be visiting Vienna Austria for the first time...

Saturday, September 16, 2006


I arrived in Paris France this morning.  Going to be doing some seminars in Europe with Oracle University over the next two weeks.

I cannot believe I forgot my battery and charger for my camera in the plug at home.  I realized it just before boarding my flight.  And I could not find a replacement today.  It'll be fed-exed to me in Zurich later this week - but no pictures here in Paris.  And they would have been good.  I took a couple with my phone (a treo 650) but they stink:


That is the Arch De Triumph viewed from new the Louvre.  My hotel is right next to the Arch and I decided to walk to the Louvre - not too far, about 45/60 minutes.  There were dozens of things worthy of photographing... I'm definitely going to have to come back (for my 4th visit, with my camera this time...)

Anyway, I spent most of the day in the Louvre.  I got through some of it - but will have to go back tomorrow to finish. 


You could spent a couple of days in there - it might not be as big as the Vatican Museum (I don't think it is), but it is huge.  And awesome.  The crowds were light - it was easy to navigate, well laid out, plenty of space and most all of it pretty good.  I admit, paintings start to bore me after a bit - but I like the statues, objects de' art, and other three dimensional things.


I really really wish I had my camera charger - I am so bummed about that.  Not only that - but I just discovered the XM Inno plug - it is 120v, it won't work here without a converter - something else I didn't bring.  So, I had music today but that is it - no more, the battery is dead and it won't charge...


and learn...

I'm hating proprietary batteries right now - my phone, my XM radio, my camera all take similar but different batteries.

And only the phone will charge off of the USB port even though both the camera and XM radio have USB ports.... That would have solved all of the problems...

Thursday, September 14, 2006

Classic example of why I despise...

WHEN OTHERS.  When not followed by RAISE; to re-raise the error.

What is really bothersome:

I am having this problem since a months (sic)

Ok, they've been stuck in their upgrade (probably cursing 10g in the meanwhile), all because of this stupid "when others" clause.  I despise it, I want it gone.  I know - there are valid uses of it, for example:

when others
log_error( ...... ); -- log error is an autonomous transaction

but you know what, I just don't see it used correctly in most cases, yes MOST cases.  People feel compelled for whatever reason to hide errors from client applications - and always include that fateful when others without the raise;.  I cannot count the number of bugs in existing systems that I've found - let alone the ones that are out there just waiting to spring out and bite someone.

I am just thankful they wrote a function, and forgot to return anything in the when others.  Small things like making two fatal errors sometimes cancel each other out and make for something that works!!!

If I could remove three things from the database - they would be:

  1. Triggers
  2. Autonomous Transactions
  3. When Others (at least if not followed by RAISE or make when others ALWAYS re-raise as part of the language itself!!)

Triggers are so abused - and used so inappropriately, I'd rather live without them.

Autonomous transactions (coupled with triggers of course, to avoid mutant tables or something) are another "bug in the disguise of production code".  Almost universally misapplied.

When Others - 'nuff said.

I don't even know what to say about doing DDL in the function like they do - or the lack of bind variables.  My afternoon is wrecked after seeing this piece of "code".  Utterly destroyed.

Wednesday, September 13, 2006

After pointing to it many times...

I got to write a post for it.  See me on thedailywtf today.  Got a free personalized (ultimate extensibility) coffee mug out of the experience.

Speaking of coffee mugs, I cannot remember how painful an afternoon in a place away from home between engagements was dealt with before

  • starbucks
  • t-mobile
  • GPS

I was at a customer site from 8am to 12:30pm today.  Then, got in my car and drove the 20 miles to the next place I had to be, for a 5:30pm engagement (the Philadelphia Oracle User Group).  Needless to say - it was only about 1:30pm by then.  So, punch starbucks into my GPS, found one 2.3 miles away - drove over and here I am.

With my large vanilla latte.

And high speed internet access.

And my XM radio...

Almost as good as being at home/office.

Monday, September 11, 2006

Sometimes it is all about simple...

We got new phones at work. They are very fancy with a big color screen and all. State of the art I guess.

But it was driving me nuts. The phone is sitting in the corner of my vision and colon in the time would just blink and blink - and when the time changed - bigger sort of blink. it kept drawing my eye to it. I found that very distracting.

My solution - turn the phone away so the screen isn't visible. It worked, but made it so I couldn't see the phone anymore until I turned it around. I couldn't answer the phone easily either.

Tyler Muth, a guy I work with, said something very smart. Very simple, but very smart. All he said was:

post-it note

Of course. A post-it note, it just covers the clock, no more blinking distraction. It is perfect.

Sometimes, it is all about simple....

Sunday, September 10, 2006

Who's on first...

My dad watched it as it happened.  I watched it on Sundays in rerun, I remember lying on the family room floor every Sunday before lunch from 11-12 watching Abbott and Costello.

And now they've updated it for the 21st century - the infamous "who's on first" with Yoda and Jar Jar Binks.

Still though, Abbott and Costello - my all time favorites, or at least so far up there that they tie for first with anything else.  I really enjoyed their movies, the television series, all of it.  Black and white shows - nothing like it...

I'll now travel with a sense of security

No, not because of the TSA or any new policies like "no liquids".  Rather because of the VMWare Player (free stuff).

Why would that make me feel more secure?  I've always been worried about my laptop getting stolen, stomped on, dropped or just failing.  If I'm setting out on a two week trip - that would be fatal - I wouldn't be able to complete the trip at all.  The laptop represented a complete "single point of failure" with no backup.

What I've done (and tested of course) is to stage on a 60gb external USB disk (tiny disk, takes no room really)

  • a copy of all of my presentation material
  • VM's (virtual machines) capable of running the demonstrations I have
  • an installable copy of power point (just need the viewer really)
  • an installable copy of the free VMWare player


I'll pack the disk separate from the laptop and if one or the other gets destroyed - as long as I have access to one of them - I'll still be good to go.  Sure, I'd need to borrow a laptop/desktop in order to install VMware and to project from - but I'll have everything I need to go.

You should check out the VMWare player - they have "VM Appliances" freely available as well.  Very nice if you wanted to play with Ubuntu or so other Linux distribution.  These are pre-configured OS images with "single purposes" typically.  For example - their browser "appliance" is an Ubuntu virtual machine configured with a browser as a standalone environment.  The browser appliance lets you surf without worries about adware/spyware and protects your privacy (as the VM can be set to reset each time, as if it were the first time you were using it).  Very nice - part of a much larger list of VM's you can play with.

Oh, and this is good for a laugh.  David Letterman presents a "tribute" to Bill Gates.

Saturday, September 09, 2006


I see lots of myths about a software product near and dear to me all of the time.  People come up with plausible sounding things - and turn them into rules of thumb (ROT) or misguided "explanations" of how Oracle works.

I got to see one about a different software product today.  The point/counter point came out fast and furious.  I've been following reddit, digg, and techmeme for a short while now - couple of weeks.  The are "social sites" where the links that appear come about via popularity (voting of a sort, below I'll tell you which one I really like and why).  Today there were two articles that caught my attention.

The first was a supposed technical article "why windows takes so long to start up".  If you read it - and you are not a windows expert - it certainly sounds plausible.  I might even "praise" the author as being really smart and a good person for sharing this information.  The author tells us about a prefetch feature, supposedly what it does and supposedly how it works.  They proceed to give information about how to turn off part of it - so as to speed up the reboot of windows (in theory).

The second was a thoroughly pained article "One more time: do not clean out your Prefetch folder!".  I really related with Ed Bott on this one.  I could feel his pain.  I loved the air quotes:

Yet another Web site posted yet another “tip” today recommending that you clean out your Prefetch folder to improve performance of Windows. Arrrggghhh!

I think if you replace Windows with Oracle and "prefetch folder" with something like "ratios", "cache hits" whatever - you would find a sentence I wrote that looks a lot like that.

The real reason I liked (and believed) his article was this:

In all the many sites that offer this bogus tip, I have yet to see a single piece of actual performance testing.

Amen.  He then goes onto point out the technical inaccuracies made in the various articles - things that sound plausible, sound reasonable - but just are not true.

It happens all of the time - myths abound because anyone with a keyboard can publish on sites all over the place (sites that do not have technical editors - you would be surprised that many of the "technical" sites out there do not have staff that can actually evaluate the material they publish...)

I tried out Ed's approach (timing things) and lo and behold - that tuning "tip" doesn't really hold water.  It is too bad the article didn't put in the most common cause (in my experience) of slow "time from power on till I can actually do work".  Startup programs.  I watch startup programs like a hawk - it is the rare program that I let "startup" with windows - just the basics.  I took my wife's laptop from taking on the order of 5-plus minutes from power off to "when you can type again" to about 1 minute just by shutting off the huge number of startup programs. (by the way - see "ccleaner" for an easy way to monitor these startup programs and other stuff) 

So, these myths happen all over the place - sigh.

As for reddit, digg, techmeme and the like... I like best of all......  Reddit.  By far.  Look at the interface - lean, mean and clean.  If you follow digg at all (that is a really slow loading page there - really slow. "pretty" but "pretty slow"), they have a bad way of editing material that "offends" them from time to time (bad idea).  Techmeme - very different from either digg or reddit - but not as useful as either of them (might be a 'critical mass' problem, I just don't follow their links as often). 

I find I read more from reddit (and enjoy the experience much more) than I do from digg or techmeme.

What about you - what sites like digg/reddit/techmeme do you use that you find truly useful and pleasant to use?

Friday, September 08, 2006

What SciFi character might you be?

I took the test. Turns out, they believe I would be most aligned with James T. Kirk!

Which Fantasy/SciFi Character Are You?

That character was fifth on the list (as of this writing anyway). So, which character are you most like?

Wednesday, September 06, 2006

Travel Part II...

Another thing I've noticed recently - since the UK incident last month - is carry on habits in airports has changed.

Used to be - people would attempt to carry on refrigerator sized bags whenever possible.  I always packed into a backpack (under seat in front of me) and a standard carry one.  Whether it be for one day or two weeks - the same amount of luggage.  I never check my bag.  But - my bag always fits - it is not expandable, it is not a fold over, it is slightly smaller than 'regulation' (I don't have to wedge it into the overhead and it fits "wheels first", not sideways taking twice the overhead space).

Recently, with the "no water, no gels" restrictions - the amount of carry on luggage has gone way down.  On my last flight - on a plane where you have to check your larger bag plane side and retrieve it plane side when you arrive - instead of most of the plane being there waiting for a bag, there was 5 of us.  5 out of 54.  That never happened before.

Loading and unloading is faster this way.  I've read the reports now where the various airlines are meeting their on time departures more frequently simply because of the reduced amount of carry on baggage.

I haven't given up my carry on.  I bought "tooth powder" to replace my tooth paste and I'm completely "dehydrated" luggage wise. 

File this away in the "looking for the silver lining" folder.


Last night I had to fly from Washington Dulles to Ottawa.  I had booked on a late flight (9:20pm) but got to the airport early enough to try standby on a 4:50pm flight.

Which was canceled.  Air Canada had some computer issues that kept all of their planes on the ground - for hours.  I called United (my ticket of origin) and they said "your flights on are time".  I said what time was it supposed to take off?  They replied - 4:50pm, showing on time.  I asked - what time is it now?  5:53pm, and your flight is showing on time.... Oh - I see your concern now.

Apparently - the computer glitch affected not only the ability to fly but also the ability to provide any sort of information.  The people behind the counter - no idea what was going on (not their fault, just a fact).  The people running the reservation systems - no ideas.  And there were no other flights possible.

And then - it "fixed itself" at 6pm.  We were able to fly - but...

There were two people working the gate and the decision had been made by Air Canada to cancel the 4:50pm, but to fly the 12:05pm flight (there were people there waiting for almost 8 hours by now).  Anyone with a ticket for the 12:05pm flight could board and go - everyone else was supposed to go to the check in counter (on the other side of security) for assistance.  The 9:20 flight - it was in limbo, no information.  One of the people operating the counter was adamant that no one could get on this flight, they had to leave now.

That was what the louder of the two people said - the other person said "pssst - hang back, I'm going to fill this plane, no way it is leaving half empty".  And he started to work.  The plane sat 52 people and had 24 empty seats and there was 22 of us gathered around.  The other person working the gate was really annoyed at this (vocally) but gave up trying to get him to stop after a while.  Every "you cannot do this because..." reason she brought up he countered with "we will solve that by doing this...".  It was great to watch, like a tennis match (and you knew whose side we were all on). 

After collecting the boarding passes - he booked us all on at record speed, got everyone's luggage transferred over (and the luggage actually made it) and filled the plane.

He didn't have to. He just did it.  He did it without complaining, he did it without attitude, he did it to get us on our way as quickly as possible.  I really appreciated that - especially since my original flight did not take off until 10:45pm and didn't arrive until after midnight.

United sends me drink coupons, free red carpet club invites, upgrade certificates and such at the beginning of the year.  Included in that packet is a bunch of "tell us about something" forms where you are supposed to write up the good deed of someone that works for United.  I wondered in the past if I would actually use one. 

I will be using one this weekend, for a gate agent at Washington Dulles.

Saturday, September 02, 2006

The more you understand...

The less you have to memorize.  Been a while since I linked back to Kathy Sierra, but her posting on "How to get users to RTFM" had a graphic I really liked (take a second to click the link, it is right on top).

Many people presume I have "memorized all there is to memorize" about Oracle (or "much that there is to memorize").  Not true - I hit the manuals every day, every single day.  To look up esoteric syntax, to get a clarification, to refine my understanding of how something works.  It is less rote memorization than it is understanding of the fundamentals.  I can look at a proposed trigger and in a couple of minutes explain why it won't work in real life (you'd be surprised how many don't - triggers used to enforce integrity constraints most times have multi-user logic flaws).  It is not because I've memorized 100 use cases - rather that I understand the concepts in the database (multi-versioning, non-blocking reads and what they mean to us and why we care).

Anyway, read her post (it is a long one) - I think she makes a good point.  I liked the classification of the types of reading material necessary for a product - I think I do mostly #3 and #4 - #3 in the books and #4 on asktom.

Friday, September 01, 2006

This is just an example...

Of how hard interface design really is.  Do you really think the people that came up with the "design" of the McFlurry container took hedgehogs into consideration?  End users, they can and will do anything.

I think this is why I don't like to do user interfaces myself :) 

Successful Programming

Ran across this paper the other day - 7 'secrets' of successful programming.  I liked it - sort of fit in with my debugger rant from yesterday - especially point number four which I'm going to copy and quote here:

4. Expect the unexpected and deal with it

Before you open a file, make sure that the file is present. Before you set focus to a control, make sure that the control is visible and enabled. Try to work out what conditions could cause your code to fail and test for them before they cause the program to fall over.

Expect the unexpected - deal with it.  Words of wisdom and ties in nicely with "instrumentation".  If you get something totally unexpected in your code - but have no way to record that fact, to transmit that bit of data back to you (or to the DBA or the team that maintains the code or the helpdesk or ...) you lose.  Part of instrumenting is recording the unexpected - that is sometimes the best you can do to "deal with it".  Your program very likely might have to "fall over" (gracefully! not with a segmentation fault or a "dr. watson") still - but you'll have recorded, or at least have the ability to record, why.  Sort of like an Oracle trace file written during an ORA-00600.  It would be better than just popping up some error dialog for the end user (see some classic examples here)

I'm putting together a couple of "do not try this at home" talks for upcoming events (sort of worst practices if you will).  Hence you might see me talking more about what not to do than usual.  Sort of like the "when others then null;" ranting I did not too long ago :)

Look for me in an upcoming article.  Alex Papadimoulis will be taking a break and asked for some "guest editors" to provide content for while he is gone.