Evolve 4.0 Forum Closed
Sunday, July 1, 2007, 08:17 PM - ALife
I didn't renew my Invision board and so the Evolve forum is no longer in existence. I just want to thank all those who participated. Your feedback and comments helped make Evolve a better program. I really enjoyed the discussions, unfortunately the time and cost involved were too much for me.

Please use email or this blogs comments to continue any discussions regarding evolve4.0



[ view entry ] ( 1 view )   |  permalink  |   ( 3 / 353 )
High-level Copy versus Low-level Copy
Tuesday, May 1, 2007, 02:32 PM - ALife
To elaborate on the previous discussion on self-copying. Here are two real-world coding examples that can be used on windows to copy files:

Low level copy:

f1 = fopen("source", "r");
f2 = fopen("destination", "w");
while( (c = fgetchar(f1)) != EOF ) {
fputchar(f2, c);
}

fclose(f1);
fclose(f2);



High level copy:

CopyFile("source", "destination");


Both do the same thing, both are fairly compact algorithms. But the low-level copy can be hacked and modified more by evolution. The other one, the high level copy is just an atomic operation. Evolution doesn't have much to work with in this case. But the low level mechanism offers all kinds of ways in which a parasite can get started, and perpetuated.

(Even the "low-level" example could have been expressed at even lower levels: For example machine code could have been used and BIOS interrupts)


[ view entry ] ( 1 view )   |  permalink  |   ( 2.9 / 390 )
Self Copying
Tuesday, May 1, 2007, 02:17 PM - ALife
Alan Turing spent a lot of effort thinking about the logic for self copying machines.

All ALIFE simulators need to have a mechanism by which the evolving entity gets replicated. Avida, Tierra and Nanopond have the most "low level" copy mechanism. My simulator and others like it offer only a very high level operator like "MAKE-SPORE". These high level operators copy everything and insert pre-designed mutations.

The low level self-copiers on the other hand must manually read each "byte" or instruction from their DNA code and then manually write each instruction to the output. Their minimum (non-parasitical) copy routine is equally as compact as what is done in Evolve. The difference is the low-level copiers offer a multitude of copy variants.

