Subjects: Evolutionary computation. Information technology–Mathematics.
I cannot tell you exactly what will be in the forthcoming book by Marks, Dembski, and Ewert. I made it clear in Evo-Info 1 and Evo-Info 2 that I was responding primarily to technical papers on which the book is based. With publication delayed once again, I worry that the authors will revise the manuscript to deflect my criticisms. Thus I’m going to focus for a while on the recent contributions to the “evolutionary informatics” strain of creationism by George D. Montañez, a former advisee of Marks who is presently a doctoral candidate in machine learning at Carnegie Mellon University (advisor: Cosma Shalizi). My advice for George is that if he wants not to taken for a duck, then he had better not walk like a duck and swim like a duck and quack like a duck.
Interestingly, young-earth creationist Jonathan Bartlett did an Amazon “customer review” of Introduction to Evolutionary Informatics in late January, after World Scientific had changed its online announcement to indicate that the book would be published in May. When I let the folks at Amazon headquarters know that they were misrepresenting the book as available for purchase, they went above and beyond the call of duty to correct the mistake. I’m interested in hearing from Jonathan whether he removed his “customer review” voluntarily. Of course, I’d like to know also what led him to post it in the first place.
I’ll hazard to suggest that the book will be much like the supporting materials, which were revised extensively in January. The presentations on the Weasel, ev, and Avida models of evolution are self-contained. And they cast doubt on the advertising claim:
Built on the foundation of a series of peer-reviewed papers published by the authors, the book is written at a level easily understandable to readers with knowledge of rudimentary high school math.
Click on the “Mathematics” tab here, and you will see that the math — the easy stuff, as it happens — is something that almost everyone will skip. It’s there to impress, not to enlighten, the general reader. As I’ve said before, I would love to address the math, and not the rhetoric that the authors attach to it. Things would be much easier for me if the authors turned out to have magical teaching powers. But we have evidence now, and the evidence says no magic.
johnnyb,
Having slept on the exchange I had with you, I am all the more disgusted by it.
1. You contribute to Amazon’s false advertising of a not-yet-published book as available for purchase. The obvious benefit was to establish demand in advance of the first printing of the book. As a publisher, you surely understand the benefit.
2. You learn that I filed a report of false advertising.
3. You blame me for Amazon’s deletion of your “customer review” — which “just happened” to contribute to the false impression that the book was available for purchase — along with the comment I made on it. Get this, Jonathan Bartlett: Nothing suits me better than for the first review to come from a young-earth creationist who has published prior work of the authors.
4. YEC that you are, you respond to an absence of evidence by telling the story you prefer. I created doubt as to whether you were telling the truth. And I actually do doubt that you were telling the truth, as pathetic as your “customer review” was. But, hey, there’s no evidence now. So tell everyone that I said outright that you were lying. And make up a story about my motives.
5. [deleted surmise about Bartlett’s motives] No one, this side of the sanity-insanity divide, is more deranged than someone who claims that science supports belief in a young earth, and who goes around telling people (including children) as much.
“your life is a lie” – Tom English
Gregory:
You’d better leave quote mining to the YECs. I’d better make my intent harder to ignore.
Tom,
Mung’s Weasel wasn’t funny — just dumb.
As for ‘sandbagging’, Mung couldn’t even come up with a brute-force program to locate the highest-fitness permutation of a set of characters. His program ran out of memory because he tried to store all the permutations before evaluating them.
This is not a guy who knows his way around software development. He’s suckered you into overestimating him.
Doesn’t mean his code wasn’t a joke.
Tom English,
Tom’s intent is obvious. He has butt-hurt for ‘creationists’ is angry, stubborn, carries a lot of scars from altercations with (made in the, to say it nicely, ‘less intelligent’ parts of the USA) nutcases, and (perhaps largely as a result) is anti-religious. He might have been stood up by a ‘Christian’ once for a date & is now heinous in his mortal duty to oppose ‘them’ still bitter about it. What more is needed to know? Creationists are from the devil, in the key of Tom, more than Tom himself ever could possibly be playing a devilish hand at the skeptic table.
johnnyb is openly in cahoots with self-righteous protesting evangelical IDists & young earth creationists. That seems to be a fact. Not just people who believe in Creation. But actual ‘creationists.’ That’s johnnyb’s ‘professional’ level of clientele, even while some people gently try to counsel him away from that.
So Tom English attacks him personally & ‘professionally’. Tom has reached a higher ‘academic’ level than johnnyb, so wins the ‘scientific’ credibility tussle rather quickly. Boo hoo, reality stinks for the creationist-promoter-publisher.
If creationists aren’t johnnyb’s main clientele, among whom are significantly represented by homeschooled evangelical protestants, then he should directly state his actual main audience, rather than just trading in generalities. Hiding behind ideological creationism can be highly destructive to mainstream believers and often displays gross distortion of theology and religion, while many creationists seem not to realise how fanatical they are in outward appearance.
Nevertheless, the ‘proper skeptic manners’ atheist (Thomas) telling the ‘digital stone age faith’ theist (Johnny, the last figure ‘founder lizzie’ courted to become a moral Moderator among otherwise atheist mods, before departing this cesspool of cynicism & unbelief) his “life is a lie” is too ironic to let slip! 😉 Is Tom’s misanthropic angry leftist ‘post-truth’ writhing a symbol of civilisational liberation?
Intelligent theists know already for at least a decade that IDism is ignorant ideology, not teachable biology (shame on johnnyb with his homey ‘STEM students’!) nor credible knowledge that produces results. We believe this even while the ‘design’ and ‘manufacture’ of artefacts by intelligent beings who are created by God or gods in a spiritual (not just material) universe demonstrates that our striving to understand Intelligence goes beyond the limits and possibilities of ‘science’ itself. The myopic creationists simply don’t see their behaviour, tactics or even lifestyle (homeschool, fringe Christian science publisher) as an impediment to a better conversation & and (praise the Constitution!) that’s the kind of stuff johnnyb is ‘free in the USA’ to publish with his bank book as he chooses. There’ll likely be a butt-hurt ‘Tom’ somewhere in USA to antagonise johnnyb & his domestic IDist dingdongs. Such a sad circus! 🙁
Such antagonism is only possible when johns & the toms & the sals & the keiths of the world pump up their ‘knowledge’ at each other about origins, morality, meaning, & destiny. Do skeptics want to fall sole-first into (self-delusionary) sophistic naturalism, superficial philosophy, USAmerican-style, pragmatic personal goo? Apparently a lot of them at TSZ do. 🙁
“The skeptical movement? Sheer projection, coming from beneath the big tent of the ID movement.”
There is no ‘movement’ among ‘skeptics’ that unites them other than perhaps bowel movements. Why not? In short, ‘none’ ain’t got no stick power, it’s too easy to come undone. Brights? Not. Memetics? Stupid. Reason rallies? A reality check for the broken-souled human.
Indigenous and global knowledge both carry ample lessons of how self-destructive any such attempt to ‘mobilise’ skepticism becomes. There is no ‘movement’ worth ‘joining’ here. TSZ is now a bastard child.
That’s not possible. I can’t code. I don’t understand Weasel. And I’m stoopid to boot. Just ask keiths.
I hear you can buy programs off the shelf that will write code for you. No intelligence required.
More fake news from the fake person known as keiths.
Really?
From Mung’s code:
%w[1 2 3 4 5 6 7 8 9 * / + -].shuffle.permutation.each do |arr|
current_string = arr.join
case closed
petrushka,
It was a joke, but only in the sense that it was comically inept.
Mung is an inadvertent master of that genre. Here’s another example:
Mung:
Unbelievable, indeed.
My amused reaction is here. DNA_Jock’s is here.
But Mung wasn’t trying to be funny.
As far as I know I am the only person to have implemented a version of Schneider’s ev with extensions to his original. Dr. Schneider was kind enough to review my summary and link to it from his site. That gives me more than enough understanding to point out that the Ev Ware code does not bear any resemblance to the real ev.
Mung, sweetie, you’re confusing your dreams with reality again. Make sure you’re fully awake before posting next time.
Is that a serious question?
Case closed that you can’t read, perhaps. And that neither can keiths.
wow. just wow.
keiths, Ruby genius that he is, will next show us where I stored all the permutations before evaluating them and how that caused my program to run out of memory. But he won’t, because he’s a fake Ruby programmer too.
2017-03-04 20:32:04 -0800
[“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, ““, “/”, “+”, “-“]
6227020800
[“-“, “+”, “/”, ““, “9”, “8”, “7”, “6”, “5”, “4”, “3”, “2”, “1”]
2017-03-04 20:58:04 -0800
An no memory error. Sorry keiths, dazz. You don’t know what you’re talking about. Better luck next time.
Mung,
This is just pitiful. You’re only making things worse for yourself.
Mung:
Here’s where I explained your error:
was that [“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “”, “/”, “+”, “-“].permutation.size?
Heh. I don’t think Mung does clarifications.
No, that was a first and last so you could see that by the end the entire sequence had been reversed. Want me to post a file with all 6,227,020,800 entries so you can see they were all visited?
And what leads you to think that all permutations are kept in memory simultaneously? What evidence do you have that is actually the case?
Please take into account that I just ran all 6227020800 of them again and did not run out of memory.
No, that’s what you’re doing. I just conclusively demonstrated that you are wrong, and even then you still won’t admit it. Surprise. Surprise. Surprise.
You are also wrong that I waited to perform the evaluation until all permutations had been created and stored. Is there simply no end to your arrogance?
Here’s the basic permutation code:
%w[1 2 3 4 5 6 7 8 9 * / + -].permutation.each do |arr|
end
Go ahead. Run it for yourself and see if you run out of memory. If you’re smart enough you can even figure out how much memory gets allocated to run the code.
And if you look back at my original code you can see that I evaluate each permutation as it is generated.
current_value = eval(current_string)
So twice wrong, and utterly incapable of admitting it.
#BoyGenius
Mung,
You never learn, do you?
For everyone’s amusement, tell us why you think your program ran out of memory after 1.685 billion permutations.
Note to software-savvy folks:
You might be itching to give Mung a hint, but let’s see if he can figure this out on his own.
LoL. I, on the other hand, am bookmarking this exchange as yet another example of keiths refusing to admit he’s wrong in spite of being confronted with compelling evidence against his beliefs.
It doesn’t run out of memory after 1.685 billion permutations. That’s just you refusing to see the evidence that is before your eyes.
%w[1 2 3 4 5 6 7 8 9 * / + -].permutation.each {|arr|}
Run it for yourself. It took 20 minutes on my computer. And if you simply must know whether this code actually generates every permutation you can print them as they are generated.
%w[1 2 3 4 5 6 7 8 9 * / + -].permutation.each {|arr| p arr}
And though it will take much longer to run, the result is the same. It doesn’t run out of memory after 1.685 billion permutations.
keiths is simply mistaken because he didn’t understand the code. But he has no excuse now.
You’re just digging the hole deeper.
Mung, then:
keiths, now:
Mung, now:
That’s the trouble with splicing your threads as you go. It’s hard to remember it all.
Well, I translated that to Python and it runs just fine.
In Ruby it’s the eval function that triggers the “leak”, using something like
current_value = rand(100000)
to generate the value, the program runs no probs.
http://pastebin.com/5NMfZZLQ
So keiths was wrong and won’t admit it. Wrong twice. There is no memory issue from simply generating the permutations. I wasn’t storing all the permutations in memory all at once. And I wasn’t waiting until I had generated and stored all the permutations before I evaluated them. That’s just keiths being ignorant of Ruby and acting like he has knowledge when he doesn’t.
I suspect there’s a ‘leak’ in eval(). But what I know is that the out of memory wasn’t due to what keiths said it was. Will keiths admit he was wrong?
I love how you cheer keiths on even when he’s wrong.
I don’t know if he’s wrong, but if you’re missing something, so am I, so apologies
Also tried installing some AST gem to replace the eval method and it worked right away.
That’s false.
And he hasn’t.
No problem. Sometimes the keiths bandwagon isn’t always going to take you to the right destination. 🙂
But keiths is wrong because he clearly mis-identified the cause of the NoMemoryError. It had nothing to do with me trying “to store all the permutations before evaluating them.” That’s just ignorant talk.
I’ll try setting a huge page file and see if I can get it to finish. I’m curious to see if this is a leak or some internal implementation in Ruby is converting the enumerator to an array and keeping it all in memory
You might check into Ruby-Prof, GC#stat and GC::Profiler.
You’re a good guy or gal or whatever, you fake person, you. Difference in Ruby libraries was always the most parsimonious of hypotheses.
I wish you would do an OP — not your typical mockery of the “skeptics” of The Skeptical Zone, but instead a straight account of your initial sandbagging, and of others’ failure to revise their beliefs when you gave evidence that you actually were a programmer. Rather than make declarations of why the others did not accept the evidence you provided, ask them to explain it themselves. As for the committed denialists, it will be interesting to see more of what’s going on with them.
What is that supposed to mean?
Says the hypocrite who just spent weeks backing Joe G’s blithering nonsense.
Tom, to dazz:
dazz:
I’ve asked him the same thing. He’s promising an OP on the topic.
I hope it isn’t something as lame as “a fake person is someone who uses a blog nym other than their real name”.
So the Argumentative Conversational Entity “keiths” has rules telling it to pivot.
Tom, to Mung:
Come on, Tom. You’re a computer scientist. Surely you know, as I do, that any competent programmer could have avoided Mung’s mistake. And any competent programmer certainly would have known how to fix it.
It doesn’t take a genius to realize that the memory footprint of that program done properly does not need to be large. As I said:
And no, Mung, that doesn’t mean you should go looking for a ‘discard’ statement or method in my Python code.
Mung,
You already wrote a broken program that crashed. You already failed to spot the obvious solution. You already got caught lying about the crash.
When are you going to learn to cut your losses?
So I thought I’d put the claim made by keiths to a test in another way, since he still refuses to admit he was mistaken.
He claimed I was storing all the permutations in memory and only after they had been stored was I undertaking to evaluate them. That’s false, of course, but I did think it would be an interesting exercise to see if I could actually write my program in such a way that it actually ran the way keiths claims it runs.
The first hurdle I came across was that there is a limit in Ruby on the size of an Array that can be created using Array.new() and also a limit on the value an index to the array can create.
I’m running 64 bit Ruby on 64 bit Windows. Here’s some code folks can try on their own:
Of course, this raises the immediate question, which keiths will also not be able to answer. How was I storing all these permutations and where were they being stored?
I did not lie, you just lack reading comprehension skills. I didn’t deny that my program ran into an out of memory error, rather I denied that it was due to the code that generated the permutations. Surely you can see the difference.
ETA: dazz can see the difference, but not keiths.
The “keiths” rule-based system has entered a false proposition into its knowledge base, and is equipped only to deflect attention from its error, not to revise its beliefs.
Again, WTF is that supposed to mean Tom?
Mung,
Mung, earlier:
The result of running Mung’s program, as provided by Mung himself:
Tom,
It isn’t surprising to see Mung behaving this way, but I’m disappointed to see you defending his obvious lie.