Thursday, July 10, 2008

Read this...

I read a lot of "stuff".  Yeah, I know, I'm writing less here - but that leaves more time to read over there...

I read lots of blogs, lots of forums.  I lurk.  I observe.  I see what people are saying.

 

I liked what Cary Millsap just said:

I don’t mean “show and tell,” where someone claims he has improved performance at hundreds of customer sites by hundreds of percentage points [sic], so therefore he’s an expert. I mean show your work, which means documenting a relevant baseline measurement, conducting a controlled experiment, documenting a second relevant measurement, and then showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to.

Check out the entire posting - and the book he is talking about.  Also, check out his new venture.  A pretty good read...

POST A COMMENT

58 Comments:

Anonymous PattyC said....

FYI.. The book he is talking about is available and costs less in Canada (believe it or not) from amazon.ca!

Fri Jul 11, 09:53:00 AM EDT  

Anonymous Anonymous said....

>> " I mean show your work, which means documenting a relevant baseline measurement, conducting a controlled experiment, documenting a second relevant measurement, and then showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to."

So, his profiler is free, then is it? Thought not.

Fri Jul 11, 12:08:00 PM EDT  

Blogger Thomas Kyte said....

@pseudonymous anonymous person...

what the heck does the price of his product

have to do with the truthfulness or correctness of his statement.


How about if I said it - or your said it - it would still be true.


You could use his profiler to meet the goal.

You could use tkprof

You could use AWR

You could use custom instrumentation in your own code

You could use - well - just about anything you want to use.


So, help us out here - why does your comment even begin to make sense?

Fri Jul 11, 01:08:00 PM EDT  

Anonymous Anonymous said....

I guess this is relevant since you mentioned profiling methods. I know this long term DBA who has begun throwing around the term "SQLT" for tuning things. The way he makes it sounds is that SQLT (sequel-T) is some kind of performance tuning tool for Oracle. I do a google search and see SQL-T just meaning Transactional SQL most of the time. Any idea what this "sqlt" is?

Fri Jul 11, 04:41:00 PM EDT  

Anonymous Greg said....

Tom said: what the heck does the price of his product
have to do with the truthfulness or correctness of his statement. anonymous person...

Why did I immediately think that it was a particular @pseuDONymous anonymous person?
If I'm wrong, then I apologise.

Fri Jul 11, 05:59:00 PM EDT  

Anonymous Anonymous said....

>> what the heck does the price of his product have to do with the truthfulness or correctness of his statement.

Millsap's statement implies a lack of accountability in A. N. Other's work. Yet, and this is what I am getting at, he sells a tool (the Profiler) which is mentioned several times in his book. From his site:

Method R causes you to produce the highest possible impact because you are always focused on the goal that has meaning to the business: the response time of targeted user actions.
Efficiency

Method R provides excellent project efficiency because it keeps you focused on the top priorities for the business, and because it allows you to make fully informed decisions during every step of the project. Project efficiency is in fact this method's key design constraint.
Measurability

Method R uses end-user response time as its measurement criterion, not internal technical metrics that may or may not translate directly to end-user benefit.

OK. So we have Millsap saying, "Person X is unaccountable, because he/she doesn't explain how they reach their conclusions; but me, Cary, I am soooo accountable - apart from letting you understand how my Profiler works! And Tom, it's slight-of-hand to suggest that StatsPack/AWR/whatever will do the same... no way, José! Millsap's Profiler includes many man-hours of "interpretation-related" stuff, at least that's what Millsap said in something I have read recently online. i.e. you get intelligent recommendations, based upon the Profiler's findings, as part of the deal.

My basic point is that how can someone have a pop at another for holding back on information, when the accuser's stock-in-trade is a tool that ... er ...
relies on trade secret knowledge? If Millsap was really, really into the "Let's all share and be open and transparent, man" vibe then his Profiler would be free. It isn't. Which implies that others on this planet are, likewise, entitled to keep stuff to themselves. Same goes for you - One-on-One isn't a freebie download, is it?

@greg...
A Top Tip for you: not everyone who dissents is Don Burleson. I accept your promised apology in advance.

Sat Jul 12, 12:57:00 AM EDT  

Blogger Aman Sharma said....

@anonymous,
I really am not able to follow your train of thought here.Your only point (which I could understand) is that why Carry mentioned that his tool is open and transparent yet not free is it?Why the heck it should be free?Oracle gives us allteh traces, tools to read them, documentation to interpret the results so does it mean Oracle should be free too?Oh guess what ,its actually is free if you are using it for develeopment,test purpose!Just because carry mentioned that there should be open and transparent results when one gives a statement of fact/tip for imporving performance but he himself is making/using a tool which is not free,he is telling lies or whatever you meant in your post?I really don't think so!
Moreover, I guess your rant is about and for Carry,why not take this over Carry's blog where not just this snippet which Tom quoted is there but the complete forward is there.And also he has mentioned that what does it mean to him by Performance.Wont it be better to hear and clarify from Carry himself what he meant and why?
Aman....

Sat Jul 12, 03:23:00 AM EDT  

Anonymous Anonymous said....

@aman
I do NOT suggest that Millsap's Profiler should be free! We all have a living to make, etc.

My point is that to rubbish another for not "showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to" when Millsap's living depends (in no small part) on trade secret Oracle-related stuff (i.e. his Profiler and the man years of work he and others have put into correlating trace file data and suggested fixes) is just wrong, wrong, wrong. It's a big, fat pompous example of the pot calling the kettle.

Sun Jul 13, 01:56:00 AM EDT  

Blogger scubajim said....

Woah. He fully documents what his method is. There isn't any secret sauce. Okay, you have to buy his book, big woop. He spent many weeks writing the thing he should be paid for his work. Same with the tool. His tool is just an incarnation of what he writes in the book.

