All of the interesting technological, artistic or just plain fun subjects I'd investigate if I had an infinite number of lifetimes. In other words, a dumping ground...

Wednesday, 26 November 2008

Matplotlib - plotting for python

http://matplotlib.sourceforge.net/

Python generators

http://www.dabeaz.com/generators-uk/

Tuesday, 18 November 2008

MALLOC_PERTURB_

http://udrepper.livejournal.com/11429.html
MALLOC_PERTURB_

Seems like the number of people who know this feature is still almost zero. Well, RH developers know it and we have some who use it all the time on development machines. Basically, setting this environment variable causes the malloc functions in libc to return memory which has been wiped and clear memory when it is returned. Of course this does not affect calloc which always does clear the memory.

The reason for this exercise is, of course, to f ind code which uses memory returned by malloc without initializing it and code which uses code after it is freed. valgrind can do this but it's costly to run. The MALLOC_PERTURB_ exchanges the ability to detect problems in 100% of the cases with speed.

The byte value used to initialize values returned by malloc is the byte value of the environment value. The value used to clear memory is the bitwise inverse. Setting MALLOC_PERTURB_ ti zero disables the feature.

This technique can find hard to detect bugs. It is therefore suggested to always use this flag (at least temporarily) when testing out code or a new distribution. That's a hint for all the brave souls testing FC6t1.

Thursday, 6 November 2008

HTTP proxies

FreeProxy.ru.

Evolved creatures

http://www.karlsims.com/evolved-virtual-creatures.html

Evolved Virtual Creatures

1994

This video shows results from a research project involving simulated Darwinian evolutions of virtual block creatures. A population of several hundred creatures is created within a supercomputer, and each creature is tested for their ability to perform a given task, such the ability to swim in a simulated water environment. Those that are most successful survive, and their virtual genes containing coded instructions for their growth, are copied, combined, and mutated to make offspring for a new population. The new creatures are again tested, and some may be improvements on their parents. As this cycle of variation and selection continues, creatures with more and more successful behaviors can emerge.

The creatures shown are results from many independent simulations in which they were selected for swimming, walking, jumping, following, and competing for control of a green cube.

Download movie from the Internet Archive

http://www.archive.org/details/sims_evolved_virtual_creatures_1994

Internet censorship


No Clean Feed - Stop Internet Censorship in Australia

tim's shared items

Add to Google Reader or Homepage