Idea for a movie from slashdot

18 January 2006

A comment on an article at slashdot on a new trauma pill seems to be promising stuff for a movie script. Maybe I'll write something around this theme. The article at slashdot. From the comment:

Of course, rape victims will be made victims twice because they will not be able to both use this pill to prevent the psychological damage and be considered a reliable witness. Defense Lawyers will say, just as you have assumed, that her memories were changed and there's no way she could identify her attacker reliably. And gullible people on the jury will go for it. "We can give you this pill that will help you be whole, but you'll have to give up on having a solid prosecution against your attacker." What a choice. Ironically, I would imagine that by reducing the tramatic effect of the attack, the victims memories might actually be more reliable. 

Blessed be darcs

15 January 2006

During the last days I started to install some long-overdue updates to some webservers I manage. The problem was this: a long time ago I installed some webapps written mostly in php. People started to use them and demanded modifications. Nothing big really, but enough to make updates a pain - which led to no security updates in a long time. I started to use the brilliant version control software darcs along with the very convenient script darcs_load_dirs to install the updates. To get them on debian do apt-get install darcs darcs_load_dirs. I really recomend darcs for this (as opposed to e.g. subversion which I use at work) because it's very easy to setup/use from commandline and has a very powerfull automated merging mechanism.

Disclaimer: Although I use version management in one form or another for quite some time now, I am very new to darcs so some of the things I did could be cumbersome or wrong - read it at your own risk :). 

The process is basically this: create a new darcs dir somewhere that will receive the upstream updates of the software. I called it current.

mkdir current
cd current
darcs init

Now copy the base version (the version you started with originally) into the darcs managed dir. To find out which version you used, checkout changelog or some such file.

cp ~/base-version . -r
darcs add * -r
darcs record -am "Imported base version"

This adds the base version to the repository and creates the first revision. Now we will create a branch (a copy of the repository in darcs) to hold our modifications.

cd ..
mkdir currentWithLocalChanges
cd currentWithLocalChanges
darcs get ../current

Now copy all the relevant files from your modified install into the currentWithLocalChanges dir. You will probably have to add the new files, then you might want to review the changes and record them.

cd current
cp ~/installedVersion . -r
darcs add * -r
darcs whatsnew
darcs record -am "imported local changes"

Now apply all the new versions. For this, I simply downloaded every subsequent release (just to be sure, you can also do this directly with the new upstream version as shown in the example below) new source packages that contain the whole new source and unzipped them into
its own folder. Use darcs_load_dirs to check for differences and record them.

cd ../current
darcs_load_dirs ../newVersion

This automatically records the changes. You can take a look with darcs changes [-s]. Now you simply pull them over to your locally changed version:

cd ../currentWithLocalChanges/current
darcs pull ../../current

Bad packages (like phpbb, which really sucks) will have quite a few merge-conflicts that you have to resolve by hand now (altough darcs is really superb when it comes to automated merging). Good packages (like drupal) will work automatically because they can be extended with new pluginfiles, and not with changes to the original files.

When you need to make changes again, just do a

darcs add * -r
darcs record

again. BTW: fabian started to put the entire etc dir of the servers he administers under darcs control!

System.Random(int seed) changed between .NET 1.1 and 2.0

02 January 2006

Using the brilliant tool Reflector I found out that there is a breaking change in the constructor of System.Random between .NET Framework 1.1 and 2.0 - the random numbers generated by the same seed in both versions are different. Since this is not documented anywhere I thought I'd post it here. (Of course this is usually not a problem, but I relied on a certain sequence with a given seed for Unittesting).

Emotionsbewilligung 23/517 finished, a new DVD and a new photo of me

30 December 2005

My latest movie, "Emotionsbewilligung 23/517" is done. I will publish it at UTV next month and make it available in high quality via Bittorrent. The movie is released under a creative commons license, so feel free to copy it and share it with your friends (or strangers) or show it in public as long as you conform to the license restrictions (basically: you may do nothing comercial with it, don't modify it and you have to mention my name as the author. Please note that you may only show/copy the entire movie, as I regard showing only part of it as an act of modification which is not allowed wihtout my written consent.)

I also assembled a DVD with all the movies I directed until now. Currently the only way to get is is by contacting me, in due time I will release it via Bittorrent.

In other news I uploaded a new photo of myself