The point Tom is making is that use the scientific method. If you are going to make a claim - in this case about performance improvement - then show your work. This is standard stuff in the scientific community. In the health care community there are plenty of charlatans who hawk nostrums with no proven efficacy. (eg most of us get daily spam about "male enhancement" no double blind studies there.) The professionals in the health care community do publish their findings and how they did the experiments.

Again He is just applying standards which the scientific community has insisted on for a very long time. It is high time we followed the same standards. It would help to differentiate those in our profession from technology scientists vs "male enhancement" spammers.

In school you are supposed to show your work why is this any different?

Sun Jul 13, 11:00:00 AM EDT  

Blogger Mark A. Williams said....

I think scubajim pretty much wrapped up what I had to say...

My primary thought is "why can't you use Cary's profiler and state that you did?" Would that not be in the spirit of showing your work? I don't think you need to divulge the source code for every piece of the process, do you? In fact, the process Cary describes could easily be used with the profiler: all you need to do is specify the inputs used, etc. and verify the outputs, or no?

>> It would help to differentiate those in our profession from technology scientists vs "male enhancement" spammers.

Ahhh, is that what is meant by "silver bullet"? ;)

- Mark

Sun Jul 13, 12:29:00 PM EDT  

Blogger scubajim said....

Mark,
You made my day. I really am LOL. I hadn't considered that is what Fred Brooks was referring to. Makes perfect sense now.
Thanks,
Jim

Sun Jul 13, 12:45:00 PM EDT  

Anonymous Robert said....

Tom,
the forums you read, are they (mostly) Oracle or technology related ?

Sun Jul 13, 05:12:00 PM EDT  

Blogger Thomas Kyte said....

@Robert

my personal blog role is maybe 50/50 technology and "for fun"

for forums, I don't track any of them day to day anymore - mostly I either

a) use one because I have a need in a specific area and I find a forum and jump into it to ask a question.

b) am pointed to one where a conversation is going on that might have interest to me personally is taking place...

Mon Jul 14, 02:20:00 PM EDT  

Blogger Thomas Kyte said....

@anonymous trolling like person

... My point is that to rubbish another for not "showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to" when Millsap's living depends (in no small part) on trade secret Oracle-related stuff (i.e. his Profiler and the man years of work he and others have put into correlating trace file data and suggested fixes) is just wrong, wrong, wrong. ...


Then people who build airplanes should never suggest air travel.

people who work on the roads should never say "take a car or a bus"

I should never say "use a database" - because I fully fit 100% your "rubbish" profile there - I make my living in no small part on Oracle, the database.


Anything Cary knows about Oracle - guess what - you can too. He does not have access to, nor would he read the source code - it wouldn't mean anything to us.

He does nothing you could not do yourself.

His statement reaches back over the YEARS - years before his own profiler was available.


So, the ad-hominem attack on Cary - whereby you think he is pompous (interesting word to choose, for such an understated, low key guy actually) isn't even relevant. You don't have to like the messenger personally

if the message is dead on.

And, well, it is.

Mon Jul 14, 02:26:00 PM EDT  

Anonymous Petar Repac said....

Hi, Tom

>I read a lot of "stuff".
Than, maybe you would be interested in this post. I'd love to read your comment :).

Maybe Normalizing Isn't Normal

Regards, Petar

Tue Jul 15, 04:26:00 PM EDT  

Blogger Niall said....

@anonymous

method-r isn't secret, trade or otherwise. The specific code for the hotsos profiler is. The first is why I, and others, could write profilers using the same general approach, for our own use, for interest, for our own needs - whatever. The second is a direct result of just how hard an exercise writing such a tool to production standards actually turns out to be. But no method-r is no secret.

Tue Jul 15, 04:41:00 PM EDT  

Anonymous Anonymous said....

@niall:
"method-r isn't secret, trade or otherwise. The specific code for the hotsos profiler is"

Yes. No argument, there.

In sum: I do not see how, if one is going to keep to oneself secrets about diagnosing/fixing Oracle problems (i.e. the Profiler's internals plus whatever else he offers as part of the service that isn't 100% transparent), that one can ever say of another, "Hey, you! You're lousy because you don't explain how you reached your conclusions!"
There is no way that if I used his Profiler, I'd get the full explanation as to how it gleaned its findings, would I? Of course not! There’s an element of secrecy – understandable – but there, nonetheless.

If Cary/whoever wants to have secrets (and I really do see why they would), then shut up about others having to be transparent.

Simple, really.

Wed Jul 16, 11:49:00 AM EDT  

Blogger Thomas Kyte said....

@anonymous

first and foremost, Cary was commenting on a book that shows how to measure things, how to report on things, how to "show your work".

eg: I fail to see the relevance of a tool he has invented in this entire discussion. Again, it would be exactly like an airline manufacturer saying "fly planes". Your logic is not logic at all. A does not beget B here.

Cary said those words way before the profiler existed, has been saying them for years - at Oracle when he worked there - way way before any "tool"

That he has a tool is quite simply "not relevant" to the discussion at hand. Quite simple really.


You make no sense at all - are you disagreeing with the original statement, pretend for a moment that the statement about showing your work was made by "an anonymous person".

Do you disagree with it?

Wed Jul 16, 03:50:00 PM EDT  

Blogger Tom said....

If you read Cary's book, he explains how to interpret 10046 trace data and goes into detail about how to use it. That is all his profiler really does. It lets you really look into it. You could write your own tool to put the trace data into a readable format like his tool does.

You could also use TKPROF. I don't know what is so "secret" about it?

Wed Jul 16, 06:07:00 PM EDT  

Anonymous Anonymous said....

Reading between the lines I wonder about Carys method, it seems he needs to be able to measure in a linear fashion, and for me that is Forms/volumes and loops.

I don't believe they could offer that solution to large volume batchwork process joining a large number of tables. It looks to me like the old style of Oracle programming, single SQL is now no longer as efficient due to optimizer deficiencies (poor cardinality early in the parse process) and so now loops and smaller number of joins is favoured. Its something I have seen in Oracle eBS (exploders).

