Unfortunately the guy performing this experiment doesn't know about how to benchmark, in particular how to aggregate results into a mean result.
In the first table, he uses an arithmetic mean, which is invalid as it unfairly weights slow benchmarks. This has the effect of making the windows version look bad, as against the equivalent linux implementation, the longest benchmark is nearly 30s slower on the windows box, so I was almost tempted to not mention it, and let windows look bad. The correct mean to use is the geometric mean. This weights all benchmarks equally.
To see this, an extreme example would be: Benchmark A - implementation X=0.05s, implementation Y=0.02s Benchmark B - implementation X=0.10s implementation Y=0.05s Benchmark C - implementation X=100s implementation T=102s Arithmetic Mean: X=33.38s Y=34.02s Geometric Mean: X=0.794s Y=0.467s
He comes closer to that in his second table, where he started taking ratios; but alas he dropped the baton when he started introducing negative numbers to imply 'slower'. Ratios of positive times are never negative, he was simply looking for ratios less than 1. So his "mean" is in fact mean(ing)less.
You're one for whoppers yourself it seems - if you're prepared to restrict your target audience then it doesn't matter if you restrict your target audience.
Note, however, that I didn't need you to point that out twice, unlike my self-evident truth which you needed to have explained to you.
If you worked things out first time, you'd optimise your brain use by 50%!
My point was that if you write portable code you can run it on many platforms without modification, and that this is a far superiour way of doing things than restricting yourself to one single minority platform.
What I wrote was """ I organise cross-platform distributed computing projects, and without exception the actual number-crunching code is an console application, plain C """
And you intepret that as something like "all distributed projects without exception..."
Please leave the 'reply' button alone until you learn to read.
Did you miss the bit where I mentioned that it's wrappers around platform-independent portable things are useful. Wrappers around entirely non-portable things are next to useless.
In your excitement you seem to have forgotten that the command line was already available too.
I organise cross-platform distributed computing projects, and without exception the actual number-crunching code is an console application, plain C - not even any #ifs, and the only thing that is platform specific is a tiny wrapper script. The wrapper script I use is a Perl one that sits silently in a text console, or hung up, or started from init or cron. There's nothing to stop someone writing a GUI one in Tcl/Tk, or whatever scripting language runs on OSX. It would be a half hour job for someone familiar with how to use sockets in their scripting language of choice to 'port' my application to a new platform. Being tied to XGrid is an truly abysmal design in comparison.
I'm being charitable, if anything. They do not use the conventional methods or language for their analysis (and when they do pull the correct terminology out of the hat occasionally, they prove that their own claims are false - see their skew/kurtosis quote). When people use non-standard terms it's very hard to do anything apart from just ignore them or dismiss them wholesale.
Most importantly - they have not proved any claim until they use techniques that are accepted as valid. They haven't done so, so they have not proved any claim. Just that on its own is enough to justify my prior assertion.
Irrelevant. They were god-fearing christians (go to Glasnevin and see for yourself), and they blew up things pertaining to those that disagreed with them.
Their results do not demonstrate the effect they are trying to prove exists. Therefore, for their analysis of their results to cause them to claim the effect exists, their analysis must be flawed. As the analysis of the data is part of the methodology, the methodology is flawed.
What was so hard about that?
Someone more fluent with stats (did my degree decades ago, and hated applied maths), could probably pinpoint exactly where they go wrong, but my bet is that they don't know a confidence interval or significance from the hole in the ground. I seem to remember some posts up near the top addressed that.
"what I've read the criteria that you have to meet and tests that you have to pass to win are set by Randi, and that he is the sole judge of whether you have proven anything or passed any of the tests."
Your reading comprehension is pitiful. Or you're just bullshitting.
"Not at all. He put code in his profile that ran automatically whenever anyone visited his profile."
You're Just Plain Wrong there.
Everyone who ran that script had a browser configured to run arbitrary code from untrustworthy sources. Everyone who does not run arbitrary scripts from untrustworthy sources would not have run the code.
Please learn how browsers work, or we might have to take your internet licence away.
You've not started a yahoogroup, and seen what breaks. You've not even hunted out any yahoogroups for python to see what goes wrong. And yet you have the gall to question what I've previously stated? Sheesh, the impudence.
Your wish for "indented consistently" is granted. Unfortunately for you the indentation level is 0 everywhere. Still think your python code will work if posted there?
Not every medium is whitespace friendly. This is why things like quoted-pritable were invented, and things like base64 and uuencode specifically avoid the space character.
If Samy is who I think he is (there used to be someone on a mailing list I read of the same name), then he's a smart guy, and not destructive. So with that in mind, I have to play devils advocate.
He, via his profile, offered everyone the chance of running some code. They accepted that offer, and ran his code.
Everyone who ran the script is in part responsible for what happened. He did not break their security, they were willingly running scripts from unknown sources, so they had no security to break.
Sure, MySpace knew there were a million idiot users out there, and put up their security in order to firewall themselves from those idiot users.
I recommend you start a yahoogroup for the discussion of Python. The same applies to YAML advocates too, of course. Exchange a few snippets of code/data.
Hopefully you'll then realise how non-portable a white-space-based convention is.
It looks like the IBM author is struggling with XML too:
Listing 6. A few of our pets, pets.xml <?xml version='1.0'?> <pets>
<cat>
<name>Madness</name>
<dob>1 February 2004</dob>
<price>150</price>
</cat>
<dog>Maggie</name>
<dob>12 October 2005
<name></dob>
<price>75</price>
<owner>Rosie</owner>
</dog>
<cat>
<name>Little</name>
<dob>23 June 2006</dob>
<price>25</price>
</cat> </pets>
I may not be an XML ultra-guru, but that looks just plain wrong. The tags' aren't correctly nested. e.g. <dog>Maggie</name>
This wouldn't be the first time IBM has churned out a pile of codswallop in their developerworks pages. In fact I don't remember the last time I saw a good one.
Are you sure that's "funds pure science" rather than "tries to find new things to patent".
This is Glaxo Wellcome, who, if one wanted to be cynical, might be described as the guys who patented AZT so that they could profit from AIDS.
Unfortunately the guy performing this experiment doesn't know about how to benchmark, in particular how to aggregate results into a mean result.
In the first table, he uses an arithmetic mean, which is invalid as it unfairly weights slow benchmarks. This has the effect of making the windows version look bad, as against the equivalent linux implementation, the longest benchmark is nearly 30s slower on the windows box, so I was almost tempted to not mention it, and let windows look bad. The correct mean to use is the geometric mean. This weights all benchmarks equally.
To see this, an extreme example would be:
Benchmark A - implementation X=0.05s, implementation Y=0.02s
Benchmark B - implementation X=0.10s implementation Y=0.05s
Benchmark C - implementation X=100s implementation T=102s
Arithmetic Mean: X=33.38s Y=34.02s
Geometric Mean: X=0.794s Y=0.467s
He comes closer to that in his second table, where he started taking ratios; but alas he dropped the baton when he started introducing negative numbers to imply 'slower'. Ratios of positive times are never negative, he was simply looking for ratios less than 1. So his "mean" is in fact mean(ing)less.
> alias rm 'ls \!* && echo -n "Remove (y/n)? " && if(y == $) /bin/rm -rf \!*'
> rm *~
Illegal variable name
I'm not surprised you've never deleted anything by mistake - are you sure you've ever deleted anything?
You're one for whoppers yourself it seems - if you're prepared to restrict your target audience then it doesn't matter if you restrict your target audience.
Note, however, that I didn't need you to point that out twice, unlike my self-evident truth which you needed to have explained to you.
If you worked things out first time, you'd optimise your brain use by 50%!
My point was that if you write portable code you can run it on many platforms without modification, and that this is a far superiour way of doing things than restricting yourself to one single minority platform.
Which should be obvious to anyone with a brain.
Don't be a plonker.
..."
What I wrote was
"""
I organise cross-platform distributed computing projects, and without exception the actual number-crunching code is an console application, plain C
"""
And you intepret that as something like
"all distributed projects without exception
Please leave the 'reply' button alone until you learn to read.
Did you miss the bit where I mentioned that it's wrappers around platform-independent portable things are useful. Wrappers around entirely non-portable things are next to useless.
But probably very pretty. Enjoy your eye-candy.
In your excitement you seem to have forgotten that the command line was already available too.
I organise cross-platform distributed computing projects, and without exception the actual number-crunching code is an console application, plain C - not even any #ifs, and the only thing that is platform specific is a tiny wrapper script. The wrapper script I use is a Perl one that sits silently in a text console, or hung up, or started from init or cron. There's nothing to stop someone writing a GUI one in Tcl/Tk, or whatever scripting language runs on OSX. It would be a half hour job for someone familiar with how to use sockets in their scripting language of choice to 'port' my application to a new platform. Being tied to XGrid is an truly abysmal design in comparison.
Indeed, but you'd also need to enable hard disk quotas to stop the filling of the hard disk.
You are as hollow as your straw man.
I'm being charitable, if anything. They do not use the conventional methods or language for their analysis (and when they do pull the correct terminology out of the hat occasionally, they prove that their own claims are false - see their skew/kurtosis quote). When people use non-standard terms it's very hard to do anything apart from just ignore them or dismiss them wholesale.
Most importantly - they have not proved any claim until they use techniques that are accepted as valid. They haven't done so, so they have not proved any claim. Just that on its own is enough to justify my prior assertion.
Yeah, and while you're waiting for them you can toast some marshmallows in the flames of that local abortion clinic.
Abortion clinics. Christians have just as much bloodlust as those they hate.
Irrelevant. They were god-fearing christians (go to Glasnevin and see for yourself), and they blew up things pertaining to those that disagreed with them.
Their results do not demonstrate the effect they are trying to prove exists.
Therefore, for their analysis of their results to cause them to claim the effect exists, their analysis must be flawed.
As the analysis of the data is part of the methodology, the methodology is flawed.
What was so hard about that?
Someone more fluent with stats (did my degree decades ago, and hated applied maths), could probably pinpoint exactly where they go wrong, but my bet is that they don't know a confidence interval or significance from the hole in the ground. I seem to remember some posts up near the top addressed that.
IIRC they said the same thing about there being hard evidence that humans have influenced global warming.
They don't deny that there's a localised upturn in temperatures towards the end of the 20th century.
However, that was one of the less satisfying episodes.
Or you could use your powers to fuck with Randi's mind, and rewrite his webpage. Your identity need never be known.
"what I've read the criteria that you have to meet and tests that you have to pass to win are set by Randi, and that he is the sole judge of whether you have proven anything or passed any of the tests."
Your reading comprehension is pitiful. Or you're just bullshitting.
"Not at all. He put code in his profile that ran automatically whenever anyone visited his profile."
You're Just Plain Wrong there.
Everyone who ran that script had a browser configured to run arbitrary code from untrustworthy sources. Everyone who does not run arbitrary scripts from untrustworthy sources would not have run the code.
Please learn how browsers work, or we might have to take your internet licence away.
You've not started a yahoogroup, and seen what breaks. You've not even hunted
out any yahoogroups for python to see what goes wrong. And yet you have the
gall to question what I've previously stated? Sheesh, the impudence.
Your wish for "indented consistently" is granted.
Unfortunately for you the indentation level is 0 everywhere.
Still think your python code will work if posted there?
Not every medium is whitespace friendly. This is why things like quoted-pritable
were invented, and things like base64 and uuencode specifically avoid the space
character.
If Samy is who I think he is (there used to be someone on a mailing list I read
of the same name), then he's a smart guy, and not destructive. So with that in
mind, I have to play devils advocate.
He, via his profile, offered everyone the chance of running some code.
They accepted that offer, and ran his code.
Everyone who ran the script is in part responsible for what happened. He did
not break their security, they were willingly running scripts from unknown
sources, so they had no security to break.
Sure, MySpace knew there were a million idiot users out there, and put up
their security in order to firewall themselves from those idiot users.
I'm on a .fi network
.com 6.17 6.21 6.21 .co.uk 6.28 6.21 6.21 .fi 6.28 6.21 6.21 .no 6.19 6.21 6.29
hl=en hl=fi hl=no
So it looks like it doesn't depend only on the TLD you use, but also the hl parameter.
But not in a particularly logical manner.
Slashcode's broken my Plain Old Text table, that's 3 columns for the three languages 4 rows for the 4 TLDs
I recommend you start a yahoogroup for the discussion of Python. The same applies to YAML advocates too, of course. Exchange a few snippets of code/data.
Hopefully you'll then realise how non-portable a white-space-based convention is.
It looks like the IBM author is struggling with XML too:
Listing 6. A few of our pets, pets.xml
<?xml version='1.0'?>
<pets>
<cat>
<name>Madness</name>
<dob>1 February 2004</dob>
<price>150</price>
</cat>
<dog>Maggie</name>
<dob>12 October 2005
<name></dob>
<price>75</price>
<owner>Rosie</owner>
</dog>
<cat>
<name>Little</name>
<dob>23 June 2006</dob>
<price>25</price>
</cat>
</pets>
I may not be an XML ultra-guru, but that looks just plain wrong. The tags' aren't correctly nested.
e.g. <dog>Maggie</name>
This wouldn't be the first time IBM has churned out a pile of codswallop in their developerworks pages. In fact I don't remember the last time I saw a good one.
No, you obviously don't understand, "Because XML is after all the standard for this sort of thing,"
FatPhil