Tuesday, May 31, 2005

Firefox

I use Firefox as my primary browser, and it would appear so do about 50% of you reading this.  From time to time I have to drop down to IE because some site refuses to work with anything else, but I tend to avoid those sites.  If they are going to make me use a specific browser, forget it.  It isn’t worth the effort.

The two things that make Firefox enjoyable for me are

  • Tabbed Browsing
  • Extensions

Actually, those two points are really one – for the default tabbed browsing in Firefox isn’t that strong.  I use the Tabbrowser Extensions.  For me, tabbed browsing is just necessary, a browser without is is useless to me.  The reason – I use broadband satellite at home.  Very fast – once it is going.  High speed, but high latency.  So, clicking on a link typically involves a 1.5 second delay at least, the trip includes:

  • Wireless network to the next room.
  • Over a bridged network
  • Couple hundred feet of coax cable to the satellite dish
  • 22,000 miles up to a satellite
  • 22,000 miles down to a ground station
  • Over the ground network, back to the ground station
  • 22,000 miles back up to the satellite
  • 22,000 miles down to the dish
  • A couple hundred feet back to the bridged network
  • Over the wireless to my computer

All in all, the bits and bytes have travelled some 88,000 plus miles to get to me — with each and every click.  The satellite software does have a rather intelligent proxy server on it that appears to parse the HTML and figure out what I’ll probably be asking for next (images and such) and as it receives the page — it requests the images and such it doesn’t already have.  The performance difference with and without that proxy server is huge.  Unfortunately, it doesn’t work at all with HTTPS pages (it does not decrypt the page so it doesn’t know what to get next).

So, why does that make tabbed browser really relevant for me?  Because of the way I browse now due to the satellite.  When I get a page back from google — I am shift-clicking on all of the links, they open in their own background tags.  So I’ll shift-click the first 2 or 3 interesting links and have them open in the background.  Then I peek at them and see if they were what I wanted.  At work, I would just click on the link – at home, or even with my aircard (ISDN like speeds over the Verizon network) I get into the shift click mode.  On asktom, my interface provides me with a list of pages that have new content (followups, new questions).  I do the same thing there — I shift click on 10 or 15 of them and start processing the tabs.  I don’t wait for the network that way.  Opening a set of pages in a tab group is great too.  I have my favorite news pages in a tab group — with a single click all 10 pages open up.  Same with my favorite blog pages and so on.  I have almost infinite bandwidth — just really high latency, and tabbed browsing helps me work effectively in that environment.

The extensions I use are as follows:

  • Adblock, I cannot imagine web browsing without this.  Every time I go into IE and am bombarded with moving GIFs, banner ads, flash that just annoys (is it just me or is anyone else annoyed by web pages that “move”).  I estimate over 30% of the images on typical pages is not down loaded because of Adblock — sites look very different without ads (easier to read if you ask me).  I have a couple hundred patterns that are blocked.  Not only makes the page easier to read but greatly decreases the amount of bytes you need to down load.  If I was allowed only one extension, this would probably be it.
  • Smoothwheel, makes the scrolling wheel work measurably better in Firefox.  (Thanks to Howard Rogers for forcing me to get this, since scrolling on his blog stopped working with his new stylesheets, this fixed that problem and does make the scrolling better overall)
  • Tabbrowser Extensions, you could down load 20 mini extensions to mimic the capabilities in this one extension — but I prefer the monolithic one here.  Tabbed browsing would not be the same without it.
  • Enhanced History Manager, ctl-shift-H and there it all is.  Sortable, Groupable (by site, by day, by day and site..), searchable.  Very nice.
  • Switch Proxy, Sometimes I’m behind a firewall, sometimes I’m at home (and want the proxy server for the satellite) and sometimes I’m on the road and want no proxy.  Switch proxy lets me do it easily with a single click.  I cannot remember how many keystrokes and typing it used to take — now it is just too easy. 
  • ForecastFox, a little weather toolbar on the bottom of the browser.  I like to have the 5 day forecast for where ever I am just there.  As I travel a lot, I just plug in the locations I’m going to and switch around.  See what the weather is where I am, where I’m going and back home.  Not life changing but lots faster than going to weather.com
  •  PDF Down load, sometimes I want the pdf in the browser, sometimes not, sometimes saved to disk.  This little extension gives me that choice — instead of the PDF being displayed, it asks me what I want (and sometimes what I want is CANCEL since I didn’t realize I was clicking on a pdf and don’t really want to wait for it)
  • StumbleUpon, for those of us with short attention spans, this is really cool.  Once upon a long time ago, Yahoo had a random button.  You could sit there and hit that button over and over and just go to a random site.  This is much like that but you get to pick categories and filters and rate the sites you are sent to.  A great diversion (as if I need more of them).  I found it somewhat addictive, you have to hit that Stumble button a couple of times a day — and the sites it pulls up are really pretty cool.

Well, those are the ones I’ve found to be truly useful.  Anyone have any others they find indispensable?

Sunday, May 29, 2005

Precise

pre·cise  
adj.

  1. Clearly expressed or delineated; definite: The victim gave a precise description of the suspect.
  2. Exact, as in performance, execution, or amount; accurate or correct: a precise measurement; a precise instrument.
  3. Strictly distinguished from others; very: at that precise moment.
  4. Distinct and correct in sound or meaning: precise pronunciation; precise prose.
  5. Conforming strictly to rule or proper form: “The setting up of this Maypole was a lamentable spectacle to the precise separatists that lived at New Plymouth” (Thomas Morton).

I like the first and second meanings there, and I sometimes think our profession is lacking in them.  Working on my book and having the reviewers go over it just drives this home.  Any generalization, any broad sweeping statement, they point it out.  The comments I’ve been receiving on the apress comment site have been fantastic in elevating the degree of preciseness as well.  I feel it will be a much better book this time simply due to the public criticism in addition to the formal review process.  I was afraid to release “Effective Oracle by Design” after seeing how many mistakes the “public” review team found that the formal review team didn’t — and since only the first 3 or 4 chapters were done publically, I was worried about the rest. 

But it made me stop and think about the idea.  What prevents meaning one above from happening? 

Many things — such as fancy “50 cent words”, that is using a fancy, “big” word when a simple one will do.  I used the word “loathe” in a set of slides once.  Loathe is a word with immediate meaning to me, however – in countries where English is not the native language that is a 50 cent word that isn’t taught.  I remember on the third day of a five day seminar tour in Europe, someone finally asked “what is that word — loathe”.  I polled the audience, no one — not one person, knew what it meant.  On the subsequent two days, I polled again.  A 100% miss ratio, no one could define it.  I felt bad for the audience in the first two days (but no one asked!).  I’ve removed it since, but it drove home the problem.  Speak simply and plainly.  Avoid “50 cent words”.  But, conversely, everyone out there — ASK.  If someone speaking in an educational session is using big fancy words that you don’t understand, please — ASK.  At least during a break, ASK.  The speaker will (should) adjust their talk accordingly.  Talking internationally over the last two/three years has driven this home for me.  Analogies that make sense here (in the US) don’t make sense over there (anywhere other than US, substitute your country in for US). 

You will not believe how old I was before I understood the phrase “Penny wise, Pound foolish” and what it truly meant.  It was my first business trip with Oracle, in 1993, to the UK.  I had never put the “pound” part together with “a denomination of money”.  I was asking myself for many years “why compare money to a unit of weight?”.

Many things — such as not speaking clearly, or assuming a level of knowledge the audience you are speaking (or writing to) doesn’t have.  When working on the comments by the reviewers, I have to address each one.  Either I say “Yes, I agree and did X to fix it”, “No, that comment isn’t correct and here is why”, or “What, you mean you couldn’t actually read my mind and figure out what I meant :) — I’ve clarified the original text with Y”.  I use the last one infrequently (fortunately) but it happens.  I am so close to the problem/feature/function I’m describing that I make assumptions about what the reader might know or be thinking.  I leave out the “obvious” sometimes.  Only problem is what is plainly obvious to me, isn’t so obvious.  It is obvious to me because, well, because of my past experiences and the fact I’ve been looking at the issue for the last couple of hours. 

But what about meaning two:

 2. Exact, as in performance, execution, or amount; accurate or correct: a precise measurement; a precise instrument.

This is the one I think we (collective we, everyone writing “stuff” on the Internet, books, elsewhere) miss most of all. We are not always precise in our writing, in our works.  I try to be — and in the public eye with the ability for someone to immediately followup and say “yeah but” on the site, I think the preciseness always ends up being there.  Having the interactive site has taught me a lot over the years.