Fri Jul 18, 07:10:00 PM EDT  

Blogger Thomas Kyte said....

@last anonymous there...

... it seems he needs to be able to measure in a linear fashion, and for me that is Forms/volumes and loops. ...

that sounded very technical, but I've no idea what you were trying to say. Neither that nor the second paragraph.

Other then you seem to be saying "his stuff is linear therefore it cannot work" - which is, well, I don't know what it is really - it doesn't parse.

Why do you say:

I don't believe they could offer that solution to large volume batchwork process joining a large number of tables.

and what does that really mean?

Sorry, I'm serious - I don't understand anything you tried to say there, could you offer up a bit more "meat"?

Fri Jul 18, 08:18:00 PM EDT  

Blogger jan van mourik said....

@Anonymous

Looks like you
- didn't read "Optimizing Oracle Performance"
- never used the Profiler
- never met or talked to Cary

So maybe if you
- go to http://www.amazon.com/Optimizing-Oracle-Performance-Cary-Millsap/dp/059600527X to buy the book and read it...
- take a real look at what Profiler does
- go to a seminar featuring Cary, or take a class from Method R

you might come to another conclusion. One based on facts, not on ignorance.

BTW. Kind of ironic to criticize somebody on transparency while posting anonymous :-)

Sat Jul 19, 12:42:00 PM EDT  

Blogger jilcov said....

I mean show your work, which means documenting a relevant baseline measurement, conducting a controlled experiment, documenting a second relevant measurement, and then showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to

Sun Jul 20, 06:27:00 PM EDT  

Anonymous Ben Prusinski said....

Hi Tom,

OK so what are you supposed to do if you have data to share but due to legal NDA disclosures you cannot share on forums like OTN to prove your point? I agree with you that testing is important to back up claims however, if a client has confidential data, all that one can really do is to explain the steps and procedures taken to resolve an issue. One cannot always have raw client data to share which would cause some legal issues if I were to say dump an Oracle trace on a public forum for everyone to see.

Cheers,
Ben Prusinski

Wed Jul 23, 06:41:00 PM EDT  

Blogger Thomas Kyte said....

@Ben,

well, if you did that say once - maybe OK.


if you do it every single time, all of the time, not so ok.

If every time you say "I cannot show you any numbers, I cannot show you any examples, I cannot even show you an initialization parameter file, I cannot show you this, I cannot explain that - NDA you see" - well, that gets a bit tiring.

For you see, if you isolate the issue, if you *really know* what you did, why you did it, and what effect it had - you know what?

You'd be able to do what I do, what others do time after time after time.

You'd be able to say:

a) suppose you are faced with ....

b) and suppose this that and the other....

c) then you could do this.....

d) and you'd expect to see that.....



I work/have worked with federal customers in the past. I am not cleared to see their stuff.

You know what they do? They come up with a test case that is sanitized - shows the issue, demonstrates the problem - we work on that - and we fix things.

No reason not to do that....


Getting on a forum and saying "hey, one time we saw a really slow query - we set this parameter and bam - it was super great, you should do that"

That is not responsible, not useful - and since so many neophytes read the forums - extremely dangerous.

So, the NDA - red herring, not relevant. If you

a) diagnosed an issue
b) understood what the issue was
c) really knew what you did and why it had the effect it did

you would be able to demonstrate it....


And in fact, just taking a statspack - without showing the sql or anything, or making the sql "generic" - would not violate many NDA's I know of. Those are just numbers - no one can relate them to anything (making up numbers - bad idea, but taking excerpts - wait event information - nothing identifying of the customer...)

If you want to be able to say "we did X and X is really good", back it up - explain why X is really good, what X did, why X had the effect it did, what was happening.


Else, we are just in the land of magic and myth, wave hands and hope something works.

Wed Jul 23, 07:07:00 PM EDT  

Anonymous Anonymous said....

Let me try and phrase a good little question then.

