Uncommon Descent Serving The Intelligent Design Community

How to become IDer in two weeks

Share
Facebook
Twitter
LinkedIn
Flipboard
Print
Email

This opportunity is dedicated to Darwinists/evolutionists or any ID denier who sincerely desire to become convinced IDer but failed the target until today. It is a great opportunity that unfortunately Darwin could not get at his times (you will understand why at the end).

First off, no worry the method is entirely free of charge. No books of ID theorists to buy. No lectures or schools are requested. No need to travel or participate to meetings or seminars. You can stay quietly where you are now, before the screen of your computer.

Some analyses have shown that the difficulty of understanding ID and its concepts (CSI, IC, etc.) consists in the following aspects. (1) Usually people simply look at the complex systems (where CSI, IC … are) in a passive manner, without any active stance. For example evolutionary biologists look at the biological realities but they don’t try to construct them (yes I know genetic engineering tries to do something like that but one cannot say properly that it starts from nothing). To look at is too easy. (2) Reading ID books or attending lectures sure can help yes but also here the participation is passive, no warranty that at the end a real understanding was achieved. To read and hear is too easy. (3) To discuss ID/evo issues with friends, colleagues and debaters can help but often is counterproductive: each one remains on his position, even more convinced than before, given that discussion may invigorate one’s wrong convictions. To discuss is too easy. (4) To study complex systems (both the artificial and natural ones) can help but again a thing is to study, another thing is to construct them. To study is too easy. (5) To write documents, articles, peer reviewed papers and whatever about complex systems can help (it is sure more demanding than to read, speak or discuss) but however it remains always the possibility that one continues to believe that such systems can evolve after all. To write is too easy.

At this point you wonder: no reading, no writing, no discussion, no study, no analysis of the systems. What is the method then? To tell it in a word, the method is based on design. Yes, the principle of the method is that to really understand design one must personally design. It is not enough to do the above activities. (I know you are disappointed.)

Of course a good example of design would be engineering in all its specialties. Unfortunately almost all fields of engineering are inaccessible to laymen for many reasons. But the good news is that there is a field that is theorically and practically available (at least at a basic level) to almost all people (or at least to scientific-minded people as most ID deniers are): computer science. Our suggested patent-pending method to become IDer is based on computer programming. Developing programs gives ID refuters a lot of advantages to learn ID.

(1) Computer programming is an activity where, differently from literature, philosophy, journalism and so on, a severe control overarches all the design cycle. In programming errors matter, also the minor ones are never condoned. This is good discipline for the student, to be always forced to correct his errors. If you write a book filled with errors, no worry, it will be published the same. If you write a program with one error nothing works. This is the difference between storytelling and programming. Usually there are at least two kinds of control or filter: at compilation time and at run-time. Any program works only if it passes the two filters. Extremely useful is to try to find the causes of a failure or wrong behavior of your program. In programming you will always face this hard reality: you are the only source of all functional bits.
(2) Computer programs don’t arise by unguided evolution. They entail CSI and only intelligence can create CSI. Whether software were generable by mean of randomness and machines, software houses wouldn’t need to pay legions of expensive programmers. When you are programming you see directly your intelligence at work. Eventually other programmers can help you but no other unintelligent thing can do the job for you.
(3) To develop programs is a good exercise to learn CSI, IC, nested functional hierarchies, sub-functions, structures, dependences among parts, meta-information, libraries, etc. For example, to test if a particular sub-module is IC at the functional level one can easily delete some of its instructions in the program sources and see what happens. You can have a raw measure of the CSI of your program looking at the size of its source (or its binary executable). More instructions you write more CSI and personal gratification.
(4) Computer programming is an information processing job. Therefore is particularly apt to understand what happens in the biological cells, where information is processed and instructions are run by the molecular machinery. Cells don’t work according to storytelling, rather according to programming.
(5) Last but not least you can even simulate random mutations. You can insert some random error in the source and see if such variation is functionally beneficial (how neo-Darwinism theory hopes). Eventually if you want a better randomness you can ask a (non programmer) friend to introduce a blind change in your code. The analogy between human software and biological code is good, so directly testing random mutations in the former can give you an idea of their results in the latter.

What is necessary to start? Of course a computer but you have it already. The second step is the choice of the programming language. In the history of informatics hundreds of programming languages have been developed. All have pro and cons. My personal advice nowadays is to adopt Perl or PHP. By the way Perl is particularly useful in genomic research. Someone even claims that Perl “saved the human genome project” (see here).