Use simple words — not because of simple minds, but rather the opposite.  Lots of really smart minds, thinking in a language that is not their first choice.  This is 50% of the reason why I come down so much on the “instant messenger speak” such as “r u able to plz help me out?”  Think about it – if the person reading that does not use English as their native language, that is just a bunch of letters strung together.  Some have said of my criticism of that style of writing “you are making fun of non-English speakers”, but I know that I am not.  Non-native English speakers are the ones that have the most issues with that style of writing.  In order for them to be comfortable enough with the language, they are taught the real words.  Those ‘abbreviations’ are meaningless to them. I recently said I was working on the 2cd edition.  That is an abbreviation I’ve seen and it was obvious to me what it meant.  It was meaningless to many outside of English speaking countries (2nd would be fine, 2cd not so fine but second would say it all). 

Clear, unambiguous use of words.  Recently, I used the word “actionable” in a blog entry.  I used it totally wrong (look it up in the dictionary, there is no way I would even be using that word).  I made up a meaning to go with it — to me, it should have meant ‘a statement one can take action on’.  I used it previously in talks with my editor “Sorry, but so and so is not providing any actionable comments — I don’t know what to do with their feedback”.  But, it was totally wrong, I made up the meaning.  We must strive to be very clear in how we write and to write material that someone can actually make use of.

It probably sounds like I’ve been rambling, but I’ve been reading a lot of material out there recently with a more critical eye.  Speaking (writing) clearly, with unambiguous meaning, globally “safe” analogies, and providing information that someone can walk away with and find immediate benefit — that is lacking. 

We need more unambiguous, clear material we can make use of. 

On a side note, I was reading Mark Rittmans blog and it pointed me to "When Smart People Defend Bad Ideas".  That was a pretty good article, suggested reading.

On a second side note, I really do think that technical web pages that do not have a “post a comment” link are bad.  Every day I increase in my mind the level of “bad” they are.  How many web pages have I ended up on that I’d really like to add a “yeah but” to the bottom of it — that is my goal in life after getting everyone to appreciate fully the beauty of bind variables.  Every site should have a comments section for the pages.

Saturday, May 28, 2005

Nothing technical here

Totally not technical today. In fact, except for a couple of questions in the morning, today was just a "be outside" sort of day.

This was the first really good weather of the season so far -- it was in the 80's yesterday and mid 70's today (26-28 C), mostly sunny except for one thunderstorm that rolled through. We had just mulched all of the gardens around the house, so now it smells like wet mulch, which is actually a pleasant smell. Nice being able to have the house open for a change. Did the spring clean on my home office this morning, I have a lot of plants in there and they seem to just spray sap all winter (really big ficus tree, the one I'm sitting in front of in that picture in the upper corner especially seems to "leak" sap from the leaves). So, lots of sticky floor space to clean up as I moved the bulk of the plants onto my porch.

(I know the picture is bad, but this is sort of what it looks like looking out my front porch)

Right off of my office at home is a small screened in porch. Perhaps my favorite place to be, "my end of the house". It was supposed to be a sun room, but I took it over for work. Fortunately it is surrounded by alot of trees and is on the north end of the house (note to architects, when designing sun rooms, southern exposures in the hemisphere I live it work best). So, even though it has lots of windows, there is very little direct sun (which would sort of ruin the whole computer experience). But lots of nice views.

From the windows I have seen many deer, fox, and once a baby bear was to be spotted. Lots of wildlife. I have a bird feeder right off of the porch and there are always a ton of birds out there (and squirrels, that is a constant battle, I think I finally won though -- they haven't been able to get to the feeder for a while now. Human 1, Squirrels 0, but I'm sure they will be back for a rematch, they are just planning now).

Everything is growing like crazy now. I don't live in town, I live out a ways - and have three acres. 2 acres of trees and 1 of grass to cut. My neighbor on one side has 24 acres (it used to be a farm, they have the old farm house and surrounding propertly). Needless to say it is very "green". He hasn't been running the tractor for a while so the field he has is very overgrown, I prefer it that way.So, right now -- everything looks and smells "clean".

A friend of mine once said to me "I love it after the rain, the world smells like it just had a bath". And so it does... Anyway, hope everyone enjoys the long weekend if you have it -- memorial day and all.

Thursday, May 26, 2005

What the heck do you do...

This is a bit off top, but what exactly do you do at Oracle? You appear to be the technical face of the company and spend alot of time giving presentations and explaining how the database works.

Well, there are two ways to take that question aren’t there, it could be presumptious or it could be really “what do you do, I’m just curious”… I’ll assume the latter of course ;) I’ve been asked this before in seminars. I can usually gets a good laugh by standing there for a second, really confused look on my face (by the question) and then say slowly “You know, I don’t know”.

But seriously — what have I done in the past and what will I be doing in the future. Next year (which starts June 1st of course, happy new year), will be different.

For the last couple of years, I’ve managed a team of experts in their chosen fields — XML, Java, Spatial, Warehousing, Availability, and so on (guess who covers database). In the sales division I work in — they were the 411 and 911. Explain and Fix. However, since I spent most of my time out of the office — as did they, it was more like a matrix organization than anything else. This is what will change next year, I cutting loose of that group and “going solo”. This is so I can spend more time doing what I like to do the most and what I’m best at doing (which is not developing career plans, doing expense reports, writing employee reviews, dealing with raises and promotions, and all of that other really exciting stuff).

So, do I manage software projects? Not so much manage them as manage the people managing them, or participate in the process. Frankly, in the last year or two, I just haven’t been around enough to do that in house. I have worked on many internal projects however, you’ve seen the output of some of them. Some of the OWA packages were mine. The features of mod_plsql (which was the webdb lightweight listener, which was the owa replacement cartridge) such as file upload/download, database authentication came from my code. Tiny bits of HTML DB (I can assure you it uses bind variables). And a host of internal systems. Yes, I still actively write code. As much as I did 15 years ago? No way, but a considerable amount.

Do I design systems, yes. Definitely involved in that. They even let me make suggestions about what to put in the database. I work with customers to either craft their systems architecture (what makes sense and where) or I help to validate an existing design. Spend some amount of time trying to help people understand what it is they actually own and what it can do. (If another person implements their own queueing software not realizing there are a couple of ways to do it OUT OF THE BOX…). I probably spend most of my time doing that — “ok what do you need to do, well, here are the ‘you don’t write code’ options you have since you own this thing”.

What else do I do? Lots of conference calls — best practices for upgrading seems to be a popular topic (hmm, note to self, maybe we need a paper on that). Lots of customer visits for whiteboard/chalk talk discussions. Some of my favorite calls do not involve powerpoint. Explaining how this thing called Oracle works and what it can do for you.

Writing, articles, papers, answers on the site. Spend a lot of time doing that of course. Always neat to get a really cool question and think about it for a while. I got one this morning, it needs to be fleshed out — but the person promised to check back after trying it out. I thought it was an interesting use of Text and gave me some ideas for the future (see that page and read to the bottom). I can envision a couple of uses for this technique and have used it successfully in the past in a different way. Now, I’ll be looking for a real world case to try it out on (and if they prototype it themselves — that would be great too).

Doing seminars, I do alot of them. External ones you hear about, internal “veritical focused” ones you don’t. What I mean about the second type is they are focused at a specific customer segment, so I don’t advertise them on asktom — we do a direct mail campaign at the customer base of interest. I think of all things, I like the technical seminars the best, but they have to be balanced with everything else otherwise you run the risk of becoming a talking head.

Working on technical “fires”. I do a bit of this everyday via email and the phone, but still get called into the field — onsite to fix stuff. These are fun too — if the environment is OK. By that I mean if the customer you are working with appreciates that you are there and has realistic expectations.

So, next year — I’m an individual contributor. I’ll be able to spend all of my time using and talking about the software — which frankly is what I’ve been doing. Now I just won’t feel guilty for not paying enough attention to the people reporting to me. Dream job, yes — I believe so. I get to meet lots of people, I get to mingle with some of the best in our profession, I get to educate a lot, and while getting on stage can still be frightening, after you are up there for 5 minutes and get into the groove, well — there is nothing like it.

But lots of VP’s at Oracle are technical (and it is just a title, a position). But out in the field – I tend to not bring it up, people do seem to knock your technical IQ down by a good bit hearing the title. They assume you haven’t touched a keyboard in years. But, just think about Cary Millsap, he was a VP at Oracle before he left to found http://www.hotsos.com/ with Gary Goodman. He had a team of technical experts in their field of choice. Ken Jacobs (aka Dr. DBA), VP Product Strategy. Richard Sarwal, a very hands on guy. Many many others. We are a technology company and many of the folks in management positions are very much technical.