I remember several years back discovering how to put a list of values (LOV) within subquery parenthesis and give that block an alias. If you then placed this value behind the FROM and you could repeatedly use the LOVs within the query without creating a table (this was good because the LOV's were passed as parameters from a shell script)

The following has poor syntax but very close to what I remembered worked...
select x.* from ('a','b','c') x

I was trying to avoid both creating a table and the following...
select x from table where x in ('a','b','c')
and repeat the LOV's in different IN lists (hard to do in script)

If this triggers a distant sql memory then could you please post the correct SQL and advise if more than one column (pairs in the LOV's) is possible?

Many thanks for your attention.

Stephen

Thu Jul 24, 02:11:00 PM EDT  

Blogger redpetre said....

Fri Jul 25, 05:50:00 AM EDT  

Anonymous Mette said....

with x as (
select 'a','b','c' from dual union select '1','2', '3' from dual)
select * from x, x y;

Fri Jul 25, 09:11:00 AM EDT  

Anonymous Anonymous said....

@Mette

I appreciate the contribution; it certainly does something I have not seen before, thank-you.

I've spent an unhealthy amount of time trying to find some supporting evidence for my failing memory and have not been succesful as yet.

The unusually configured FROM clause eludes definition.

Cheers,
Stephen

Fri Jul 25, 02:03:00 PM EDT  

Anonymous Anonymous said....

>> You could also use TKPROF. I don't know what is so "secret" about it?

Cary Millsap in his book (@jan van mourik: and yes, I have both bought it & read it) that TKPROF is too limited. It'd be odd if he thought otherwise, what with his selling the Profiler, and all!

He has a secret methodology. Sure, it's based on 10046, but the interpretation described in the book is NOT 100% the same as that applied by the Profiler. Else, he's be selling nothing.

Sun Jul 27, 02:10:00 PM EDT  

Blogger archana said....

Hi Tom,
My Database designer has 'generically' applied Number(11,0) for all primary key fields in the database
I am not sure i understand his approach is correct
For example
Gender table primary key is also Number(11,0) although there will only always be only 2 records in this table.
Can you please advise me on this approach whether it is correct or not.Will there be any impact if we generically design all primary keys in the same manner?

Thanks and Regards,
Archana

Mon Jul 28, 05:56:00 AM EDT  

Blogger Kim Berg Hansen said....

@archana:

Be advised that this is Tom's blog...
Suggest you go to asktom.oracle.com for questions - there's a nice queueing system so Tom doesn't get flooded with questions (he is just one man - ok so he's almost superhuman, but still just one person :-)

Thanks for your attention to this message.

/Kim

Mon Jul 28, 06:18:00 AM EDT  

Blogger archana said....

Thanks Kim, I understand.
Its just that i liked the presentation format here, also this was more an approach to design, hence i raised my query here:) Apologies if this is not the right forum to raise this question.
Archana

Mon Jul 28, 08:58:00 AM EDT  

Blogger archana said....

This comment has been removed by the author.

Mon Jul 28, 08:58:00 AM EDT  

Blogger Karen said....

@Anonymous/Stephen

It seems you have some pretty strong opinions/thoughts about Cary and his "secrets". I'd really encourage you to visit method-r.com or carymillsap.blogspot.com and post some of your comments and questions there. I've found it very interesting that you haven't offered any of these comments to Cary directly as I'm sure he'd be very happy to engage with you about what you have to say.

Not to be picky with your choice of words, but I'd like to refer you to the Usage Note for the word methodology found at http://www.thefreedictionary.com/methodology,

Usage Note: Methodology can properly refer to the theoretical analysis of the methods appropriate to a field of study or to the body of methods and principles particular to a branch of knowledge. In this sense, one may speak of objections to the methodology of a geographic survey (that is, objections dealing with the appropriateness of the methods used) or of the methodology of modern cognitive psychology (that is, the principles and practices that underlie research in the field). In recent years, however, methodology has been increasingly used as a pretentious substitute for method in scientific and technical contexts, as in The oil company has not yet decided on a methodology for restoring the beaches. People may have taken to this practice by influence of the adjective methodological to mean "pertaining to methods." Methodological may have acquired this meaning because people had already been using the more ordinary adjective methodical to mean "orderly, systematic." But the misuse of methodology obscures an important conceptual distinction between the tools of scientific investigation (properly methods) and the principles that determine how such tools are deployed and interpreted.

So, your comment that "He has a secret methodology" is incorrect (both grammatically and in the context in which I think you meant it).

The "method" Cary (and Jeff Holt) created is "Method R". The method is outlined in detail in Cary and Jeff's book as well as in the Method R class called "Oracle Performance Management using Response Time Profiling". The method doesn't depend on tools (like the Profiler). The method is not in any way "secret". And, for that matter, the Profiler doesn't have any "secret sauce" other than the hard work and dedication of a group of individuals who have reviewed thousands of trace files over the past 10 years and developed a very robust tool that can summarize and provide output which can give the user a quick and efficient way to get to the root cause of virtually any Oracle performance problem.

Again, both the book and the course discuss everything a person would need to know to write a profiler on their own (and many have!). But, the depth of knowledge and experience gained from years of working with 10046 data has resulted in the product called the Profiler.

You further state "Sure, it's based on 10046, but the interpretation described in the book is NOT 100% the same as that applied by the Profiler. Else, he's be selling nothing.". Again, I don't agree here. Everything you need is there. Well, everything except years of experience and having seen 1000's of trace files that allow the Profiler to be smart enough to be able to work through countless corner cases. However, the way to do it is publicly documented. It's not easy...but it's there. The Profiler is the culmination of 10+ years of very hard work. Are you saying you think 10 years of time and effort aren't worth paying a price to not have to do it yourself? If you don't think such effort deserves to be compensated, then that's fine, but I'm not sure I see how you can have issue with someone charging a fee for doing work (and doing it very, very well I might add) that many people don't want to spend months and years doing themselves.

So, in the end, I'd simply ask that you target exactly you've been trying to say with all your commentary here and take it to the source. I'm not sure if you meant your comments to be adversarial, but that's how it seems to have come across and I am confident you could engage in a thorough and direct exploration with Cary himself and let Tom's blog return to its regularly scheduled programming. :)

Sorry this was so long-winded....

Tue Jul 29, 12:19:00 AM EDT  

Blogger Thomas Kyte said....

@Anonymous

fact 1) I sell a database
fact 2) The code is proprietary
fact 3) I tell people all of the time "a database is the right place to store, organize, manage and so on all of your data that you care about"


fact 1) Cary sells a product that can, among other things, help you read a trace file
fact 2) The code Cary sells is proprietary
fact 3) Cary (and many many many others, from many disciplines) writes "show your work" (note: does not say "tho must show thy work via my tool", no - just says "show your work"


Now, forget the messenger here. If you say "Cary's statement is wrong because Cary stated it", then my statements - everything I've ever written about databases would fall into the same category. In fact, you best never ask a reservation agent behind a counter for reservation help - they use proprietary software. In fact, you best never ask (almost anyone) about (almost anything) for the same reason.

Your logic is "not logic" here at all. You are attacking the messenger.

It makes you look not smart, attack the message if you like - prove the message wrong, show the message wrong, argue that the message is wrong (or correct, I care neither way), but seriously - attacking the messenger is one of the basic definitions of logical fallacy.


You cherry pick what you want to address here. I asked point blank above:

You make no sense at all - are you disagreeing with the original statement, pretend for a moment that the statement about showing your work was made by "an anonymous person".

Do you disagree with it?


So, do you

a) agree with message
b) disagree with message

and why? The messenger is not relevant to the truthfulness, applicability, whatever of the message.

Tue Jul 29, 08:52:00 AM EDT  

Blogger thirupahti Reddy said....

hi,

may i know the execution order of the following sql statement in the oracle 9i.

select---- from----where---
group by--- having----
order by-----