Perl and PHP are modern high level language, running on every operating system, relatively easy to learn and in the same time very powerful. One can freely download their compilers and on-line manuals from their web-sites. Read the initial chapters of the manual (not the entire manual). After the installation on your computer you can just start writing you first “Hello world” program. If you will be insisting with constancy every day after two weeks it is likely you will have developed a functioning program more complex than that where to experiment variations. In any case your awareness that, when bits are involved and instructions have to be run by processors, randomness is only destructive will be increased. Besides you will see with your own eyes that in informatics not a single functional bit is gratis but must come from the intelligence of a programmer. As a consequence, given the analogy between informatics and biology, eventually you will pass from the “chance and necessity” unguided evolution side to the ID side. Congratulations! You are welcome!!

Comments
camanintx #9 Computers are not capable of self-reproducing as organisms, nevertheless they run instructions in a similar way biological cells do. See my previous post "Turing machines, cells and why both are designed". Organisms’ self-reproducing implies they are more complex and advanced than computers, then if computers are designed to greater reason organisms are. When evolutionists resort to the classic but-organisms-self-reproduce-while-computers-do-not argument they shoot themselves in the foot.niwrad
October 6, 2009
October
10
Oct
6
06
2009
04:00 AM
4
04
00
AM
PDT
Djmullen #1 Your certainty that life is not designed and neither is DNA is astonishing and your belief about random beneficial mutations in DNA is ultra optimistic. As a consequence of these beliefs you affirm that computer programming is bad training for dealing with undesigned organisms and their DNA. Unfortunately your reasoning is contradictory and I explain why. Beneficial mutations are not at all 1/4 of all mutations, rather extremely rare events, really "exceptions confirming the rule": many mutations are neutral, many mutations are destructive, and an infinitesimal number of mutations are beneficial (moreover here "beneficial" is debatable). In DNA many mutations are neutral mainly thank to the redundancy of the genetic code, really a smart trick of the design of life to decrease somehow the degeneration of the genome. The redundancy of the genetic code is a difference respect computer software, where most mutations are destructive, some are neutral and an infinitesimal number of them are beneficial. The difference of DNA respect computer software, which you use to refute my analogy between human software and biological code, is indeed what rebuts your main affirmation "life is not designed", because this difference is based on an indubitable designed feature (the redundancy of the genetic code). For this reason you are in contradiction. You cannot have both ways: to affirm that (1) life is not designed and in the same time to say that (2) DNA and software are different. In fact the difference in #2 depends on a specific design feature and this denies #1. The bottom line is that both DNA and human software are sets of functional instructions. As such a training on the latter can give a good idea about the former.niwrad
October 6, 2009
October
10
Oct
6
06
2009
12:59 AM
12
12
59
AM
PDT
Mr Computerist, I'm sorry if it appears I missed part of your comment. I did read it, and tried to pick up on your mention of FSM with my passing reference to CAs. The basic question is raised by this statement in the OP: The analogy between human software and biological code is good, so directly testing random mutations in the former can give you an idea of their results in the latter. I would argue that this is questionable, at best. What is the analogy to a program, DNA with epigenetic markers? What is the analogy to syntax checking by a compiler? The sensitivity to error that the OP is focused on is sensitivity of the source code to changes before compilation.Nakashima
October 5, 2009
October
10
Oct
5
05
2009
02:54 PM
2
02
54
PM
PDT
niwrad
(2) Computer programs don’t arise by unguided evolution. They entail CSI and only intelligence can create CSI.
Too true, and since computers are not biological organisms capable of reproducing on their own, this is about as far as your analogy will take you.camanintx
October 5, 2009
October
10
Oct
5
05
2009
01:32 PM
1
01
32
PM
PDT
Nakashima said:
I have to disagree with Mr Computerist, however. The point of the exercise is not to learn pointer arithmetic and bit fiddling. We should consider the ‘virtual machine’, and abstract away from concerns about the hardware we have, and write for the hardware we want. That is the point of all high level languages.
Yes, I indicated that (for the purpose of the exercise) in the second half of my comment, which you obviously skipped over. It started with "On the other hand..." However, ultimately I think a Darwinist is getting away with murder (so to speak) by learning a language that does most of the dirty work for them "under the hood". They might get the wrong idea and think that it just magically came together on its own for them to use at their disposal.computerist
October 5, 2009
October
10
Oct
5
05
2009
10:37 AM
10
10
37
AM
PDT
For all you computer geeks, I highly recommend the book Digital Code of Life by Glyn Moody. Moody's first book was about GNU/Linux. This second book is an excellent run through of recent developments in the biological sciences through the eyes of a programmer. It starts with the Humane Genome Project and the competition with Craig Venter's Celera, and ends with epigenetics, RNA intereference and the burgeoning world of RNA regulatory networks. It was published in 2004 but already contained quotes from scientists predicting the demise of junk DNA. Highly recommended for anybody, but especially for programmers. An example quotation:
The way in which adding a methyl group to the cytosine causes a downstream gene to be inactivated has an intriguing parallel in computing. When programmers are writing code, they may want to enter comments that will not be processed by the computer as it runs the program. In some languages, this can be achieved simply by prefixing lines of a comment with a special symbol - generally # - which signals that what follows is not to be executed as computer code. In the same way, when testing software, it is often convenient to inactivate particular parts of the program. This is frequently achieved by turning what is otherwise functional code into a comment, for example, by prefixing the line of code with a #. The added methyl group CH3 functions like the attached # sign: both caused the code that comes after them - whether DNA code or computer code - to be ignored.
tragic mishap
October 5, 2009
October
10
Oct
5
05
2009
10:12 AM
10
10
12
AM
PDT
Mr Niwrad, I might also note that there was a new Algorithms::Evolutionary Perl library just announced on the GP-List recently, so people using Perl can try their hand at evolutionary algorithms of a variety of styles. I have to disagree with Mr Computerist, however. The point of the exercise is not to learn pointer arithmetic and bit fiddling. We should consider the 'virtual machine', and abstract away from concerns about the hardware we have, and write for the hardware we want. That is the point of all high level languages. for ( C, H, O, N ) with ( temperature, pressure, environment ) do { } This does bring us rapidly to environments such as molecular dynamics simulations, or CA, or GP with functions that all return a result which every other function can accept. In these programming environments, error is unimportant. It is just that more or less happens. They are programming environments that are as robust to errors as C is sensitive to error.Nakashima
October 5, 2009
October
10
Oct
5
05
2009
10:07 AM
10
10
07
AM
PDT
Excellent niwrad! As a C and C++ programmer who has also done a bit of PHP 4 & 5, Java, Javascript, Shell Scripting, and assembly I find if you want to truly learn programming (and why it works the way it works) one should start with and master C (the next best thing to assembly), this includes; pointer arithmetic, storage classes, linkage, memory management, file I/O, structures, bit fiddling, and all the other advanced concepts (more inline with the hardware) that high-level programmers take for granted since they are mostly masked/built-in. On the other hand, control structures/ conditional branching (for example; implementing a FSM or finite state machine), looping (repetition) etc...are common abilities of most if not all programming languages and from this POV (which I gather niwrad is taking) Perl or PHP are good candidates for the task. Although, I suspect the Darwinists would be more tempted/inclined to implement "Weasel" type programs than they would anything else. :)computerist
October 5, 2009
October
10
Oct
5
05
2009
08:36 AM
8
08
36
AM
PDT
I'll admit that much of the problem is that lots of people who really don't understand code are using it and using it badly. I think the syntax is ugly, but that is rather a subjective issue. The functions are inconsistently named and constructed and all dumped into the global scope. Using undeclared variables results in the variable coming through as empty rather then an error. Error handling, when it does kick in, is simply not very good. A lot of the time, PHP will just die with an unrecoverable error. Pragmatically, yes PHP is widely installed. It probably does make sense to use it write web page in many cases. I don't write web sites very often, when I do I try to use python. Nevertheless, if the goal is learn programming as it seems to be in this post, PHP is a really bad idea. Its designed as a web language not the place you should be starting as a coder.AndrewFreeman
October 5, 2009
October
10
Oct
5
05
2009
07:33 AM
7
07
33
AM
PDT
AndrewFreeman, I beg to disagree. PHP is a widely supported, free, easily learned and nicely documented server-side language. What do you prefer? ASP.NET? Ruby on Rails? The problem with PHP isn't the language, but the programmers who (mis)use it. It can support clean separation of concerns via classes, interfaces, and other OO constructs, or you can just write tons of PHP code directly embedded into your HTML. :) The choice is yours. I can't comment on Perl, since I've never used it, but PHP is quite useful. AtomAtom
October 5, 2009
October
10
Oct
5
05
2009
06:56 AM
6
06
56
AM
PDT
The endorsement of Perl and PHP is an utter disgrace to all self-respecting programmers! Perl has it's defenders, but PHP is total crap.AndrewFreeman
October 5, 2009
October
10
Oct
5
05
2009
06:48 AM
6
06
48
AM
PDT
The big problem here is that computer architectures and the languages that run on them are DESIGNED. One of the goals of DESIGNING any computer language is to make it run as fast as possible and use as little memory as possible. This means that every last bit of redundancy is DESIGNED out of the language. This in turn means that these DESIGNED languages are incredibly brittle. Changing a single bit can often radically alter the operation of the program or make it crash spectacularly. Life, on the other hand, is NOT DESIGNED and neither is the "language" of DNA. This means that changing a base-pair in most stretches of DNA makes no change in the organism's operation at all. I think somebody (Clive maybe?) once stated on this blog that 1/2 of all mutations have no effect at all, 1/4 are deleterious and 1/4 are actually beneficial. This means that fooling around with a DESIGNED language, such as a computer program is very bad training for fooling around with an UNDESIGNED organism and its DNA.djmullen
October 5, 2009
October
10
Oct
5
05
2009
04:41 AM
4
04
41
AM
PDT
1 2

Leave a Reply