Wednesday, May 25, 2005

On Writing

Some recent questions have been about writing, the process of writing and the benefit. I thought I’d take a look at them today

To the people who have written books... has this helped your career in anyway?

Others may post their feedback in the comments section, but for me — I’d have to say definitely yes for me personally but your mileage may vary. For me personally, it definitely increased my own visibility. In that regards, it did not “help” the career so much as “send it in a direction”. That point is subtle, the writing of a book changed my path. Is that good? Well, for me in hindsight, absolutely. I really enjoy what I get to do now. The books established a level of credibility, not just because I wrote them — but for what they contained. It is not just the very act of writing that makes it credible, it is the act of writing credible material that can be acted on.

But, one of the reasons for writing the first book was to see if I could. It did come with a certain sense of achievement after it was finished. I used to joke that my life had three phases — BB, DB and AB. Before Book, During Book, After Book. Just doing it, as part of the career itself, was a challenge.

All in all, if the material produced is quality material, I cannot see anyway this would hurt your career (as long as you don’t under perform at work while doing it of course!). It does not hurt the resume, it could lead to other opportunities, and it will expose your name to a broad range of people that might not otherwise have heard of you.

How much influence does the publisher have on the book?

This will vary by publisher I’m sure, and your current level of exposure. The process typically goes like this, you submit an outline and a concept. A little back and forth, maybe some market research, a lot of “gut feel” and a refinement here and there and you get accepted or not. So, now you have an outline — an outline isn’t very confining at all.

So you are free to write whatever you want, but the publisher will be sending it out to a technical review team for commentary. (I still feel sorry for a certain Java programmer who was trying to write a database book and had me as a technical reviewer — they did not get to write what they wanted, how they wanted — but I do think they learned something new about the database by the time they were done). The technical review team, as I’ve said before, if they are good will rip pieces of the work to shreds (that is their job). They probably have more influence than the publisher — simply because they are supposed to be subject matter experts in the field the book is on, whereas the publisher (editor) might not be.

The editor I work with knows quite a bit about Oracle now — but when we started, he didn’t. Still, he has never written code for money, so he has somewhat of an academic background in the technology only. That is why I rely on people that have written code, managed databases for money (it is their way of making a living) to review my material. They have a huge say in what is ultimately said in the book and how it is said.

But the publisher will want the general outline to be followed, the page counts to be what was estimated (that is hard, I just put “35” as the page count for every chapter myself — and hope some come up short to balance the ones that come up long)

How much say do the publishers have on deadlines?

Well, you sign a contract with them and the contract typically includes a delivery schedule. However… Well, you know how it goes. Basically, if you are the sole author they are sort of reliant on you to deliver and you can only type so fast. Now, they generally have clauses in there that would allow them to bring in other authors to finish or help — but you would have to be extremely late in order to have that kick in.

But you get to negotiate the time frame up front. They do not set it, you negotiate it. If you are not happy with it, you have the option of walking away. Don’t sign anything until you agree with it. Have a lawyer look at it (I did not, I was naive about it back in the beginning, a lawyer would have changed the wording of a thing or two and with WROX going out of business and the contract being sold — I would have liked the wording to have been changed. Hindsight is 20/20 though). And if the contract has an option for future works, meaning they have the right to publish your next 1 or 2 books, get that stricken from the contract immediately. Don’t even go there, don’t let them do that to you.

About sole authorship — I would recommend that if possible. It makes a more cohesive book all in all. The book I worked on with Sean Dillon and Chris Beck worked out so well only because we all sat within 20 feet of each other at work and play poker together. On a multi-author book, where the publisher is assembling the team, you might find the authors to be spread throughout the world, with radically different opinions on the best way to accomplish something. That leads to a book where chapter 4 contradicts what chapter 15 says to do and so on. And the different writing styles, examples, and so on will drive the reader nuts.

One question just for Tom, do you have any control over your Expert one on one book or do you sign over full control to the publisher when you write it?

I have a fair degree of input. Control is too strong a word, they own the “rights” to it, but I have lots of “artistic input”. Take the two volume approach — my suggestion (recently, after seeing near zero percent chance of finishing the entire thing before the fall). Their approval. The CD-ROM of the 8i book, my suggestion, their implementation. The content of the 9i/10g release — all about me, they cannot make me write that which I do not desire to write about.

So far, I’ve found (even when just beginning) the publisher tries to work with you. They do not necessarily have an agenda, they are somewhat reliant on us out here to know what is needed in the market to a degree.

What in your opinion is the hardest thing to do if you are a writer?