i mean the order of execution:
i.e., from, where, select, having...like that
i want to know he exact answer.

Wed Jul 30, 12:18:00 AM EDT  

Anonymous Tom Gaines said....

Tom -

Thanks so much for your appearance
today at the Oracle Tech Day in
downtown Denver. You're a fine
ambassador for all things Oracle, and
I admire the energy that you put
into your job.

I was tempted to bring one of my
Tom Kyte books for you to autograph,
but I decided that that might be a
bit much. I'm hardly a swooning
teenage girl!

When I got home this evening, I
was very glad to see my copy of
Christian's "Troubleshooting
Oracle Performance" at my door.
I've just put it down tonight
because it's time to sleep. I can
tell already that this book,
Jonathan's, and your books will be
the ones that return to time
and time and time again as I strive
to learn everything there is to
know about Oracle performance
evaluation and tuning.

Thanks for the recommendation!

Wed Jul 30, 12:42:00 AM EDT  

Blogger Thomas Kyte said....

@thirupahti Reddy

the only answer is "it depends"

we might use an index for example to skip the sort - accomplish the group by and then filter, or we might full scan, filter, group and sort simultaneously, filter again, or we might scan, filter, group, then sort, filter again

and so on.

SQL is not a procedural language - you would have to look at the execution plan for that statement to determine "what happens and when"

Wed Jul 30, 07:14:00 AM EDT  

Anonymous Anonymous said....

fact 1) I sell a database
--- Agreed
fact 2) The code is proprietary
--- Agreed
fact 3) I tell people all of the time "a database is the right place to store, organize, manage and so on all of your data that you care about"
--- Agreed


fact 1) Cary sells a product that can, among other things, help you read a trace file
--- Agreed
fact 2) The code Cary sells is proprietary
--- Agreed
fact 3) Cary (and many many many others, from many disciplines) writes "show your work" (note: does not say "tho must show thy work via my tool", no - just says "show your work")
--- Agreed


Now, forget the messenger here.
--- Ok, done that.
If you say "Cary's statement is wrong because Cary stated it", then my statements - everything I've ever written about databases would fall into the same category. In fact, you best never ask a reservation agent behind a counter for reservation help - they use proprietary software. In fact, you best never ask (almost anyone) about (almost anything) for the same reason.
--- I have never suggested that Millsap has ever said anything wrong, simply because HE said it.
Your logic is "not logic" here at all. You are attacking the messenger.
-- Does not compute! YOU brought the messenger thing into play, not me.

It makes you look not smart,
--- Au contraire.
attack the message if you like
--- I did.
prove the message wrong, show the message wrong, argue that the message is wrong (or correct, I care neither way), but seriously - attacking the messenger is one of the basic definitions of logical fallacy.
--- Agreed. But, er, I DIDN'T ATTACK THE MESSENGER! You're making this up as you go along.


You cherry pick what you want to address here
--- Pot, kettle, etc.
I asked point blank above:

You make no sense at all
--- That could have been me talking!
are you disagreeing with the original statement,pretend for a moment that the statement about showing your work was made by "an anonymous person".
--- OK, I am doing that...

Do you disagree with it?
--- Don't know. If the anonymous person is slating another for lack of perspicacity, yet is not being 100% open themself, then yes, I'd disagree.

So, do you

a) agree with message
--- See above.
b) disagree with message
--- See above.

and why? The messenger is not relevant to the truthfulness, applicability, whatever of the message.
--- There you go again: making it up to suit yourself. Sigh! Have you thought about writing fiction? You seem very good at it.

Sat Aug 02, 02:09:00 PM EDT  

Blogger Thomas Kyte said....

@anonymous

I'll keep it really really simple this time:

do you

a) agree with the message
b) disagree

cut the fog

I for one cannot tell whether you agree that if you should basically "show your work"

that is all it boils down to.

Use as many 50 cent words as you like (just make sure they are relevant I guess, that is a humble request we could make of you here...)

But basically:

yes, I agree
no, I disagree

is all that would be needed. Then we can debate the merits of the message - instead of your dislike of an individual. You only need to look at your opening statements - YOU started with the messenger, we did not bring it into play.

Maybe you should just re-read your first three or four followups here - in isolation.

So, his profiler is free, then is it? Thought not. (bad punctuation aside, it seems you were trying to say "since he sells something, his message is not worthy of consideration", classic ad hominem attack on a message)

Millsap's statement implies a lack of accountability in A. N. Other's work. Yet, and this is what I am getting at, he sells a tool (the Profiler) which is mentioned several times in his book. ... OK. So we have Millsap saying, "Person X is unaccountable, because he/she doesn't explain how they reach their conclusions; but me, Cary, I am soooo accountable - apart from letting you understand how my Profiler works! Just copy what I just said, attacking the person, not the message.


My point is that to rubbish another for not "showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to" when Millsap's living depends (in no small part) on trade secret Oracle-related stuff (i.e. his Profiler and the man years of work he and others have put into correlating trace file data and suggested fixes) is just wrong, wrong, wrong. It's a big, fat pompous example of the pot calling the kettle.

your first three messages, all attacking the messenger, not the message.

cut the fog, just give us a clue - do you agree or disagree with the premise of the message.

Sat Aug 02, 02:30:00 PM EDT  

Anonymous Anonymous said....

I for one cannot tell whether you agree that if you should basically "show your work"

that is all it boils down to.

--- I think one has the right to hold back all, or show all, or show a little... unless one is demanding of another that they show all, when not showing all oneself. To do so is hypocritical.


Use as many 50 cent words as you like (just make sure they are relevant I guess, that is a humble request we could make of you here...)
--- I am unfamiliar with the phrase "50 cent words" and a quick scouting on the Web revealed a rap artist, so you've lost me there.

But basically:

yes, I agree
no, I disagree

is all that would be needed. Then we can debate the merits of the message - instead of your dislike of an individual.
--- I neither like nor dislike Millsap - but I disagree with what he said because it's hypocritical.

