// Create god and persons
CREATE2 *god.cls = thing;
CREATE2 *person.cls = thing;
CREATE2 *adam.cls = person;
CREATE2 *eve.cls = person;
CREATE2 *john.cls = person;
CREATE2 *mary.cls = person;
// Create god's children hierarchy
CREATE2 god.child = adam;
CREATE2 god.child = eve;
CREATE2 adam.child = john;
CREATE2 adam.child = mary;
CREATE2 eve.child = john;
CREATE2 eve.child = mary;
// Create universe and planets
CREATE2 *universe.cls = thing;
CREATE2 *planet.cls = thing;
CREATE2 *mars.cls = planet;
CREATE2 *venus.cls = planet;
// Create universe's part hierarchy
CREATE2 universe.part = mars;
CREATE2 universe.part = venus;
CREATE2 mars.part = john;
CREATE2 venus.part = mary;
// Traverse god's children recursively
SELECTR god.child;
// Traverse god's distinct children recursively
SELECTRD god.child;
// Traverse universe's parts recursively
SELECTR universe.part;
// Find persons whose parent is adam and is part of mars.
// Finds john
SELECT2 %.cls=person & %.parent=adam & mars.part=%;
// Find persons whose parent is eve and is part of a planet.
// Finds john and mary
SELECT2 %.cls=person & %.parent=eve & (planet.inst=%).part=%;
SELECT2 %.cls=person & %.parent=eve & (%.cls=planet).part=%;
SELECT2 %.cls=person & %.parent=eve & %.asm=(%.cls=planet);
// Find john and mary with various queries
SELECT2 %.cls=person & eve.child=%;
SELECT2 eve.child=% & %.cls=person;
SELECT2 %.cls=person & %.parent=eve;
SELECT2 %.parent=eve;
SELECT2 eve.child=%;
// Find persons whose parent's parent is god
// and the person is part of any planet
SELECT2 %.cls=person & %.parent=(%.parent=god) &
(%.cls=planet).part=%;
Note: cls/inst are abbreviations for class/instance.
asm/part are abbreviations for assembly/part.
>Below XDb2 script creates/queries things that represent john and mary
>in two hierarchies. In the first hierarchy, john and mary have parents
>adam and eve and their parent is god. In the second hierarchy, john
>and mary are part of mars and venus respectively, which are part of
>the universe.
(snip)
Hi Neo,
The children of Adam and Eve were not called John and Mary, but Cain and
Abel. Obviously, your knowledge of theological literature is only
marginally better than your knowledge about relational theory.
WARNING to anybody reading this: before deciding to do business with this
person who hides behind the nickname Neo, be warned that he is a cheater
who doesn't keep his promises. http://tinyurl.com/yvm5g
Best, Hugo
--
(Remove _NO_ and _SPAM_ to get my e-mail address)
I do not assert who are the children of adam and eve. They are
arbitrary things in the example. Feel free to substitute those things
that don't irritate you.
> Obviously, your knowledge of theological literature is only
> marginally better than your knowledge about relational theory.
I do not assert to be an expert in your theology or relational theory.
I DO assert your RM Sol#1 and #2 failed the challenge because they
were not able to represent things in hierarchies without NULLs or
redundancy and were slower at generating the desired report. Because
your solutions were not generic, they could not represent the
following data without NULLs or redundancy:
Case1: God is the parent of an unnamed person. God is also the parent
of second person with three names (string 'john', integer 100, decimal
3.14).
Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.
Besides being non-generic and requiring NULLs, your solutions were
slower. As shown by the measurements made below, even when executed on
a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as your non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.
Small Report Generation Summary (provided by Hugo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
-------------- -------- ----------------- --------------------------
RM#1 SqlSrvr2K 14.3 1.3 Ghz PC Unnormalized, non-generic
RM#2 SqlSrvr2K 11.0 1.3 Ghz PC Unnormalized, non-generic
Small Report Generation Summary (provided by Neo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#1 SqlSrvr7 65.0 500 Mhz Server Unnormalized, non-generic
RM#2 SqlSrvr7 68.9 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 1.632 500 Mhz Server Normalized, generic
XDb1 4.5.9 6.561 233 MHz PocketPC Normalized, generic
Large Report (28,940 rows) Generation Summary (provided by Neo)
200 Goat Hierarchy (5 generations x 40 goats/generation,
each goat having two parents, except 1st gen).
---------------------------------------------------------------------
Solution Time(sec) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 40.5 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 2.9 500 Mhz Server Normalized, generic
XDb1 4.5.9 16.971 233 Mhz PocketPC Normalized, generic
Larger Report (276,620 rows) Generation Summary (provided by Neo).
400 Goat Hierarchy (10 gen x 40 goats/gen),
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 105 min 500 Mhz Srvr, NT Avg of 2 runs, UnNrm,UnGen
XDb1 4.5.10 44 min 500 Mhz Srvr, NT Avg of 2 runs, Norm, gener
XDb1 4.5.10 57 min 450 Mhz PC, 98 1 run, Normalized, generic
XDb1 4.5.10 195 min 233 Mhz PocketPC 1 run, Normalized, generic
> Neo ... is a cheater
Please show that Neo is a cheater, by meeting the challenge and
posting a faster RM Solution that is generic enough to handle the
above two cases, is NULL-less and doesn't require redundant data.
Based on Neo's track record of not paying when Neo loses, why would anyone
waste their time trying to meet Neo's challenge? Neo is not a cheater, he is
a deadbeat. And proven wrong. And stubborn. And not getting any more replies
from me on this. Have a nice life.
[snip]
>Based on Neo's track record of not paying when Neo loses, why would anyone
>waste their time trying to meet Neo's challenge? Neo is not a cheater, he is
^
Insert "just". Neo did change the rules after the fact. That
makes him a cheater.
>a deadbeat. And proven wrong. And stubborn. And not getting any more replies
>from me on this. Have a nice life.
We could add fraud to that, too. It was so pleasant while he was
gone.
Sincerely,
Gene Wirchenko
Computerese Irregular Verb Conjugation:
I have preferences.
You have biases.
He/She has prejudices.
(snip)
>I DO assert your RM Sol#1 and #2 failed the challenge because they
(snip)
>Please show that Neo is a cheater, by meeting the challenge and
(snip)
Yadda yadda yadda. We've been over this countless times; I have no urge at
all to repeat that again.
In case anyone is still interested in this debate, they can follow the
link I provided, have a cup of coffee and read all the 275 messages we
(and several others) exchanged on this subject. Then, everyone can decide
for him- or herself what's true: my statement that I met the challenge and
you attempted to change the rules afterwards, or your statement that I
failed to meet the challenge.
And, for the record, I don't think anyone on the list thought Neo was in the
right in refusing to pay Hugo the dollars after Hugo clearly met the
challenge. I'm surprised he is willing to post in this forum again since
most of us are no longer willing to listen after that episode. --dawn
Please show Neo loses by using Hugo's solutions to represent the
following without NULLs or redundant data.
Case1: God is the parent of an unnamed person. God is also the parent
of second person with three names (string 'john', integer 100, decimal
3.14).
Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.
Please show Neo loses by using Hugo's RM Sol#1 or #2 to generate the
Small Report in not more than twice the time it takes XDb1 on the same
system. As shown by the measurements made below, even when executed on
a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as Hugo's non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.
Please run XDb1 and Hugo's RM#2 solution on your system and post the
measurements showing that Neo loses.
Please show Neo is a fraud by using Hugo's solutions to represent the
following without NULLs or redundant data.
Case1: God is the parent of an unnamed person. God is also the parent
of second person with three names (string 'john', integer 100, decimal
3.14).
Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.
Please show Neo is a fraud by using Hugo's RM Sol#1 or #2 to generate
the Small Report in not more than twice the time it takes XDb1 on the
same system. As shown by the measurements made below, even when
executed on a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated the
small common ancestor report nearly twice as fast as Hugo's
non-normalized, non-generic SQL Server 2000 Solution running on a
1,300 MHz desktop. Please run XDb1 and Hugo's RM#2 solution on your
system and post the measurements exposing Neo as a fraud.
But then why do you insist on bring it up repeatedly?
Please show Hugo's solutions met the challenge by representing the
following without NULLs or redundant data.
Case1: God is the parent of an unnamed person. God is also the parent
of second person with three names (string 'john', integer 100, decimal
3.14).
Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.
Please show Hugo's solutions met the challenge by using his solution
to generate the Small Report in not more than twice the time it takes
XDb1 on the same system. As shown by the measurements made below, even
when executed on a 5.6 times slower 233 Mhz Pocket PC, XDb1 generated
the small common ancestor report nearly twice as fast as Hugo's
non-normalized, non-generic SQL Server 2000 Solution running on a
1,300 MHz desktop. Please run XDb1 and Hugo's RM#2 solution on the
same system and post the measurements showing Hugo clearly met the
challenge.
Small Report Generation Summary (provided by Hugo)
>> ...fraud...
>
>Please show Neo is a fraud by using Hugo's solutions to represent the
>following without NULLs or redundant data.
I believe that has already been shown.
[snip]
How about you with your senseless "Please show..."?
It was peaceful until you came back.
The rock you crawled out from under misses you. Go back.
Hi Neo,
I did't bring it up - the discussion whether you will pay me or not is
closed as far as I'm concerned. It's clear to me that you will never live
up to your promise and pay your debt, so I'm not prepared to waste any
more energy on trying to get my money.
The only reason I post is to inform others. You are posting here in the
hope of attracting customers. I try to ensure that those who contemplate
doing business with you have a chance to know as much about your business
ethics as I do.
If so, then I believe that you don't know what is a NULL or redundant
data or the why 6.5 ms report execution is faster than 11 ms (even
though XDb1 was running on a 5.6X slower machine).
You're entitled to your own opinion, Neo, but you're not entitled to your
own facts.
Your RM Sol#1 and #2 failed the challenge because they were not able
to represent things in hierarchies without NULLs or redundancy and
were slower at generating the desired report. XDb1 is normalized down
to atomic symbols. Because your solutions were not generic, they could
>> > > I have no urge at all to repeat that again.
>> >
>> > But then why do you insist on bring it up repeatedly?
>>
>> I did't bring it up - the discussion whether you will pay me or not is
>> closed as far as I'm concerned.
>
>Your RM Sol#1 and #2 failed the challenge because
(snip)
Hi Neo,
Exactly what part of "The discussion whether you will pay me or not is
closed as far as I'm concerned" do you fail to understand, Neo?
[snip blather]
Neo, why don't you pay Hugo what you owe him?
Lemming
--
Curiosity *may* have killed Schrodinger's cat.
>On 5 Nov 2004 11:43:51 -0800, neo5...@hotmail.com (Neo) wrote:
>
>[snip blather]
>
>Neo, why don't you pay Hugo what you owe him?
Please show Neo how...AAAAAAHHHH! GET IT OFF, GET IT OFF! I've
got the infection! Help! Help! I can feel my mind going, going,
what is this extra thousand in my bank account?, going...
> Lemming <thiswil...@bumblbee.demon.co.uk> wrote:
>
>
>>On 5 Nov 2004 11:43:51 -0800, neo5...@hotmail.com (Neo) wrote:
>>
>>[snip blather]
>>
>>Neo, why don't you pay Hugo what you owe him?
>
>
> Please show Neo how...AAAAAAHHHH! GET IT OFF, GET IT OFF! I've
> got the infection! Help! Help! I can feel my mind going, going,
> what is this extra thousand in my bank account?, going...
>
Good one Gene,
I wonder, would it help to stem the tide if the
more experienced practitioners here would just posit
a real-world problem to be solved (rather than cats and dogs,
parent-child, etc.) Given an interesting enough problem,
that may take quite a while to address, if it can be addressed
at all with Neo's stuff.
OLTP with 1000 TPS requirement?
DataWarehousing with lots of summary reports,
each different... maybe 80 per day,
NPL
--
"It is impossible to make anything foolproof
because fools are so ingenious"
- A. Bloch
> I wonder, would it help to stem the tide if the
> more experienced practitioners here would just posit
> a real-world problem to be solved (rather than cats and dogs,
> parent-child, etc.) Given an interesting enough problem,
> that may take quite a while to address, if it can be addressed
> at all with Neo's stuff.
>
> OLTP with 1000 TPS requirement?
> DataWarehousing with lots of summary reports,
> each different... maybe 80 per day,
My suggestion:
An airline reservation system covering about 45 airlines, about 100,000
flights per day, about 10,000,000 passengers,
credit cards, airplanes, seating capacity in several classes, and about
10,000 fare changes a day. 200 simultaneous users on the web.
[snip]
>Good one Gene,
Thank you. Neo is just so, so inspiring.
>I wonder, would it help to stem the tide if the
>more experienced practitioners here would just posit
>a real-world problem to be solved (rather than cats and dogs,
>parent-child, etc.) Given an interesting enough problem,
>that may take quite a while to address, if it can be addressed
>at all with Neo's stuff.
>
>OLTP with 1000 TPS requirement?
>DataWarehousing with lots of summary reports,
>each different... maybe 80 per day,
It does not matter. If he does do it, we simply change the
specs, like he did to Hugo.
Pretty real-world, I would say, Laconic2. Though it's
probably at 5-sigma from the size of system which people
normally consider.
I didn't think of something like this because my experiences
lie elsewhere (each of us has this set of blinders on),
but I have some details to add (just because there are always
details to add!) -
As a frequent traveller (or someone who used to be a frequent
traveller), some added side issues:
- "Preferred seating" for people enrolled in a particular
company's frequent flyer program.
- Code-shared flights. (CO 451 is the same as NW 1725)
(Third order effect - do you get preferred seating if
you book NW 1725 but are a CO frequent flyer?)
From the perspective of analysis and reports, tho,
let's add the requirements:
"The data shall also be available for analysis and trending.
This analysis and trending may include, but not be limited
to, reports by carrier, by endpoints, by day of week,
by month of year, by fare, by method of reservation
(e.g. travel agent vs. web), or any combination of the above.
Analysis and trending reports shall be run on a daily,
weekly, monthly, quarterly and annual basis. Data
retention shall be for a period of not less than 3 years."
"Execution of analysis and trending reports shall not
impact the response time of the on-line transactions."
Note: I put the quotes in the above, because they are
indicative of the (better) requirements I have seen for some
of the reporting-type systems I have worked on. Usually
they say: "Reports shall be made available. The reports
will be defined after the choice of vendor has been made."
NPL
P.S. - I think your estimate of only 200 simultaneous
web users may be low, but have no logical basis for that
opinion, just "gut feel."
PPS. - (To Gene Wirchenko) - Should I have waited to
post the above until we wanted to change the requirements
in mid-stream?
say 100 passengers/flight? ... then it is 10m PNR records ... so you
might say that there are 5m new PNR records created each day (covers
round-trip); 10m PNR records are updated as the flight is taken. The
5m new PNR records are typically created as some time in the future
before the flight is actually taken and will exist for 90 days after
the flight is teken and then 5m old PNR records are deleted each day
as they expire. Say an avg. PNR record is created ten days before the
flight, that gives PNR record something like 100 days ... or total PNR
databse of possibly approaching 500m records (multiply by 8 if you
want to keep for two years instead of 90-some days).
there are actually (at least) four different databases (for
res)
PNR database
flight segment/seat database
routes database (i once got to rewrite routes from scratch)
fares database
random past posts re: working on routes and/or amadeus
http://www.garlic.com/~lynn/96.html#29 Mainframes & Unix
http://www.garlic.com/~lynn/96.html#31 Mainframes & Unix
http://www.garlic.com/~lynn/99.html#136a checks (was S/390 on PowerPC?)
http://www.garlic.com/~lynn/99.html#153 Uptime (was Re: Q: S/390 on PowerPC?)
http://www.garlic.com/~lynn/2000.html#61 64 bit X86 ugliness (Re: Williamette trace cache (Re: First view of Willamette))
http://www.garlic.com/~lynn/2000f.html#20 Competitors to SABRE?
http://www.garlic.com/~lynn/2001d.html#69 Block oriented I/O over IP
http://www.garlic.com/~lynn/2001d.html#74 Pentium 4 Prefetch engine?
http://www.garlic.com/~lynn/2001g.html#49 Did AT&T offer Unix to Digital Equipment in the 70s?
http://www.garlic.com/~lynn/2001g.html#50 Did AT&T offer Unix to Digital Equipment in the 70s?
http://www.garlic.com/~lynn/2001h.html#76 Other oddball IBM System 360's ?
http://www.garlic.com/~lynn/2001k.html#26 microsoft going poof [was: HP Compaq merger, here we go again.]
http://www.garlic.com/~lynn/2002g.html#2 Computers in Science Fiction
http://www.garlic.com/~lynn/2002i.html#38 CDC6600 - just how powerful a machine was it?
http://www.garlic.com/~lynn/2002i.html#40 CDC6600 - just how powerful a machine was it?
http://www.garlic.com/~lynn/2002j.html#83 Summary: Robots of Doom
http://www.garlic.com/~lynn/2002l.html#39 Moore law
http://www.garlic.com/~lynn/2003b.html#12 InfiniBand Group Sharply, Evenly Divided
http://www.garlic.com/~lynn/2003c.html#52 diffence between itanium and alpha
http://www.garlic.com/~lynn/2003d.html#67 unix
http://www.garlic.com/~lynn/2003n.html#47 What makes a mainframe a mainframe?
http://www.garlic.com/~lynn/2003o.html#17 Rationale for Supercomputers
http://www.garlic.com/~lynn/2003o.html#38 When nerds were nerds
http://www.garlic.com/~lynn/2004b.html#6 Mainframe not a good architecture for interactive workloads
http://www.garlic.com/~lynn/2004b.html#7 Mainframe not a good architecture for interactive workloads
http://www.garlic.com/~lynn/2004m.html#27 Shipwrecks
--
Anne & Lynn Wheeler | http://www.garlic.com/~lynn/
Because Hugo's RM Solution #1 and #2 were nearly twice as slow as
XDb1's even when XDb1 was executed on a 5.6X slower hardware. See
measurements below. You are weclome to download XDb1 (see
www.xdb1/example/ex076.asp) and verify it against Hugo's solutions.
Not only were Hugo's solutions slower, but there were not as generic
or normalized. For instance, Hugo's solution cannot represent the
following cases without NULLs or redundant data (XDb1's solution is
normalized down to atomic symbols):
Case1: God is the parent of an unnamed person. God is also the parent
of second person with three names (string 'john', integer 100, decimal
3.14).
Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.
As shown by the measurements made below, even when executed on a 5.6
times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as Hugo's non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.
Small Report Generation Summary (provided by Hugo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
-------------- -------- ----------------- --------------------------
RM#1 SqlSrvr2K 14.3 1.3 Ghz PC Unnormalized, non-generic
RM#2 SqlSrvr2K 11.0 1.3 Ghz PC Unnormalized, non-generic
Small Report Generation Summary (provided by Neo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#1 SqlSrvr7 65.0 500 Mhz Server Unnormalized, non-generic
RM#2 SqlSrvr7 68.9 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 1.632 500 Mhz Server Normalized, generic
XDb1 4.5.9 6.561 233 MHz PocketPC Normalized, generic
Large Report (28,940 rows) Generation Summary (provided by Neo)
200 Goat Hierarchy (5 generations x 40 goats/generation,
each goat having two parents, except 1st gen).
---------------------------------------------------------------------
Solution Time(sec) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 40.5 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 2.9 500 Mhz Server Normalized, generic
XDb1 4.5.9 16.971 233 Mhz PocketPC Normalized, generic
Larger Report (276,620 rows) Generation Summary (provided by Neo).
400 Goat Hierarchy (10 gen x 40 goats/gen),
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
You are welcome to verify the facts. The fact is Hugo's RM Solution #1
and #2 are nearly twice as slow as XDb1's even when XDb1 is executed
on 5.6X slower hardware. See measurements below. You are weclome to
download XDb1 (see www.xdb1/example/ex076.asp) and verify measurements
against Hugo's solutions.
Not only were Hugo's solutions slower, but there were not as generic
or normalized. For instance, Hugo's solution cannot represent the
following cases without NULLs or redundant data (XDb1's solution is
normalized down to atomic symbols):
Case1: God is the parent of an unnamed person. God is also the parent
of second person with three names (string 'john', integer 100, decimal
3.14).
Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.
As shown by the measurements made below, even when executed on a 5.6
times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as Hugo's non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.
Small Report Generation Summary (provided by Hugo)
The part where your solutions were nearly twice as slow as XDb1's even
when XDb1 is executed on 5.6X slower hardware. See measurments below.
In addition to being slower, your solutions were not as generic or
normalized. For instance, your solutions cannot represent the
following cases without NULLs or redundant data (XDb1's solution is
normalized down to atomic symbols):
Case1: God is the parent of an unnamed person. God is also the parent
of second person with three names (string 'john', integer 100, decimal
3.14).
Case2: john isa person. john's color is brown. mary isa person. mary's
color is brown. brown is a person.
As shown by the measurements made below, even when executed on a 5.6
times slower 233 Mhz Pocket PC, XDb1 generated the small common
ancestor report nearly twice as fast as Hugo's non-normalized,
non-generic SQL Server 2000 Solution running on a 1,300 MHz desktop.
Small Report Generation Summary (provided by Hugo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
-------------- -------- ----------------- --------------------------
RM#1 SqlSrvr2K 14.3 1.3 Ghz PC Unnormalized, non-generic
RM#2 SqlSrvr2K 11.0 1.3 Ghz PC Unnormalized, non-generic
Small Report Generation Summary (provided by Neo)
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
RM#1 SqlSrvr7 65.0 500 Mhz Server Unnormalized, non-generic
RM#2 SqlSrvr7 68.9 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 1.632 500 Mhz Server Normalized, generic
XDb1 4.5.9 6.561 233 MHz PocketPC Normalized, generic
Large Report (28,940 rows) Generation Summary (provided by Neo)
200 Goat Hierarchy (5 generations x 40 goats/generation,
each goat having two parents, except 1st gen).
---------------------------------------------------------------------
Solution Time(sec) Platform Notes
------------- -------- ----------------- --------------------------
RM#5 SqlSrvr7 40.5 500 Mhz Server Unnormalized, non-generic
XDb1 4.5.7 2.9 500 Mhz Server Normalized, generic
XDb1 4.5.9 16.971 233 Mhz PocketPC Normalized, generic
Larger Report (276,620 rows) Generation Summary (provided by Neo).
400 Goat Hierarchy (10 gen x 40 goats/gen),
---------------------------------------------------------------------
Solution Time(ms) Platform Notes
------------- -------- ----------------- --------------------------
A limited methodology (ie RM) will be more efficient than a more
general methodology (ie Thing Model, the foundation for XDb1 & 2) when
both are applied to an application within the limited methodology's
scope. For years, RMers have propogated the falsity that RM is the
most general/generic methodology. I am here to prove them wrong with
examples outside RM's ideal scope.
RM is analogous to a set of fixed size wrenches.
TM is analogous to an adjustable wrench.
Each has it's advantages and disadvantages.
In my estimation, TM is geared towards AI-type applications. Are you
game?
there is also some practice of the same flight segment having multiple
different flight numbers. the first instance of this (that i know of)
was in the very early 70s ... the first twa flight out of sjc in the
morning ... flew both to seatac and kennedy. it turns out that the
people going to kennedy had a change of equipment at sfo (not a
connection).
this is an airline "gimick" ... traditionally the non-stops and
directs are listed before the flights with connections. if you had a
dual flight number ... with change of equipment ... tho flights would
show up in the first "direct" section ... not in the following
"connections" section.
>> Exactly what part of "The discussion whether you will pay me or not is
>> closed as far as I'm concerned" do you fail to understand, Neo?
>
>The part where your solutions were nearly twice as slow as XDb1's even
>when XDb1 is executed on 5.6X slower hardware. See measurments below.
Hi Neo,
Liar!
My final (second) submission took 11.0 ms on my computer; the version if
XDb1 that was current when you set the challenge took 16 ms on that same
computer for the same report. The challenge was to have the report
generation no more than 2x slower; my submission was actually quicker. See
message mts4b09m5olm07v0b...@4ax.com. Or, if your usenet
provider's retention is less than 5 months, check it out on google groups:
http://groups.google.nl/groups?q=g:thl2529170390d&dq=&hl=nl&lr=&selm=mts4b09m5olm07v0b9ppienrdk8au4md6c%404ax.com&rnum=101
Yes - I am aware that you went on to make new versions of XDb1, improving
the speed of report generation. Good for you - but not relevant for the
challenge. Microsoft is also busy building a newer version of SQL Server
that will probably be quicker. Information on MS' website shows that the
next version of SQL Server will actually support recursive queries (see
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql90/html/sql_ovyukondev.asp,
under the heading "Language Enhancements"). It'll be interesting to see
how this will improve querying hierarchies in SQL Server - but again
irrelevant to the challenge, as SQL Server 2005 was not yet available when
you set the challenge.
>In addition to being slower, your solutions were not as generic or
>normalized.
My solution was as generic as your original challenge required. It failed
the requirements you added later - maybe this is a good moment to remind
you of the spectacular bugs I found in XDb1 when I tried the addition
requirements in your program?
My solution was normalized according to the relation model's normalisation
rules. That was what you requested ("using the relational model" ... "from
normalized and NULL-less data").
To reiterate - I am no longer attempting to get my prize; I will not go in
an extended exchange over this again. I can only hope that your pathetic
display of unfairness and total lack of sportsmanship will serve as an
ample warning for any prospective customers.
And I WILL rebutt you if you start to tell plain out lies, like in the
above quote about my solution being slower than yours - it is not and it
has never been slower.
Absolutely *NOT*, since I know next to nothing about AI-type
problems and I'm wise enough not to venture into any field
in which I know next to nothing!
I also no longer operate in the database world
day-to-day, but have since moved on to other things, addressing
other kinds of real-world problems for my clients. Some of
these assignments address database problems, some address
other problems (performance, reliability, maintainability, etc.),
but I get paid for solving problems which
either are costing my client too many dollars, or aren't
saving my client enough dollars. Thus, I do not
want to comment on the theoretical nature
of your work, but only on the practical application
of it.
You are correct in saying that fixed size wrenches and
adjustable wrenches each have their advantages and
disadvantages. The average homeowner, who only does
maintenance on weekends in his/her spare time, cannot
afford to invest in a complete mechanic's tool set
with dozens of fixed-size wrenches, and will thus opt
for a a few adjustable wrenches. The expert mechanic,
(working on Kenworth, Peterbilt and GMC trucks for a living)
cannot afford *not* to invest in a complete mechanic's
tool kit. So, are you saying that TM is for the
tinkerer and dilletante rather than the expert?
>> You're entitled to your own opinion, Neo,
>> but you're not entitled to your own facts.
>
>You are welcome to verify the facts. The fact is [snip]
The fact is that you issued a challenge, and promised to pay a
substantial sum to anyone who could meet it. Hugo met the challenge,
and then you changed the rules. Hugo again met the new challenge, so
you changed the rules again. You are in default, you know you are in
default, and this makes you a fraud. Please pay Hugo and perhaps
people will stop calling you a fraud.
[snip]
>PPS. - (To Gene Wirchenko) - Should I have waited to
>post the above until we wanted to change the requirements
>in mid-stream?
There is no need to be considerate. If it suits your priorities,
lack of organisation, idea of the phase of the moon, or any other
random factor, then, by all means, change the requirements.
Remember: IT is a dynamic environment. Do your part by changing
specs often.
Not exactly. I am saying that while RM is currently the most
useful/practical data model, it is limited. TM is a more general data
model and therefore is not as efficient within RM's scope. While
computers are still in their infancy, evolution/nature has already
gravitated toward a data model more like TM than RM. Today's computers
currently lack the enormous parallel processing power of a brain to
implement a very generic data model. Currently, TM is for the tinkerer
and dilletante for problems outside RM's scope, just as the Wright
Brothers tinkered with flight at a point in time when trains and ships
were the practical experts in transportation. Please try not to
misconstrue this analogy also :)
Your solutions are slower, not as generic and incapable of
representing below cases without NULL and redundancy while XDb1 is
normalized to atomic symbols. To verify, download
www.xdb1.com/example/ex076.asp and compare execution time with Hugo's
solutions posted in OT.
Argh, my analogy afforded you too many interpretations :) What does
an expert mechanic use if none of his fixed size wrenches fit an
odd/uncommon size nut or bolt?
Currently there is a thread titled "Please help with pointers and
relations" in comp.database . The poster describes a multi-media
catalog db which involves highly variable data and relationships, a
scope that I contend is more suitable for TM than RM. Would you (or
anyone else) be willing to model some data, run a few queries, write a
little code, etc to evaluate the adv/disadvs?
>> Liar!
>
>Your solutions are slower, not as generic and incapable of
(snip)
Hey - this message looks surprisingly familiar. Did you really retype the
whole thing or did you actually use copy and paste to send the exact same
nonsense again? You might want to update your knowledge of anti-spam laws
before continuing this practice - someday, someone's going to file a
complaint against you.
Since you didn't write anything new, I'll just refer you to my previous
message for the answer.
IMO it depends on the situation at to whether an expert would proceed with a
shifter, or source the correct tool (at the cost of some delay no doubt).
What the expert mechanic does recognise (and weigh) is the increased risk
that a shifting spanner will irreparably damage the nut or bolt and
especially so in a high torque environment. This is a tool time tip that
transcends all areas of interest!
BTW I acknowledge your other post re flight but the jury is still to be
selected viz the eventual writing of history on xDb suffice to say trains
and ships still carry the tonnage even as the joust proceeds!
Salutations.
Hugo's RM Solution #1 and #2 failed to meet the challenge because they
are nearly twice as slow as XDb1's even when XDb1 is executed on 5.6X
slower hardware. See measurements below. You are weclome to download
XDb1 (www.xdb1/example/ex076.asp) and verify measurements against
The real mechanic buys the custom tool to match the custome bolt
BECAUSE...
It is likely the manufacturer Designed It That Way so weekend grease
monkeys WON'T MESS WITH IT.
You ever wonder why some vehicles have BOTH metric and english unit
bolds? Or have all three (slotted, phillips, AND star) screws?
The comparison to Databases? the tinkerer will work on Xcel
spreadsheets and ACCESS databases and cannot use ORACLE or SYBASE
because they really do not understand (have the SQL skills/tools) to
mess with it.
ed.
Could you post a SQL script to represent/query the things in the
original post? Then I would like to add/modify the original data to
simulate the equivalent of a non-standard size bolt and see how the
tools (RM vs XDb2) handle such situations.
Copy and paste again, eh? Ok:
The fact is that you issued a challenge, and promised to pay a
I would have an easier time buying in to this if you could come
up with some good, real-world examples of problems that
make some sense. "God is the parent of John" doesn't work
for me as an example; I have no idea what it means. Meaningfulness
is important for examles.
Marshall
I begin to suspect Neo is a bot.
Marshall
Please explain to Neo why Neo might be suspected of being a bot.
NO-O-O-O-O-O-OH!!!!
The wording is "Please show Neo how...". You are safe, though
barely.
You're missing the point, Neo.
(I was away on a business trip and came back to this
discussion just now.)
In the original posts, which you snipped and presented without
attributions, you posited that XDB2 was the generic tool
and that others (e.g. RM) were more specific tools.
You admitted in another post that a more specific tool
would probably outperform a more generic tool for a given
problem. We (or at least I) had no intention of having
you model specific vs. generic tools in your, ahem,
database implementation.
Get a grip.
Replace "God" with your father's name.
Replace "John" with your name.
Forgive me for such simplistic thinking, but if I can arbitrarily
replace data in <whatever> dataset then I can prove anything.
>"Neo" <neo5...@hotmail.com> wrote in message news:4b45d3ad.04110...@posting.google.com...
>>
>> [the exact same stuff over and over again.]
>
>I begin to suspect Neo is a bot.
I suspect Neo would take that as a compliment.
Indeed.
Marshall