Besides write? For me, it is getting it started. On a thread in asktom, someone was asking how to get really good at SQL. They were looking for ways to practice. My response was “I cannot ‘practice’ SQL, or C, or PL/SQL, or PL/I or JCL or SAS or any of the technologies really”. I need a real problem to solve. Making up an excuse to use something is really hard. So, in writing the book — coming up with the proper examples is perhaps the hardest part. It has to be real, but not too real (you cannot print someone's application, they get upset). So it is the “making it real” without faking it. None of the examples are faked, they are all real and run on real machines with real CPU’s (singular and plural). But coming up with something that represents a real world situation takes time. And it takes review — have to let the reviewers poke holes in it.

For example, while doing the update of Expert One on One Oracle, I was doing the chapter on memory structures. I had a couple of points I wanted to make. Two of them were

  • in 9i, automatic PGA memory management cannot take place with shared server connections
  • the “A” stands for automatic, the algorithms are not really documented, but the gist is “as the number of users needing workareas goes up, the size of the workareas go down”

At first, my example showed that shared server could not, did not use automatic PGA memory management and that the setting of sort area size and so on was very important still for these connections. And I just stated “as the load goes up, memory allocated to each session goes down”. I wasn’t entirely happy with the chapter for some reason, just a nagging feeling so I had Tony (the editor) read it and suggest something. His idea was “I believe you when you say shared server won’t use it, the example doesn’t really provide much benefit beyond showing that fact, but I don’t understand the memory allocated goes down as the user load goes up — that would be a much more useful example”.

Unfortunately, he was right (and it was obvious), so a rewrite was called for. That would have been enough right? No, not really, the reviewers got the first cut of the example and I had to change it yet again.

So, I guess it is the getting started and getting it refined — but definitely, getting it started. What is going to grab someone, what is the most important thing you want to say, what do you want them to take home with them and think about.

Tuesday, May 24, 2005

The Book

We’ve decided to go with two volumes on the next book — I’m starting to call it the next book rather than the second edition of “Expert One on One Oracle” (which was recently released in hard back with a CD-ROM of the book included).  The reason I’m calling it the next book is two fold.

First, when WROX  went under, it sold most of its holdings to Wiley and Wiley owns the WROX name and the “Expert One on One”  tag line.  The name of the book was simply Oracle — Expert One on One, like their Professional and Beginning tags — was just that, a brand.  So, we cannot use the Expert One on One tag anymore.

Secondly, the amount of change is more than your typical “new updated to cover 10g” sort of thing.  Some chapters are unrecognizable, some will be 100% new.  It is a rewrite in many senses.

Add to that the fact that we are going to do two volumes and to me, it is a new book.  But why two volumes.  Well, one reason is getting something out there sooner rather than later.  It is becoming clear that if we waited to rewrite the entire book — we would not have a book until very near the end of this year (if then).  Also, the book is getting bigger, we’d have to cut something to make it fit. 

Also, by going with two volumes we’ll be able to use a slightly larger font and slightly thicker paper.  Those are two things I heard about a lot — “font is too small and paper is too thin, words bleed through”.  That was partly due to the page count.  By doing two smaller books that are collectively as long or longer — we’ll be able to avoid those issues.

Another reason was weight — I heard this frequently “great book, but I cannot travel with it, far too large”.  This will help that as well.

The first volume will be my rendition of the Concepts manual in a way.  Covering the architecture, memory structures, how PGA memory works (auto and manual), files and the like.  You can get a preview of it on the apress review site, as of today chapters 3 and 4 are there for down load and comments.  Chapters 1 and 2 are pretty much done.  Chapter 5 is in my in-box to edit, and chapters 6 through 11 are out for review by the reviewing team.  I do not envy them, tech editing a book is hard work (and it doesn’t pay well either so it has that going for it).

I’ve said before — a book is defined by its technical editing team and I have four of the best right now.  The details they are finding, the input they are giving is invaluable.  I got chapter four back — 38 pages, over 120 comments.  Each of which I have to go through and address.  I don’t mind, really — even when it results in me having to chop out a big example and redo it very differently.  The resulting text is always better, definitely more clear.  If these guys look at an example and are left going “huh?” I’m sure others would as well.  That and they point out side effects I didn’t think about (hey, autotrace allocates PGA memory, doh!  That explains that mysterious 64k I couldn’t account for…). 

Anyway, this will allow us to get volume one out much sooner than the entire book would have been.  It (volume one) will come with a CD of the first edition as well so you get a book that literally covers Oracle from about version 7.3 on through to Oracle 10g Release 1.  I will not be covering 10g Release 2 at all in this book as I have no real world experience with it as yet.  But architecturally speaking, there are no radical differences coming, not like 8i-9i with lots of things that begin with “A” for automatic, or 10g with more changes still.

Sunday, May 22, 2005

Testing BlogJet

I have installed an interesting application - BlogJet. It's a cool Windows client for my blog tool (as well as for other tools). Get your copy here: http://blogjet.com

"Computers are useless. They can only give you answers." -- Pablo Picasso

I thought that quote was funny given the movie I saw last night — 42, it is all about 42.  Ok, the above text came with the "demo". Trying out tools to create blog entries. This one looks promising.

It has a spell checker (definitely need that).

It says it will center text

Which is important

It can indent text and Insert links

  • We have bold
  • And underline
  • And lists of course

But can it do "code"

Yes it

Can And that is

Very important

I’ll try it out for the 30 day free evaluation and see how it works out. But, if you have any better ideas, let me know.

The Hitchhiker

Well, my son and I went last night. His comment in the first 15 minutes was "I cannot wait for this to come out on DVD, I want it". At the end of the movie he said "If someone asked me to see a movie twice, this would be it". He absolutely dug it big time.

I on the other hand am of mixed emotion on it. I thought the effects were done at exactly the right level -- campy but good. (The planet building factory was pretty cool). But it was just little things. I wanted to see the Restaurant at the end of the universe. I knew they couldn't fit in everything in, so missing bits are to be expected.

Guess I just thought it was ok, or just good.

But, I would go see it again -- just to take Alan. He didn't really sit in the seat, it was more like leaning forward to get closer to the screen. He had just read the series 2 or 3 months ago and it was fresh in his head. They kept pretty close to the story so for him, it was like watching what he just read.

All he wants to know is when is the sequel coming out.

On a non-related note -- anyone out there know of a decent small html editor? Something that just sticks in bold, italics, list and other type of tags and doesn't try to create massive amounts of HTML? Not dreamweaver, just a teeny tiny one. Reason I ask is -- you cannot paste in anything fancy to blogspot (their templates and Word kill eachother) and editing in the blogspot window is a bit dangerous. Unless you believe in the 2nd system effect of course, then editing in the blogspot window is great -- scrap the first cut (because it just disappeared) and do it all over again...

Most incredible statement I've heard this week:

Suggestion - put your tablespaces read only, it can greatly improve performance. This is because Oracle can bypass read consistency, reducing overhead and resulting in faster throughput.


Sounds plausible, but -- unfortunately, it is just a myth. You know what bypasses read consistency? Nothing really. But -- if you don't modify the data, Oracle won't have to undo the changes to a block. Can we prove that read consistency is not bypassed? Sure, if read consistency were bypassed, you could never get a 1555 on a read only tablespace, but you can.

Saturday, May 21, 2005

User Groups

I just got back from the NEOOUG (North East Ohio Oracle Users Group) last night. Did an all day seminar with them. They capped attendance at 165 people and we had exactly 165 people. The proceeds of the event went directly to the NEOOUG to fund the group activities for a while. This should give them seed money for a good couple of events into the future.

The audience was great. They participated (asked questions), were attentive -- sometimes hard after 3pm on a Friday (a sunny, warm Friday at that). I enjoy the seminars, especially when I get lots of questions, but they are tiring to say the least. At the end of the day, your feet and back and legs are hurting. That and you really don't feel like saying another word for a while.

But would I would like to thank the NEOOUG officers for their hospitality, especially Rumpi Gravenstein - he coordinated this event for me, made sure I was retrieved from the airport (and deposited back safely) as well as picking a very convenient hotel for me. Dinner with the group the night before was great. That's one thing that makes a trip like this all the better - I could have taken cabs, figured out where to stay, eaten dinner alone. But this is much nicer. Not something I can ever expect on a sales call though.

I'm often asked at these user group meetings "wow, how did they get you here". The answer is rather (surprisingly) simple. They asked. Seriously, that's about it - they asked me. I might not be able to say yes right away, it might be months out - but most of the times we can work something out. Especially if it is near a major city where I can mix business and pleasure (the pleasure being the user group). In the coming months I'll be at ODTUG, GMOUG, a Boston based DBA SIG, the Ohio OUG, Toronto OUG, Connecticut OUG, UKOUG, Houston OUG, and the St. Louis OUG (that takes me out to December of this year). I'm a very staunch supporter of the user groups in general. If you are not taking advantage of them yourself, you are missing out on a great opportunity.

Tonight I'm taking my 12 year old son Alan to see the Hitchhikers Guide to the Galaxy - I just lent him the entire series and now that he's read it, we are really looking forward to it, sort of a guy's night out. I'll let you know tomorrow what I thought about the movie itself.

But again, thanks to everyone at the NEOOUG, you made the trip very enjoyable for me, appreciate it.

Thursday, May 19, 2005

Success

A topic that comes up a lot is "how can I become really successful or more successful in my chosen career". When I get the question - it is typically from an Oracle developer or DBA (imagine that). I get this question in email, at conferences, in conversation. I think the answer is easier in some respects than it seems, once you define successful of course! For the very word successful begs the question - what does it mean to be successful (that book, Crimes against Logic has me parsing every sentence).

There are two pieces to being successful in my definition. I define successful as
  • Being happy with what you do.
  • Doing the best you can at what you do.
Now, I cannot help too much with the first point you either do or do not like your job, but the second point I might be able to inject a point or two. How to become better at what you do. For me, the formula was simple:

Help

Help, such a simple word yet it pays back many times, maybe this is a better way to say it:

Participate

I think that says it better, participate. What you'll get from participating is a greater sense of what people are doing. You'll see solutions you never would envision otherwise. You'll ask questions. You'll answer questions. You'll debate, you'll engage. You'll win some battles. You'll lose others. In the end, you'll learn and you'll teach. And who knows you might even become known. Known as a credible source of information, a reliable go to person. You dont need to write a book, I didn't write a book to become credible or known, it happened the other way around. You just have to participate, and be flexible (that is, accept criticism for what it is).

There are lots of places to engage/interact on the web. Here are some of the ones I lurk or participate in. I'd be interested in growing the list, one of the things I want to do on asktom is replace the sorry I have a backlog message with a link to a page full of resources. So I'll be taking whatever I collect here and growing my list to include them (after reviewing them)
  • The Usenet Newsgroups This is where I got started in October 1994 with my first posting. Many people that were there then are still there today which I find amazing. I do not post there nearly as much as I used to, but I still browse it from time to time. Jonathan Lewis is a frequent contributor.
  • Oracle-l This list is cool for two reasons. Firstly, there is the contributions of people like (this is not an exhaustive list of posters by any means!) Cary Millsap, Tim Gorman, Jared Still, Mladen Gogala, Pete Sharman, Paul Drake, Mark Powell, Niall Litchfield, Wolfgang Breitling, Jonathan Lewis, Lex de Haan, Connor McDonald, Tanel Poder just to name a few. Secondly, the sense of community there is large. At every conference/event of any size, there is usually a gathering of the oracle-l'ites where everyone gets together. Many good friendships have grown out of that list.
  • The Dizwell Forum Howard J. Rogers run forum. Youll find on topic and off topic conversations abound. But lots of good ideas too.
  • The Oracle (tm) Users' Co-Operative FAQ Sponsored and maintained by Jonathan Lewis. Remember to give as well as receive here. Any thing you discover is a frequently asked question where you work is probably an FAQ world wide, you too can contribute.
  • http://www.dbasupport.com/forums/ Just beware of the Obfuscation Unlimited group, you must take that one group in the context it is meant to be taken (humorously). But lots of good technical information there as well lots.
  • OTN discussion forums You might even get an answer from the person that wrote the software you are asking about (especially in the HTML DB forum).
  • http://metalink.oracle.com/ Have to mention this one there are interactive discussion forums in there as well.
  • http://www.ioug.org/ Now, not so much about the discussion forums here (they do not get much traffic) but the organization as a entity. I am a big supporter of the IOUG and try to do what I can to support it. I would strongly encourage anyone who calls their career Oracle to become part of it. The networking alone is worth it. Meet others in your area from other walks of life that do the same thing for different companies. Hear how they do it, share how you do it. The conferences are great -- I've attended the IOUG-A (Americans), the UKOUG (will be there again this year), and the Irish OUG conference in addition to other OUG events far too numerous to even begin to list (numbering in the hundreds). Great technical content, strong leadership, great organization.
So, that is the short list, now lets add to it. I'll check them out (lurk for a while) and put that page together.

But remember don't take it on faith. There is no such thing as a "faith based Oracle solution". Don't be afraid to ask why, or how. Everyone makes mistakes (if I don't actually set up the example -- I would be wrong more than I am right) so asking for the why or how is not only acceptable but expected. And when you go to answer yourself, remember that asking "and why do you want to do that, what is your goal" is not rude it is the only smart thing to respond with sometimes

Tuesday, May 17, 2005

Rule of Thumb

Rule of thumb, also known as ROT. Good or bad?

I say, it depends. It depends on who is applying the rule of thumb. It depends on how knowledgeable and experienced they are. ROT in the hands of someone with experience, with knowledge, with lots of background - very useful. They understand when and where the ROT applies.

ROT in the hands of a novice, or someone not in the "know" - as the robot in my favorite television show growing used to say "Danger, Will Robinson! Danger". You should read that Wikipedia definition there - it holds the answer to ROT in the hands of a novice:

the catch phrase is a facetious way one person tells another that he or she is about to make a stupid mistake; that there's a factor he or she overlooked which ought to be taken into account.


I think that sums it up nicely, there is a factor they have overlooked which ought to be taken into account.

ROT: Use bind variables. Almost always true, unless
  • You are doing a data warehouse.
  • You are running a once a month batch report.
  • You are using static SQL in PL/SQL (it is impossible to not bind correctly when using static SQL in PL/SQL - use literals to your hearts content and don't be afraid!).
  • ...
But in the hands of a novice, the mantra of use bind variables taken as a mantra - becomes a problem. They'll take queries like "select * from table where type = 'XXX' and id = :x" and say "mustremoveliterals.". However, here it is perfectly acceptable to have the literal XXX, not only acceptable - but better.

ROT: Find full table scans, they are evil. Not even almost always true, but fully believed anyway.

I read your advise: FTS not always evil. But if it is FTS on Very large tables, then developers demand it to be avoided: I have the following query which takes around 16 seconds if the 'mrs' table has above 25000 records.MRS has indexes on mr_seqno, mr_number, mr_template.
===============
SELECT DISTINCT
FROM bps_users EXP,
valid_type_values rv_c,
mr_personnel_assigns
expeditor,mr_revisions,mrs
WHERE rv_c.vtyv_vtyp_type(+) = 'MR REVISION CONDITION'
AND rv_c.vtyv_value(+) = mrv_complete_cancelflag
AND mrs.mr_seqno = mr_revisions.mrv_mr_seqno
AND expeditor.mrpa_mr_seqno(+) = mr_seqno
AND mr_revisions.mrv_revno = mrs.mr_lastrevno
AND EXP.busr_id(+) = expeditor.mrpa_busr_id ;
The only thing I could say was "if that query is using a SINGLE index, something is seriously wrong - seriously totally wrong". The query was - it had one full scan and tons of nested loops (they were using the RBO). No matter what they tried, one full scan and since it was taking "long", it must be the full scan. It was more likely the LACK of full scans on the remaining tables.

ROT: Partition a table when it exceeds N rows. Not even close to being partially true, but widely believed. You partition tables based on how you use them. You might partition a 1,000,000 row table, you might not partition a 100,000,000 row table. (how big is a row anyway?).

And there are tons of other ROTs out there. In the hands of someone that has an understanding of how the database/feature works - ROT might well be OK. I admit, I use them myself - but it is personal ROT (really, it is knowledge at that point) and I use it in conjunction with other facts. For every "rule of thumb" out there - there are hundreds of cases where (going for three again)

  • It applies (it is a positive thing)
  • It does not apply (it is a negative when applied in these cases)
  • It neither applies not does not apply (it is totally neutral, neither good nor evil, but at best it is a distraction)
This is one reason why I won't myself develop a set of "rules of thumb" for publication. I will show how the software works, what it does, how it does it. I will share my experiences with it. I will show caveats all of the time (the "yeahbuts" I like). For every "rule", there is a counter case that doesn't disprove the rule necessarily - just says "it doesn't always apply". So, as the Pink Floyd were known to say "Careful with that Axe Eugene" - be careful with ROT. It'll either:
  • Be good
  • Be bad
  • Be neither good nor bad
It all depends. Think of some of the ROT you know about topics like gathering statistics, reorgs, access paths (there are people that will never use NOT IN, there are people conversely that will never use NOT EXISTS - because they had a 'bad experience' with one or the other. Neither is evil once you get to know them).

Monday, May 16, 2005

Crimes Against Logic, Part III

Almost done with the book Crimes against Logic. Chapter on inconsistency was really good. I never had an appreciation for "contrary" versus "contradictory" and now I do. Statements can be contrary - at least one of them is false and possibly both. Or they can be contradictory - one must be false and one must be true. The trick is to find arguments that rely on contradictory statements and show that "hey, just because you show one is false, the other isn't necessarily true!". The "Weird Ideas" section in this chapter was pretty cool (reincarnation, and other subjects are looked at)

The Equivocation chapter rang some bells for me. All about defining terms and understanding what they mean. Perhaps that is why I go to the dictionary so often, just to make sure I understand what a certain word means. Unfortunately, that does not mean the person uttering the word intended that meaning. One of the examples in the book was poverty. I have an idea what poverty is - I'm sure you do to. So when a government released a study that 35% of the child in the country lived in poverty, it sounds pretty bad. Problem was, this was Britain -- and 35% of the children were living in poverty? Well, it turned out someone had redefined poverty, they defined it as any household that made less than 60% of the national median. Not exactly how I would define poverty - but it certainly grabs your attention doesn't it. The use of Marxism as another analogy was really good (and even easier to understand) as well.

The current chapter I'm on is coincidence. Very interesting, given that coincidence seems to happen so much in our industry. The section on Coincidental Healing - it was really about "Correlation is not Causation". Nice Latin quote in there:

Post hoc ergo propter hoc

After this, therefore because of this

Shaking my head up and down vigorously during this chapter. Oh where had I heard all of this before. New favorite chapter time This one wins.

The last two chapters are "Shocking Statistics" and "Morality Fever". This is the last I'll write about this book here, but I think I can see where those two are going. Should be a nice close.

So, let me ask you - any similar book recommendations out there? I can truthfully suggest this one, a very quick read. Well said I think. Don't take anything in there personally (he speaks of government, religion, homeopathic medicine and other things that can raise some peoples ire) and read it for what it is. A different way at looking at discussions, at how people present their evidence.

Sunday, May 15, 2005

Crimes Against Logic, Part II

First, I would like to go on record that the Server Concepts Manual is an excellent manual. It is the single most important book to read in the Oracle documentation set. I meant no harm to its standing in my last writing at all. It just doesn’t read like the book I’m talking about. It is, well, a little dry compared to Crimes Against Logic.

Well, the dream of reading the entire book evaporated last night as I got tied up in an indexing simulation that ran longer than I anticipated (only because it was interesting enough to keep my attention). So I only read a little more of Crimes Against Logic. It is meeting my prior expectations – I’m a little more than halfway through it in only two sittings (in a field before my daughters soccer game, where they kicked butt of course and a little last night out on the porch).

I picked up the second read at a section entitled ‘Tis Evident. Oh wow, this was good. It starts with:

Some things are said only when false. The popular sign “Authentic Olde English Pub,” is one of them. … “It goes without sayihng” is almost as bad. What goes without saying goes without saying. If you feel the need to mention that something goes without saying it probably doesn’t.

But my favorite paragraph to date (getting pretty detailed, had a favorite chapter yesterday) is this:

You should be similarly suspicious when someone tells you that his opinion is self evident or obvious. If it is obvious, why would he feel the need to point out that it is? Its obviousness will do its own work. And if it is not really obvious, than his claiming it is probably means he is trying to obscure the fact that he has no evidence at all

So, ‘Tis Evident met and exceeded all expectations. The next chapter, entitled simply “Shut Up!” was likewise relevant. Has anyone ever shut you up (or have you seen someone shut up) because you were not expert in that field? For example – if you see some really bad art hanging on the wall and say “that is really bad art” – but you yourself are not an artist and in fact could not do better yourself, are you allowed to criticize it? Of course – but many times, the person receiving the criticism will say “yeah, but you cannot do better yourself so shut up”. That response does not address the fact that the art is ugly. How many times does this come up in our world – “you haven’t invented a better technology so you are not qualified to criticize our technology”. I resolve, after reading this chapter, to never use the oft quoted “That is the pot calling the kettle black”.

It continued on to “Shut Up – You’re Boring”. I get this one myself, the concept is “you are so predictable, you keep saying the same thing over and over, it is boring and therefore we will ignore it”. Think about bind variables (I knew I couldn’t write for long without mentioning them). I have a 2 hour-long session on All About Binds. It is one of my favorite presentations now. But it is so predictable of my to do that isn’t it. I will keep saying over and over the same stuff (until something changes or some new facts come to light and changes what needs be said). And I do get the “you would say that wouldn’t you” response – but that does not refute the facts.

I found the “Shut Up” chapter to be pointing in two directions – I’ve both done it and been the recipient of it. I’m sure we all have, but I’ll be watching that more in the future (from both sides – imagine how damaging to someone in a discussion it would be to have it pointed out that “yes, it might be boring and I might say it all of the time – but hey, it is true and unless you have some facts to rebut it maybe you better be the one shutting up”)

And then, “Empty Words”. Phrase things in such obscure, made up (sometimes), screwy terminology that it sounds really smart but means absolutely nothing. I loved the one example – a consulting quote:

Benchmarked against best-in-class peers, intellectual capital leverage reveals significant upward potential moving forward.

Translated that means simply:

Companies like yours make better use of their employees’ knowledge than you do.

The sub section in this chapter “Weasel Words” was great. Never say another in absolutes and you can never absolutely be wrong (or right). But then he closed with “Quotation marks” (my foible). I use them too often (on the list of things to stop) to denote sarcasm. For example:

That “test” you performed does not show what you intended. Your assertion that it does is “not smart” on your part.

Now, read it without the quotes:

That test you performed does not show what you intended. Your assertion that it does is not smart on your part.

I don’t know if you can see the difference, but I do. With the quotes it reads more like “That so called test that was not a test you performed…. Your assertion that it does is just about the silliest thing you could say”. I have to watch the air quotes sometimes (I find I frequently go back and remove about 50% of them after writing a somewhat impassioned response, then after cooling off a bit, get rid of another 50% of the remaining 50%).

The next chapter looks very promising – Inconsistency. I might be able to get through the book tonight (depends on how far I get on my own writing) but tonight – Inconsistency, and Equivocation for sure. And I’m really glad that David from Southampton, England pointed this one out.

Saturday, May 14, 2005

Crimes Against Logic, Part I

Crimes Against Logic, a book that was recommended to me recently, is starting out to be an awesomely good read. I’m about 1/3rd of the way through it but find myself nodding in violent agreement. Reading parts of it and say “yes, yes”. Seeing quotes in there and saying “I know that person”. Each chapter is better than the last.

The book starts with “The Right to Your Opinion” and shows pretty clearly how the person – when presented with irrefutable evidence – has as their only argument “Yeah, but I’m entitled to my opinion” has moved the cheese 5 miles to the left. That is – the discussion is over. Jamie Whyte (the author) claims that at that point, it would simply be rude of anyone to continue the discussion after hearing that. You might be interested in whether their opinion is true or not, but they are not.

The next chapter on Motive (the Motive Fallacy) is the argument many people make that just because someone has a motive, their argument must be discounted. This is a more subtle chapter, but I’ll be looking for examples of the Motive Fallacy more often. I’m actually a recipient of this in many cases – “You cannot accept his recommendation, he works at Oracle after all – his recommendations will always be the companies recommendations”. Never mind if they are true, correct, factual, or even unbiased (I try to be) you can ignore them because of his 'motive'. The examples in the book – using media reports are great. The example I liked the most was one from the presidential elections. John Kerry produced a report, called it a misery index, showing how not as well off many of us were as the result of the last 4 years (I’m not debating either side of this here, just stating that the report was made). The Bush campaign spokesman’s rebut to this? “John Kerry has made a calculation that if he talks down the economy, it will benefit him politically” with the implication that the report should be ignored because of his motivation for writing it. No duh, is the only correct response to that rebut -- anything the opposing camp does is because the have calculated some benefit to be had from doing it. But, what about the facts in the report – are they true or false. Lets not discount it because you think the source has some “motive” – everyone has motive, look at that facts.

The next chapter was on Authority and started with “Because I said so”. I found this one useful and could have used some of the points in there to refine some recent discussions. There are in fact two types of authority – those that have the capability to actually author the rules (son -- go to bed at 8pm, why? Because I said so and I make the rules). And those that are considered expert in the field – and hence their opinions are given more credibility even without supporting evidence. This chapter was really deep.

I’m almost finished with Prejudice in Fancy Dress. Besides loving the title, this one had me standing up saying “oh yeah, you got that right”. This one has sub-sections entitled “Mystery”, “Faith”, “Odds On”, “Weird Science” (currently my favorite one, but the further I read – the better it gets), “But Still”, and the next one (that might usurp favorite status if the title holds true) “Tis’ Evident” – I’m hoping it is the “oh, but this is so obvious we need not explore it” argument.

All in all, this book is going to help me. It is the most compelling read I’ve had since the new Server Concepts manual came out (that, that was a joke). My intention is to work on the book (second edition of Expert One on One) this afternoon and get back to this one on the porch tonight. If you are looking for a quick, insightful read – this might well be one to consider. I think everyone will pick up something from this one.

Then again, if you are one of the ones the author is writing about, it could just make you mad :)

Friday, May 13, 2005

On Blogging

Here is a recursive posting -- a blog about blogging, thoughts on this blogging thing in general.

I’ve been reading through other blogs more and more – to see what others are doing with this and have been intrigued by the concept. One site I stumbled onto is really good, had I known, I might have started over there instead of here.

But as this site here was part of google, it got my attention. Everything google so far has been good. But perhaps this is proof positive that not everything coming from an individual is going to be top notch. Don’t get me wrong, for the price – this blogspot site cannot be beat easily (it is free) but the interface is a little sketchy in places (hint, if you start blogging on this site – do all of your edits else where and just past into the little box and fix up things. Do not rely on that editor to actually have your content when you submit it, been there, done that).

What I like about the ittoolbox blogs is the front page – it is like a newspaper. I’ve read quite a few good articles over there, it is definitely a site I’ll be visiting (and maybe someday move to).

The other blogs I like and have been reading are:

The Oracle Sponge – by David Aldridge. . He has a technical yet funny concept going. And his online practical guide to Oracle Data Warehousing is well done. It is hosted on databasejournal.com and freely accessible to all. Frequently updated, check back often.

The Dizwell Blog – by Howard Rogers, self proclaimed “hero”. Sometimes technical, but many times funny, if you want to see a howler, his April 12th entry was, well – it was exceptional. Moderately updated, check back at least weekly.

Mark Rittman’s Oracle Weblog -- by, well, obviously by Mark. If you are into BI tools and Oracle, that is what Mark is all about. His is mostly a technical blog, but is sprinkled with opinion and pointers to other places. I’ve always found it to be a good read – as far as I can remember, it was the first blog I ever really read. Constantly updated, check back often.

PeteFinnigan.com Limited, for the security conscious amongst us. I was unaware of this blog until a couple of months ago when I got written up myself (grrr). But, he was right and it’s been corrected and has a much lower chance of happening again. Constantly updated, check back often.

And lastly -- Niall’s Oracle Pages. Just musings on the database, the world, commentary. The updates come and go in spurts, check back every now and again…

And another that isn't technically a blog but is a blog in reality. The Jonathan Lewis website. I am so jealous of his ability to write as he does (and he is not a bad speaker either). I hope he has to work really hard at making it look that easy :) But his articles are always a good read and eductional. Didactic sums it up.

So, curious – anyone out there have more to add to the list? They don’t take too long to read and I’m always looking to widen my perspective. I’m not interested in totally technical, marketing like blogs – but rather where a healthy does of opinion and sometimes even attitude is displayed.

Thursday, May 12, 2005

Travel

Travel is tiring sometimes. Left work tuesday evening after a full day to fly to St. Paul MN. Got there, did a seminar for 1.5 hours on Wednesday morning – and get to the airport again, to fly to Chicago IL. Well, Chicago being Chicago and the weather being the weather – the 12:30 flight was scheduled to leave at 2pm. Of course – totally full (and no economy plus seating left!). We get on the plane and the pilot says “Well, this never happens” (uh-oh). Turns out we are now scheduled to leave at 3:50pm – but we are already jammed on the plane. Sit and sit and sit.

We did finally take off about 3:30 – so far, 1.5 hours in the airport, 2 hours sitting on the plane, 1 hour in the air. So, in only the time it takes to go coast to coast I was able to go 400 miles!

At least this time I’m traveling with people – I normally go “solo”. Didn’t have to eat dinner by myself. That is always nice (nothing worse than a dinner by yourself in a restaurant).

Just finished another seminar this morning, waiting to go to the airport where I’ll undoubtedly have to wait again (rain in Chicago). Fortunately this time it is headed home. Sometimes wish I could travel somewhere for a week – or 2 or 3 days in the same place more often. Those trips seem not half as bad on the travel side, but then again – they are almost always “solo” trips.

Good thing I have an air card, always (mostly) have a network where ever I go – but stuck in the back of a plane with my laptop wasn’t working yesterday. I have this laptop and it barely fits from armrest to armrest (17” screen – very nice, highly recommended if you are going for a desktop replacement) let alone with the lid open on a plane (except in business class).

On the plane, I tend to read mostly, never pull out the laptop. I consider that “my time”.

Tuesday, May 10, 2005

Trust

In your article "In search of the truth Or Correlation is not Causation" you mentioned:
"The other one of my guiding principles is that I ask for proof from everyone (yes, it can be annoying, it carries over into my personal life as well. Ask my wife and kids)."
It would be interesting if you can expand on affect of your approach to personal life. In today's interconnected world, most of us are specialized and need to trust other experts (doctors, financial advisors, car mechanic etc.) on their word.

Well, it certainly does spill over. Take doctors for example. (We can pretend for a moment that the developer is instead a physician and the application is the patient). There are many types of MDs

  • The emergency room (ER) doctor These physicians do "triage," separating the hopeless patients from those that can be helped, performing quick-fixes along the way to keep patients alive as long as possible. They will take a heart-attack patient with a history of smoking, bad diet, and no exercise and stabilize their condition.
  • The operating room (OR) doctor The OR physician gets the patient after they've gone through triage and after the ER doctor has temporarily patched them up. The OR doctor strives for long-term fixes to keep the patient not only alive but functioning as well as possible. They perform the by-pass operation on the heart attack victim, attempting to clear the arteries.
  • The physical therapist (PT) The PT gets the patient when the OR doctor is through and begins the long and painful (not to mention expensive) process of rehabilitation.
  • The preventative medicine doctor These physicians strive to avoid the preceding three doctors at all costs. They counsel the patient to quit smoking, eat a healthy diet, and exercise, developing a multistep program to get them in shape. If they do their job right, barring unfortunate incidents (like a car accident), the patient will never see the ER, OR, or PT doctors.

In the above list, I would expect to have to "trust" to some degree the ER doctor. It is fast and furious and they are making quick decisions based on experience and limited facts. But the decisions must be made quickly (or they may never be made at all). They do not make big changes - their goal is to stabilize and get the patient ready to be fixed. And -- we try to avoid the situations that necessitate the ER doctor all of the time (don't we?). For example, I avoid trimming my hedges with my lawn mower - it would work but would really increase the change of my needing the ER doctor wouldn't it?

So that ER doctor, we must to some degree trust, but they are doing quick patches, quick fixes. We don't want to use them day to day - to figure out "how to live properly", and we avoid them at all costs. That we need to use them indicates something went wrong in the first place.

The other doctors however, are different. We demand test and proof from them don't we? Before I get an operation, I'll get multiple opinions - I'll have reviewed the test results - I might even have studied the problem myself to some degree. I'll have asked for information from multiple people over time. We would have tested this, we would have gotten some evidence on this. If it was an experimental treatment, we would go into that with eyes wide open. Same with the other doctors. If I was going into physical therapy, I'd want some evidence that what they were doing was the best way to fix what ails me. We'd have test, evidence, facts to see past successes and failures. We'd have a pretty good idea that what we were going to undergo would actually be successful and the degree to which it would be.

Sure, there is a matter of trust there, but really - it is all backed up ultimately by facts, by evidence. Before we get surgery, we have tests performed. We would never let a surgeon just poke around and do stuff because it fixed another patient in the past right?

I think that applies to everything. I tend to research things - when I went to buy my hybrid gas/electric car - way before I went near a dealership, I learned quite a bit about them. I read the opinions of people. I read the technical articles. I read the good and the bad. I knew the dealer would say "50-60 miles/gallon", but I knew the reality would be 40-50 (and it is, 45-47 miles/gallon is my year long average). I understood how they worked (but don't ask me to work on one - I opened the hood and saw not much that I recognized). I understood what the car would and would not do for me. The dealership only had to let me drive one to fill in that last piece of missing information -- would I find the car comfortable to drive.

Sometimes we don't have the time/experience to get in depth in some topic and there we rely on "experts in the field". Take wine for example - I like to drink it (any flavor as long as it is red). I don't know very much about it however. I go to a vintner (we happen to have one close by). I trust him to pick out a case of it for me. I do this because he records what I've had in the past - and remembers what I liked and is able to now make recommendations for me based on past experience. But what he learned about me applies to me and me alone (see correlations to computer systems?) It would not apply to you (maybe it would, but probably not). It is like training an expert system - it needs some feedback to refine the suggestions. The wine we get now is usually pretty much dead on - it has been a long time since we've had some we didn't like. The vintner took our price sensitivity, our personal tastes and based on their past experience - is able to suggest something for us we'll probably be OK with.

But I would not walk in there and let someone else pick it out for me - not without expecting some wine we aren't going to like so much. Even if that person was expert - because we don't have that history yet. I'd have to train them (continuity is a good thing as well - many correlations to computer systems) all over again.

So yes, I'd say I have to either have lots of evidence, or for some things have the knowledge that the person dispensing the advice actually knows my unique circumstances. Maybe that is why I'm down on ROT (rules of thumb). It is not that by finding a single exception they are ruled out - but rather that literally thousands of exceptions exist for each one - for each rule of thumb - and if you try to apply a rule of thumb that has worked for some one else, without understanding "why" you'll do one of three things:
  1. make things better
  2. make things not change at all (but have expended a lot of energy in doing so, and perhaps set expectations high)
  3. make things much much worse

The vintner is full of rules of thumb, but until they get to know me - they are just guessing.

Monday, May 09, 2005

Motivation

I go to asktom.oracle.com daily… Still I have one question -- what makes you so eager, so consistent and so helpful.. There are lots and lot of Oracle experts.. Some of them may be better than you.. I'm talking about those geeks at Oracle Corps.. But no one has that kind of interest and don’t know what to say -- that urgency to help/answer the queries (sometime they are pretty bad too, sometime they are too naive) ... But hey it has been 16 yrs with oracle for you and I feel like you are keep going more strongly... So tell us ... I want to know about that motivation.. And that mission which you show in answering our queries..

How could I turn that one down? Wow, thanks. Except of course for that “some of them may be better part” – only kidding, I know what I know… I go to others many times, frequently. I know what I know and that is it. No one knows it all (every day, every single day, I learn something new about Oracle – no kidding) I frequently go to:

  • Joel Kallman -- Oracle Text questions
  • Tyler Muth -- HTMLDB
  • Sean Dillon -- all things XML
  • Mark Piermarini -- Java
  • Clarke Colombo -- Spatial
  • David Knox -- Security
  • Xuan Cuong Bui -- Optimizer
  • Sam Khoury -- Warehouse Builder/BI


Just to name a few inside Oracle. I get them to help from time to time on asktom.

So, the question is simply, why do I do what I do. I almost thought for a while I wanted to be a teacher, think I still do sometimes (still time for that later in life). Seeing the light bulb go on over some ones head – classic. I feel a little like a teacher, I’ve actually seen people graduate from asktom. They came in as ‘newbies’. Asked a lot of questions – a lot. You could see them grow in knowledge, they started challenging the answers to their questions. And then they stop coming – no not because I ran them off, but because they didn’t need to ask so often. I ran into one of these graduates just a couple of weeks ago. I said “hey, you don’t come to the site much anymore”. He laughed and said he does, he just mostly reads now, he knows how to find most of the answers on his own now. He is answering the questions for people. That – that was excellent. Goal achieved.

It all started when I got into the usenet newsgroups over a decade ago. The signal to noise ratio was much better back that – no groups.google.com bought from dejanews.com – it was a little more exclusive, harder to get to. I used “nn” and "rn" – character mode command line tools to read and post to a couple of groups, all of which started with comp.databases.* (comp.databases.oracle.*, .sybase.*, and .informix.*)… Boy, looking back at some of my posts in comp.databases.sybase and comp.databases.informix (I just re-read some while writing this), there was a bit of passion back then in the middle to late 90’s. The database wars were in full force (not everyone I interacted with back then would recall it fondly). Saw a lot of names I haven’t seen for a while – some names I’m still in touch with.

Before you think it was/is all charitable, there is something I get out of this as well. Most of my attention back then went into comp.databases.oracle.server/tools/misc (I’m sure the guys on the Informix/Sybase newsgroups didn’t see it that way). It was the way I started my day, pretty much every work day. It was a great way to see what was bugging people, what they were having a hard time with. It was an awesome way to find out what challenges people were having that I didn’t know how to solve (yet). I viewed it as my crossword puzzle. Some people do the crosswords to get going in the morning, I did the newsgroups. I still do the equivalent – I don’t feel awake until I’ve made the rounds. I learn as much as I teach, I’m sure of that. I read lots of forums, I participate in a select few.

I remember the first time I saw what impact this could have. I was at a customer site, in Santa Fe, New Mexico. We were starting a tough meeting (the old Oracle is bad, database X was so much better, what are you going to do about it meeting). We did the introductions and when it got to me and I said my name – the person across the table said “from the newsgroups” and I said yes – she said “you just saved our butts on this jdbc/lob issue, way above and beyond, much more than anyone could expect…”. Basically, because I had helped – the entire tenor of the meeting changed at that point. We were no longer the enemy database, but were there to help. It has happened many times since, they knowing I wanted to help, to make them successful, that that was my goal – really helped.

I have strong ideas about the right way to approach things in Oracle and database development in general. I got started as a database developer, not as an Oracle developer. I had a pretty good database mentor (after Woody Lons taught me to program), Guy DeCorte was his name. (Just an amusing side note, for the longest time I was sure that DECORTE was a keyword in databases. All queries were of the form “select * from DECORTE.tablename” – every single query, and no one knew ‘why’, it was just so. Then I met Guy and said “hey, that’s funny, your last name is a SQL keyword”. Talk about feeling ‘not smart’). He made me read lots of what at the time seemed esoteric text books. I was the lead developer on a project working with Guy to make a data modeling tool. The tool never went anywhere but I learned to program Windows 286/386 and a lot about database design. More than I would have under normal circumstances. Perhaps this is why I so fervently believe the data is what is relevant, applications come and they go and they go and they come. Data – it tends to stay around. I’ve since always taken a very data centric approach to things. Get the data right and the applications just happen and happen and happen again. Get the data wrong and well, you have a single application everyone hates.

Answering questions, working with people lets me get that feeling across. Ask me how to do something, and I’ll peel back the onion – see what you are really trying to do and try to describe the best way to accomplish that, in the database.

And occasionally, I get to make a thing that was running in hours run in seconds or minutes. That is very cool. High fives all around.

But mostly I think it is the brain exercise of “what’s going on”. The solving of the mystery behind the problem. There was exactly one time in 17 years that the setting of a single parameter in the init.ora file fixed a problem on a “system wide” scale – and that was only found after analyzing the situation (no silver bullets from me, sorry – no fast=true). The init.ora parameter funny enough was optimizer_mode – and no, it was not setting it to rule that fixed anything! It was first_rows – and only because the customer was using Discoverer to retrieve multi-MILLION row result sets, looking at the first page or two and discarding the results. They meant to be doing top-n reports, only they did not know that. Quick fix for them was first_rows (for most other people, that would be wrong…)

So, there is the satisfaction of making someone more successful with Oracle, that is good. There is the satisfaction of figuring out something, performance ‘tuning’ is sometimes like a good mystery – it is not always obvious. There is the feeling you get doing a technical seminar (I like those a lot more than a sales presentation). The interactive Q&A – the back and forth, the sharing of ideas, it is a really good feeling. Spending 8 hours on your feet for 3 days can be very draining, but at the end – it is a really good feeling. The absolute sense of community. That is important too. It might sound strange, but it really is a community out there. When I go to a conference – such as IOUG-A last week – it is like a reunion. I’ve met tons of people over the last decade because of this software called Oracle – and made many friends. It really is a community.

So, there is the mental sparring that goes on. The challenge. I don’t mind the easy/simple questions – we all have to learn, I don’t think they are naïve, they are just “new”. The only questions that I wish I didn’t get are the ones I specifically list as “I don’t do these questions” – when you ask a question, I have a list that I ask ‘you did read that right’, many times people click the box but ignored the list. Neither end of the internet connection ends up satisfied with those.

Keep the questions interesting and I’ll do this (the asktom stuff) for years. It’s been almost 5 and a half years so far – still interesting.

Favorite things to do on the job:

  • Seminars, getting the word out. Totally technical seminars.
  • Work with customers on their problems. I’ve made many long term friends over the years this way.
  • The Q&A thing -- wakes me up in the morning. The feedback is awesome. The mental challenge -- nothing like it. Always in search of a neat SQL query challenge

Saturday, May 07, 2005

Any Plans for the weekend?

Any plans for the weekend? If you don’t, you could attend the first and last Time Traveler Conference. You really only need one of these conferences ever – because IF you miss AND time travel becomes a reality, you can always go some other time. It must be for real since even the International Herald Tribune picked it up.

It is a rather interesting concept, send out invitations by planting them in library books – they are instantly in the future. I see they used coordinates instead of just saying MIT, in case MIT doesn’t exist sometime in the future, but – I wonder, did they account for continental drift and such. I guess if the historical record is kept – those in the future could figure out where that coordinate from the past would be in their today.

Just found it vaguely amusing for some reason. I don't have time to go this weekend -- but maybe I will in 20 or 30 years from now....


Friday, May 06, 2005

Who...

You have it all figured out, haven't you! Here, I have an answer: It's 42. What's the question. Like they ask in beauty pageants, 'If you were given the opportunity to meet one person in history, who would that be and why?' Let's make it better. Dead or alive. Who are the people whom you have wanted to meet?

If I had it all figured out -- well, I sure don't yet.

I've got to get to that movie, the hitchhiker. Last year I got the unabridged version of Doug Adams hitchhiker series to reread. Been doing that with alot of series I read years ago. This time I'm keeping the books (getting some of the Asimov books took some looking). My son just finished reading the hitchhiker series. Getting to that movie is on the top of the list of things to do.

Who would I like to meet. That is a strange one. I think it would be fun to have lunch with Woody Allen (just read a book about him, he is an interesting individual). John F. Kennedy always interested me for some reason.

But I think an interesting lunch table would be just an average person from every 50 year slice for the last couple hundred years. 1900-1950, 1850-1900 and so on - say back to the 1600's. Just to sit around and measure the pace of change, to see if it is as exponential as it feels to me now - or if for the last 400 years it has always felt exponential to the people living in that time. Did the people at the turn of the last century feel things were changing as fast we do now. We look back and it all looks "quaint" to us - but to them it was new age. We can list all of the new things and it feels like it is moving really fast, but did it feel that way to them as well.

Think about air conditioning and life before and after. Perhaps that was the biggest life changing event for many people - totally changed the way you lived in a very broad way. Much of our technology changes things in little ways - but air conditioning? Every time I get in an airplane to fly across the country - I think about the people that walked. The airplane -- big time change, very broad. So are our incremental technology changes really that "big"? The advent of networking to the degree it is now is probably a really big change. I can work at home as easily as the office -- that could really change things. Just a decade ago, going on travel typically meant "no work" -- dialup was shaky (and really really slow), laptops couldn't do very much. Going to Europe for me back then was like going into oblivion as I lost the network entirely and had no phone. Today, I get off the plane, have wireless networking and my phone rings.

But I'd really like to fill out the table with people from the next 200/300 years too - now that would be interesting. I want to know where it is all going. How "quaint" will we look to them.

So it is not so much individuals, as just a curiosity about the people. I love coffee table books with old pictures of places I know today - to see how they changed. The only thing that is missing is the thoughts of the people in the picture.