You only need to look at your opening statements - YOU started with the messenger, we did not bring it into play.
--- No! I challeged his hypocrisy.
Maybe you should just re-read your first three or four followups here - in isolation.

So, his profiler is free, then is it? Thought not. (bad punctuation aside, it seems you were trying to say "since he sells something, his message is not worthy of consideration", classic ad hominem attack on a message)
--- Your sites are littered with both your spelling and punctuation errors - but does it matter? It's a blog, not a proofread book. I meant "since he sells something with secret stuff in it, his message is hypocritical, because he demands total transparency in another, but isn't totally transparent himself."

Millsap's statement implies a lack of accountability in A. N. Other's work. Yet, and this is what I am getting at, he sells a tool (the Profiler) which is mentioned several times in his book. ... OK. So we have Millsap saying, "Person X is unaccountable, because he/she doesn't explain how they reach their conclusions; but me, Cary, I am soooo accountable - apart from letting you understand how my Profiler works! Just copy what I just said, attacking the person, not the message.
--- No. I am attacking his hypocrisy.


My point is that to rubbish another for not "showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to" when Millsap's living depends (in no small part) on trade secret Oracle-related stuff (i.e. his Profiler and the man years of work he and others have put into correlating trace file data and suggested fixes) is just wrong, wrong, wrong. It's a big, fat pompous example of the pot calling the kettle.

your first three messages, all attacking the messenger, not the message.
--- No. I am attacking his hypocrisy.

cut the fog, just give us a clue - do you agree or disagree with the premise of the message.
--- I think it's fine to be totally transparent; a bit transparent; totally opaque, or anything one wants to be... UNLESS one demands of another that they be totally transparent, when not being so oneself. No fog. Not even a wisp of light mist.

Sun Aug 03, 09:55:00 AM EDT  

Blogger Thomas Kyte said....

when not showing all oneself. To do so is hypocritical.

whenever explaining something, I've never seen Cary *not* show all himself. He's written it down, he teaches it, he writes articles that include it. Nothing is proprietary there. Everything is "full disclosure". So what if he uses his software to reformat and interpret information you have access to. He is NOT making up numbers, he does not fabricate statspack reports, tkprofs, etc - he shows you "this was our input, this is our output, this is what we can deduce from this". Painstakingly, over and over.

So, you are mistaken grievously if you say "he doesn't show his work".

I am unfamiliar with the phrase "50 cent words"

You must be not so good at the google then.

http://www.google.com/search?q="50+cent+words"

my first hit back on that was:
http://www.proteacher.net/discussions/showthread.php?t=39986
where they summed it up rather nicely:

It is a book that takes big, complicated words and turns them into a funny story that illustrates the meaning.

but I disagree with what he said because it's hypocritical.


so, if a serial killer says "you probably should not kill people", you would - well, ummm, ouch.

Now you have shown your true colors.


Firstly - he does show his work.

Secondly - to disagree with a message for that reason is "not smart" as they say.

You disagree with the messenger is what it comes back to. Not the message, but the messenger.

I meant "since he sells something with secret stuff in it, his message is hypocritical, because he demands total transparency in another, but isn't totally transparent himself."

you lost me again here - according to you - I cannot talk about the database. In fact, most people, according to you, cannot talk about anything.

Anyway, you've made your point and clarified your "position" with this one statement:

but I disagree with what he said because it's hypocritical.

That is all we need to see - you disagree with the messenger, plain and simple.

Not the message.

Sun Aug 03, 10:36:00 AM EDT  

Anonymous Anonymous said....

when not showing all oneself. To do so is hypocritical.

whenever explaining something, I've never seen Cary *not* show all himself. He's written it down, he teaches it, he writes articles that include it. Nothing is proprietary there. Everything is "full disclosure". So what if he uses his software to reformat and interpret information you have access to. He is NOT making up numbers, he does not fabricate statspack reports, tkprofs, etc - he shows you "this was our input, this is our output, this is what we can deduce from this". Painstakingly, over and over.

So, you are mistaken grievously if you say "he doesn't show his work".
--- That he is 100% transparent in some cases doe not make him 100% transparent always - like the Profiler.

I am unfamiliar with the phrase "50 cent words"

You must be not so good at the google then.

http://www.google.com/search?q="50+cent+words"

my first hit back on that was:
http://www.proteacher.net/discussions/showthread.php?t=39986
where they summed it up rather nicely:

--- My first hit wasn't - nor the top 10. You are using the "The traffic lights were all green for me today; they will be the same for you" approach you have ridiculed several times on Ask Tom.
It is a book that takes big, complicated words and turns them into a funny story that illustrates the meaning.

but I disagree with what he said because it's hypocritical.


so, if a serial killer says "you probably should not kill people", you would - well, ummm, ouch.
--- Lost me there. Very creepy, too.

Now you have shown your true colors.
--- Yes. I'm someone who is happily unconstrained by the Old Pals Act.


Firstly - he does show his work.

Secondly - to disagree with a message for that reason is "not smart" as they say.
--- No he does not show all of his work - does he publish how the Profiler works? No, he does not. My argument is just that.

You disagree with the messenger is what it comes back to. Not the message, but the messenger.

I meant "since he sells something with secret stuff in it, his message is hypocritical, because he demands total transparency in another, but isn't totally transparent himself."

you lost me again here - according to you - I cannot talk about the database. In fact, most people, according to you, cannot talk about anything.
--- You can, of course, talk about the database, because (I believe) you don't hold anything back yourself. Oracle does hold back (its code), but then Oracle doesn't demand that it's peers be 100% transparent, so no hypocrisy. Millsap berated a peer for lack of transparency - but his trade depends on keeping something secret!

Anyway, you've made your point and clarified your "position" with this one statement:

but I disagree with what he said because it's hypocritical.