The low-level self copiers are great at spawning parasites, viruses, and all kinds of bizzare agents that discover tricks to get their DNA spread around. (Evolve and the other high level copiers don't easily do this)

I regret Evolve 4.0 doesn't take this approach. I wasn't well versed in all the alife programs out there when I began Evolve. If I were building Evolve today I would have implemented low-level operators for inspecting the organisms KFORTH and copying small bits to the output.

Then I wouldn't have needed a special concept of "sexual" or "asexual" reproduction. If sexual reproduction ever did emerge, it would be an amazing thing, as it might reveal the steps that sex evolved on this planet.

It would be a worthy goal of the Avida, Tierra and Nanopond style simulators to run long term sims with the goal of seeing a real honest to goodness sexual population emerge.

(Evolution of sex is a major puzzle:
http://en.wikipedia.org/wiki/Evolution_of_sex
)

[ view entry ] ( 1 view )   |  permalink  |   ( 3 / 388 )
Evolve 4.8c released
Sunday, April 22, 2007, 05:15 PM - ALife
A much improved version of Evolve is now available. It includes "game mode" which lets you control a creature in the simulation and eat other organisms. Ideally while you are doing this, the population of creatures are evolving to get better at avoiding you. Your interaction with the simulator becomes a selective pressure and evolution should select creatures that are better and better at avoiding/killing you.

Also new is a Radioactive Tracer feature. This feature lets you mark creatures and observe their offspring through time.

I fixed a nasty bug that has been around since the first version. It involved not releasing a GDI device context handle. After a while the GUI would get wierd and eventually crash. This no longer happens.



[ view entry ] ( 1 view )   |  permalink  |   ( 3 / 363 )
Evolve 4.0 Videos
Thursday, April 12, 2007, 10:54 PM - ALife
I used some screen recording software and uploaded 3 clips to google video. They really suck. I need to tweak the process so I can capture video that looks better. Any ideas? Here's the videos:


Clip 1

clip 2

clip 3



[ view entry ] ( 1 view )   |  permalink  |   ( 3 / 322 )
Hackability
Wednesday, April 11, 2007, 06:46 AM - Technology
Mac OS X has six hackability features:

1. Smart folders: a "fake" folder that virtually contains files that match a search criteria.

2. Folder actions: run a program when files are added to a folder

3. Apple script: send messages to GUI applications

4. Automator: GUI based interface to compose automation tasks

5. The Unix scripting stuff: perl, bash, awk, grep, etc...

6. Free development tools from Apple (Xcode, etc...) and included with every macintosh computer.



[ view entry ] ( 1 view )   |  permalink  |   ( 3.1 / 383 )
Automator: Why so long to appear?
Wednesday, April 11, 2007, 06:14 AM - Technology
Since my first PC back in the MS-DOS days I was always struck by how shitty it was to automate anything. I have spent countless hours implementing complex .BAT files. Remember "@ECHO OFF" and "IF %SHIT% == %% THEN echo SHIT variable not set"

Around this time I went off to university and learned unix and all was well. Unix was hackable. Unix could let the user compose a complex operation from simpler ones. I loved it and missed it since leaving university.

My first job had me using Windows 3.1. And once again .BAT files were the only consumer level automation tool. Of course, programmers would write some crappy throw away C program to do most automation tasks. But the end-user was stuck. During this period macros were the preferred way to offer automation to the non-techie user. keyboard macros are okay, but are an extremely brittle technology. If you fart during the execution of a keyboard macro you're likely to lose all your data.

That was it for automation for the next ten years (1997 - 2007). During these years Linux/Unix has dominated in those niches where some hackability is needed (servers, ISP's, routers, firewalls). Apple seems to have something called AppleScript which I believe goes way back to some of its earliest days. (Apple seemed to always understand that a GUI doesn't mesh well with automation and has offered a solution)

As a user of windows 95, 98, ME, and XP I always hoped the newest version would contain a shell scripting capability (better still a GUI implemention of a scripting languge). But time and time again windows comes out with nothing to empower the user in automating tasks.

But finally in 2007, on my macbook, I am able to use something called Automator. My main question for this blog entry is why the hell has it taken so long for an OS vendor to make this a built in technlogy? Kudos to apple for finally doing so. It is a great tool. But it is so sad that it has taken so long for this type of thing to appear.

My eyes are now open to new possibilities, thanks to automator. Suddently all the data I have can be subject to automated tasks. Images, text files, HTML pages.

One task that I have never been able to do on windows is do a decent search/replaces on all my HTML files. (like changing an email address for example).

With automator I can for the first time start doing stuff with the data I have accumulated. And I don't need to hunt for some ill suited photo management package to perform a data task that will probably only be needed once. (or what I usually do, ftp the files to a linux box and write a script to do what it is I want done)

Automator is the glue that every graphical operating system should have had from day one. Why it has taken nearly twenty years to appear is inexplicable to me. But as Kenny from South Park would say, "Hmmm ms sm d hmmm hee mmm hhee".




[ view entry ] ( 1 view )   |  permalink  |   ( 3.1 / 323 )
Mac OS X is good
Tuesday, April 10, 2007, 09:22 AM - Technology
I've now used my macbook for many different tasks over the past month. This weekend was a very intense one for copying and moving files. I was importing my music collection to my mac. So naturally, I have been moving and shifting large files all over the place. Damn! No loss of interactivity occurs. None!! This is awsome!!!! The copy operations may not take any longer than on windows XP, but at least my machine isn't in some sluggish half-frozen state. My mouse doesn't freeze and I can browse the filesystem using another instance of Finder (or the in the shell) without any freaky slow downs or hangs.

Further, all views of my files are updated. iTunes updates, Finder updates and so on. Windows half ass does this too. The difference is the solid feedback I get from the Mac.

Another nice thing is the files are added in alphabetical order (or whaterver the ordering is). On windows the new item (if it does automatically appear), is shoved at the bottom of whatever list is being displayed.

And yet more praise for mac: My icons never freak out on me. On windows XP my icons always blink, or turn into white boxes and then flash back to their original state. This happens for all kinds of random reaons. WTF microsoft?

I think I know the reaon for Mac's superior performance during simple file copy tasks: Unix.

The unix architecture has been with us for 40 years. Forty fucking years. I have used unix on 20 Mhz sparc stations even back then you could have multiple users copying and jacking around and you would scarcly notice it.



[ view entry ] ( 1 view )   |  permalink  |   ( 3 / 341 )
iTunes and Sansa player
Monday, April 9, 2007, 02:37 AM - Programming
I reripped all my CD's again, but in mp3 format (previously I had all my CD music stored in .wma format). I copied all these .mp3's to my macbook. iTunes slurped them in nicely. Two issues occured right away. (1) iTunes copied the files, which I didn't want. I want iTunes to index my music, not keep music in some hidden place. And (2), the artwork concept is fucked in iTunes. It wants to physically shove the image inside the .mp3 files. This isn't for me, and means all your mp3 files bloat in size to accomodate this feature. For my simple sansa music player artwork is a no no.

To fill the sansa from my macbook i do the following:

1. Create a smart playlist inside of itunes

2. Set the size to 3800 MB (for a 4GB sansa)

3. Let it construct a random list of songs

4. Export the songlist to a file (plain text format)

5. attach sansa m260 to macbook

6. run disk utilities and clear the fucker of all data

7. Run a shell script 'fill_fake_ipod.sh' as follows:


fill_fake_ipod.sh mysonglist.txt "/Volumes/SANSA M260/DATA"


8. in 15 minutes the songs are done copying to the sansa.


This sounds sucky, and it is (compared to just getting an ipod). But actually it is much improved from what I did on windows. On windows (without itunes) I had to just willy nilly drag and drop various albums. This decision process sucked. I much like having itunes choose a massive list of songs across the whole collection.

Here's the fill_fake_ipod.sh script:


fill_fake_ipod.sh


See also: Copying iTunes Playlist Tracks



[ view entry ] ( 1 view )   |  permalink  |   ( 2.9 / 396 )
Why aren't we more afraid of laptops on planes?
Saturday, April 7, 2007, 04:01 AM - Technology
This video,

Laptop Explosion Video

is a demonstration of a laptop exploding. It is staged. They induced this machine to blow up. How they did this I don't know. I don't want to know. But it scares me. We fly with laptops all the time, and the FAA obsesses over liquids, and lighters? Why couldn't a terrorist just bring a laptop on board and then cross the wires or whatever and thus cause a very hot fire? And scarier still is what havoc would be caused if a laptop was in the cargo area with some program running "cross_wires.exe" that induces this laptop explosion?????


It seems the most dangerous cargo is man. Whoo.. scary... "cue danger music". hee hee hee





[ view entry ] ( 1 view )   |  permalink  |   ( 3 / 371 )

<<First <Back | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Next> Last>>