That is all we need to see - you disagree with the messenger, plain and simple.
--- It isn't ad hominem (the Oak Table members' favourite and ALWAYS incorrectly used phrase) or "shoot the messenger" or any other spin/twist/skew term you care to use for me or anyone else to lampoon hypocrisy.

Sun Aug 03, 12:20:00 PM EDT  

Blogger Thomas Kyte said....

@anonymous

Cary has been showing his work for years and years, many years.

Many years before the his reporting tool existed.

And your obsession with the fact that he wrote a bit of software and uses it to reformat, report on and display information you have access to - to make it more understandable - I'm not getting it.


There is nothing proprietary there - he has a reporting tool - he uses it SOMETIMES - but not always (I've seen him use vmstat for example, or truss, or strace, or tkprof, or statspack, etc)



I sell something with secret stuff in it. Am I hypocritical for making statements about it therefore?


You state "the message is wrong because the messenger is a hypocryte"

You attack the messenger (he is a hypocryte, therefore what he says is false)

that is the VERY definition of an ad-hominem attack:

http://en.wikipedia.org/wiki/Ad_hominem


You write:

but I disagree with what he said because it's hypocritical.

you do not disagree with what he said for any reason other then you believe him to be a hypocrite. You make no claims about the message - only that "he is a hypocrite, therefore his message is not to be considered".


As we quote from the Wiki page:

An ad hominem argument, also known as argumentum ad hominem (Latin: "argument to the man", "argument against the man") consists of replying to an argument or factual claim by attacking or appealing to a characteristic or belief of the person making the argument or claim, rather than by addressing the substance of the argument or producing evidence against the claim. The process of proving or disproving the claim is thereby subverted, and the argumentum ad hominem works to change the subject.


you have not addressed the substance of the argument or produced any evidence against the claim, the claim being "showing your work is important"

You state "he is a hypocrite - therefore I disagree with what he said"


(if you didn't get the serial killer analogy - hmmm,

a) serial killers kill

b) if one says "do not kill"

c) you would therefore disagree with their statement because they are a hypocrite

seems fairly straightforward)




Whether or not you consider him to be a hypocrite (to which I would disagree, not because of any old boys network, just because "it just ain't so") is not relevant to the veracity (that is a 50 cent word, like perspicacity) of the message.


You keep saying you only attacked the message - Yet, I have not seen that anywhere, the message is:

show your work

without mentioning the messenger, attack the message. Whether you consider Cary a hypocrite or not has no bearing on the veracity of the *message* "show your work".

Sun Aug 03, 12:47:00 PM EDT  

Anonymous Anonymous said....

Enough! I have had enough!

But, before I go:
1. Quoting Wiki is plain dumb. Though I concede that it was surprisingly accurate in its definition. Your use of it - owing the the Curse of the Oak Table - is wrong, though. Latin: always the last resort of the peeved.

2. >> (if you didn't get the serial killer analogy - hmmm,

a) serial killers kill

b) if one says "do not kill"

c) you would therefore disagree with their statement because they are a hypocrite

seems fairly straightforward)

Straightforward! STRAIGHTFORWARD!!! Try twisted and sick. Replace serial killer with "Ted Bundy" or "John Wayne Gacy" - still wish you'd typed it? Yuck! Really, that is incredibly weird and unsettling.

Sun Aug 03, 05:20:00 PM EDT  

Blogger Thomas Kyte said....

@Anonymous

1) oh, so now since you think something is stupid, it is. Interesting.

You state the Wiki was accurate.
You state using Wiki is plain dumb.

Interesting. I read the Wiki entry and said to myself "accurate, sums it up nicely, states exactly what I needed to use". So, why is it plain dumb?

When you perform an ad-hominen attack, you should have the perspicacity to see that someone just might point that out to you.


2) not sick, it definitely shows in a clear way how absurd a statement:


but I disagree with what he said because it's hypocritical.

Plain and simple. Basically, you are saying there

a) person A does X
b) person A says "do not do X"
c) therefore "do not do X" is a bad thing, a wrong thing, since they spoke hypocritically - what they say is something I disagree with.

That is not sensible.


I too have had enough, you call Cary a hypocrite, but offer up no evidence.

You say you didn't attack the messenger, you attacked the message - but you did attack the messenger (hypocrite remarks), without ever offering up an example "hey, read this article, where is HE showing his work??". You never attacked the message in any meaningful way, only by attacking the messenger.

Mon Aug 04, 07:22:00 AM EDT  

Anonymous Anonymous said....

This is totally out of context.
But Tom, have you heard of Dr. Randy Pausch and his "Last Lecture"? If not, pls watch his video on you tube. I am sure you will like it

http://www.youtube.com/watch?v=ji5_MqicxSo

##WIKIPEDIA##
Randolph Frederick Pausch[1] (October 23, 1960 – July 25, 2008) was an American professor of computer science, human-computer interaction and design at Carnegie Mellon University (CMU) in Pittsburgh, Pennsylvania, and a best-selling author who achieved worldwide fame for his "The Last Lecture" speech on September 18, 2007 at Carnegie Mellon. The lecture was conceived after, in summer 2007, Pausch had learned that his previously known pancreatic cancer was terminal.
He was a professor of Computer Science, Human Computer Interaction, and Design at Carnegie Mellon University. From 1988 to 1997, he taught at the University of Virginia. He was an award-winning teacher and researcher, and had worked with Adobe, Google, Electronic Arts (EA), and Walt Disney Imagineering, and pioneered the non-profit Alice project. (Alice is an innovative 3-D environment that teaches programming to young people via storytelling and interactive game-playing.) He also co-founded The Entertainment Technology Center at Carnegie Mellon with Don Marinelli. (ETC is the premier professional graduate program for interactive entertainment as it is applies across a variety of fields.)
##WIKIPEDIA##

Mon Aug 04, 10:42:00 AM EDT  

Blogger Howard Rogers said....

Fuel to the fire, perhaps. But it's not 'ad hominem' if the argument is about 'the man' himself in the first place.

I believe your anonymous correspondent is saying, 'For Cary to say 'show your work' and then not to do so (because his profiler doesn't 'show its work') is hypocritical'.

Now, you may or may not agree with that, but it's not ad hominem, since the [apparent or perceived] discrepancy in the person's behaviour is at the root of the point being made.

Ad hominem is when you're arguing about some technical issue and, instead of tackling the technical matters, your correspondent merely replies, 'but your stupid anyway, so what does it matter what you think'. Quite different, I think.

The point you are trying to make in reply (I think) is simply that 'even though Cary has a tool which doesn't 'show your work', the exhortation to do so is a good one to follow whenever possible'.

I suspect that your anonymous correspondent wouldn't disagree with that proposition, if phrased in those terms.

Unfortunately, because the whole thing has descended to claims and counter-claims of ad hominem, your two respective points are getting lost in the mire, and not being debated properly.

Personally, I think 'show your work' doesn't meaningfully apply to closed-source products which one buys, and that it's legitimate to argue 'show your work' for forums, books, articles and so on and still have a proprietary piece of code which doesn't do so.

I also think it legitimate to say, 'Cary's exhortations don't accord with his actual behaviour', though people are then free to disagree about whether that's actually true or not.

If one takes into account the context in which Cary's exhortations were intended to apply, I think the charge of hypocrisy disappears. But someone else can legitimately think otherwise and not be indulging in mere ad hominem.

Tue Aug 05, 07:45:00 PM EDT  

Anonymous Mork said....

"I mean show your work, which means documenting a relevant baseline measurement, conducting a controlled experiment, documenting a second relevant measurement, and then showing your results openly and transparently so that your reader can follow along and even reproduce your test if he wants to".

Extremely clear. I do not begin to understand why Cary might be hypocritical with this statement. Measure -> result -> measure -> result, reproduce if desired. Simple. Hypocritical? Not.

Maybe someone has not taken the time to listen to Cary, nor use his latest Profiler product, nor take his classes, nor correspond with him and ask questions after due diligence. For me, what Cary stated is exactly what he delivers.

Thu Aug 07, 11:36:00 PM EDT  

Anonymous Anonymous said....

@Karen
Not to be picky with your choice of words, but I'd like to refer you to the first definition for the word methodology found at http://www.merriam-webster.com/dictionary/methodology:
"a particular procedure or set of procedures"

Sun Aug 10, 01:23:00 AM EDT  

Blogger Howard Rogers said....

@Mork: I've not even used Cary's profiler (and I suspect Mr. Anonymous hasn't either). So I don't know how it runs and what it looks like when it does so. But I would imagine it running rather like OraPerf: you run it, feeding it some data, it analyses "stuff", it spits out results and recommendations.

The charge of hypocrisy (which I don't support, by the way; I just understand why it was made) would arise from the fact that this mode of operation does not "show its work". You run it, results come back. In between, where all Cary's skill and magic applies, is a black box, the operations of which we are not allowed to see (presumably because it's proprietary and his livelihood, which is fine by me).

Maybe that's not how his profiler works at all. Maybe his profiler explains what it's doing every step of the way so that "the reader can follow along". If so, end of argument.

But if it is a little bit like magic, then the charge can be made.

I would defend it, again, by saying simply that Cary's comments refer to "readers", "blogs", "forums". He's not talking about 'proprietary software needs to be transparent so that no intellectual property is hidden, ever, and so that anyone can copy it at any time'.

Since these are two quite different worlds (books, forums, blogs versus proprietary software), I think one can't accuse him of hypocrisy just because he's advocated openness in one and practiced 'closed source' in another.

The charge of hypocrisy can only legitimately be made against those who say one thing should apply in Area X and then do another, also in Area X.

Anyway, it's probably all moot, since Mr. Anonymous has long since moved on. I'm just saying: I can sort-of understand why someone would think that, and I think arguing the case on its merits, instead of accusations of ad hominem would have been a better way to deal with it.

Mon Aug 11, 07:22:00 PM EDT  

Anonymous Anonymous said....

8.12.08; asktom.oracle.com = Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Tue Aug 12, 05:01:00 PM EDT  

Anonymous Anonymous said....

>>
Interesting. I read the Wiki entry and said to myself "accurate, sums it up nicely, states exactly what I needed to use". So, why is it plain dumb?
<<

Because any old loon could edit the entry this very second. That's why Wiki is unreliable. I would suggest spending a few dollars on a subscription to the OED and Britannica. They each pay folk to be accurate and that way you don't end up reading some rubbish made up on the spot by a prankster teenager with a solvent abuse problem! Imagine if the Oracle docs. were editable in that way!!!

And as HJR so rightly points out (as, er, I did several billion years ago, it seems), your use of "ad hominem" was wrong, anyway.

@HJR: I do see your POV, but I still stand by mine.

Wed Aug 27, 07:59:00 AM EDT  

Anonymous Exan said....

I changed the subject a little Tom ... but could you tell us what do you think about Mr Antognini's book if you have any opinion about it.

Mon Sep 01, 05:52:00 AM EDT  

Anonymous Anonymous said....

Hi, Tom, just a quick question?
are you writing a new book,
like Expert Oracle, Signature Edition Programming Techniques and Solutions. for the new oracle versions 9i,10g ?????

Luis

Mon Sep 08, 11:09:00 PM EDT  

Anonymous Anonymous said....

Oracle TranslationHub:
When I translate a string it doesn't appear into my Previewer.
but when I double-click a base string I can see the translated string. But it does not appear on the Form of my Previewer feature.

Any Help?
Thanks,
Gaspal

Wed Dec 10, 02:56:00 PM EST  

Blogger Thomas Kyte said....

@Gaspal

http://otn.oracle.com/ -> discussion forums...

Wed Dec 10, 02:57:00 PM EST  

POST A COMMENT

<< Home