2006-01-25 22:40:56 (in Berlin, Germany)

The hope is out there!

There is hope for me to find a girl again (yes, most of the things on that page match my features).
Dear Ex, read the above and consider again what you gave up :)

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: english, As seen on the Web

2006-01-21 17:31:18 (in Berlin, Germany)

Getting rid of NO_PUBKEY 010908312D230C5F

Repeat
wget http://ftp-master.debian.org/ziyi_key_2006.asc -O - | apt-key add -
until the message gpg: no ultimately trusted keys found goes away and only OK is shown (2 times for me). Verify with apt-key list which shows
pub   1024D/2D230C5F 2006-01-03 [expires: 2007-02-07]
uid   Debian Archive Automatic Signing Key (2006) <ftpmaster@debian.org>
Repeat on all hosts.

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: english, Linux

2006-01-19 12:45:16 (in Berlin, Germany)

PHP considered harmful (too bloody dumb)

I don't like PHP for various reasons but today I found something to pinpoint (PHP 4.4.0-4 (cli)). I wanted to use some OO so that a Master instance can invoke a Slave instance which in turn calls back the Master to transfer some data. This doesn't seem to be such a terrible thing to do. Here is a sandbox:
<?php

class Slave {

  var $master;

  function bang() {
    $this->master->callback();
  }
}


class Master {

  var $slave;
  var $foo = -1;

  function Master() {
    $this->foo = 0;
    $this->slave = new Slave();
    $this->slave->master = & $this;
    $this->foo = 1;
    echo "1 Master: ".$this->foo."\n";
    echo "1 Slave : ".$this->slave->master->foo."\n";
  }

  function callback() {
    echo "Callback from slave: $this->foo (should be 2)\n";
  }

  function doSomething() {
    echo "1_Master: ".$this->foo."\n";
    echo "1_Slave : ".$this->slave->master->foo."\n";
    $this->foo = 2;
    echo "2 Master: ".$this->foo."\n";
    echo "2 Slave : ".$this->slave->master->foo."\n";
    $this->slave->bang();
  }
}

$mst = new Master();
$mst->doSomething();

?>
The copy-on-assign logic of PHP has been a bad idea since it's very conception, but the ability of assigning references at least made it possible to work around this "feature" most of the time.

Now, the above code emits this:
1 Master: 1
1 Slave : 1
1_Master: 1
1_Slave : 1
2 Master: 2
2 Slave : 1
Callback from slave: 1 (should be 2)
Which proves that assigning the references works in the constructor but when doSomething() is called, the Master instance and the Slave instance have different copies (?) of the Master. The more I look at it the less i can understand where the copy operation might even take place.

Until someone confirms this is a bug in PHP or in my understanding of the world I postulate that the brain of the PHP "inventor(s)" looks like this:

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: english, Technokratie

2006-01-18 14:09:00 (in Berlin, Germany)

About hypes and buzzwords


Posted by Raimund 'Raimi' Jacob | Permalink | Categories: english, As seen on the Web

2006-01-15 20:09:28 (in Berlin, Germany)

Movie to watch: Getaway (1972)

I picked up a DVD lateley: The Getaway (1972) with Steve McQueen. I have to say: This one is cool. Everything was shot on location and the atmosphere is very real. Each character is authentic and everything fits. The action is good, too.
Well, some characters are a little conservative, but that's ok since the setup is in Texas (and it's more than 30 years ago). Funny side note: Slim Pickens has a small but important role. You don't know the name? It's the cowboy riding the a-bomb in Dr. Strangelove, which is still the best movie, ever.

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: english, Talking Movies

2006-01-14 22:17:13 (in Berlin, Germany)

Pointe gesucht

Variante 1: Zuviel Druck ... Variante 2: Merke: Auch kaputte Eier moechten gepickt werden. Variante 3: Alien in Ausbildung. Variante 4: "Gesundheit!" ... aber so richtig ansprechen tun die mich alle nicht. Also doch wieder nur ein sinnloses Bild.

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: deutsch, Life

2006-01-13 08:19:26 (in Berlin, Germany)

Langweiliges Bild: Handschuh

Sehen Sie links einen handelsueblichen, unversehrten Handschuh aelteren Jahrgangs. Sehen Sie rechts das Gegenstueck, wie es aussah, nachdem es aus der Jackentasche gefallen ist und ca. 2.5h auf einer dreispurigen Strasse gelegen hat. Die Wiedersehensfreude war unbeschreibblich (wenig aufregend). In Pakisten frieren die Leute ohne Essen und Wohnung und ich fotografieren so einen Mist und stelle ihn ins Netz. Oh Mann.

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: deutsch, Life

2006-01-12 22:41:42 (in Berlin, Germany)

Approaching Lightspeed

Toll, was Kälte oder das Ruckeln am Sensor erreichen können: PS: Ich hasse Gallery_Remote (1.5[.1-b8]): Ich darf ab und an mal ein Bild cropppen, aber dann nur eins und dann ganz lange nicht wieder. Wenn ich eine Selektion ziehe, vergisst er sie sofort wieder.

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: deutsch, Life

2006-01-07 14:54:15 (in Berlin, Germany)

Let's do the time warp again ...

Manchmal bekomme ich ja nicht so richtig was mit, wenn ich Fahrrad fahre. Dann passieren z.B. Unfaelle. Manchmal fahre ich auch so schnell, dass die Zeit bis zum Ziel wie im Flug vorbei geht. Das war einer dieser Faelle:

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: deutsch, Life

2006-01-04 16:59:21 (in Berlin, Germany)

Debian + PHP + Oracle

Here is what I did to let my (command line) PHP connect an Oracle database. First I downloaded the Instant Client and converted it to Debian (everything done as root):
apt-get install alien
alien oracle-instantclient-basic-10.2.0.1-1.i386.rpm
alien oracle-instantclient-devel-10.2.0.1-1.i386.rpm
alien oracle-instantclient-sqlplus-10.2.0.1-1.i386.rpm
Then I installed the packages and repaired all the file ownerships/permissions since they were unusable (might be solvable with alien):
dpkg -i oracle-instantclient-basic_10.2.0.1-2_i386.deb
dpkg -i oracle-instantclient-devel_10.2.0.1-2_i386.deb
dpkg -i oracle-instantclient-sqlplus_10.2.0.1-2_i386.deb
chown -R root.root /usr/lib/oracle /usr/include/oracle /usr/share/oracle
chmod -R go+r /usr/lib/oracle /usr/include/oracle /usr/share/oracle
find /usr/lib/oracle /usr/include/oracle /usr/share/oracle -type d -exec chmod go+rx {} \;
Everything is installed in those three directories (plus the Debian specific doc fragments). Now the libraries are to be made known to everyone. Edit /etc/ld.so.conf and add:
/usr/lib/oracle/10.2.0.1/client/lib
Now update the linker cache:
ldconfig
The PHP extension itself is installed with PHP Pear/PECL:
apt-get install php4-pear
pear install oci8
When prompted, type instantclient,/usr/lib/oracle/10.2.0.1/client/lib. After the extension is installed, activate it by editing /etc/php4/cli/php.ini and adding
extension=oci8.so
This will install the most current API version, so even the stuff marked as being PHP 5 works in PHP 4. This should work with CGI/Apache-Versions of PHP, just make sure ldconfig has been run before the server starts.

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: english, Linux

2006-01-03 00:47:48 (in Berlin, Germany)

Rache

Ich habe mich am Abend mit ein paar Freunden getroffen und wir haben uns nett unterhalten. Auf dem Weg nach Hause hat mir mein Freund Helli einen riesigen, matschigen, ekligen Schneeball an den Kopf geworfen, als ich gerade mein Fahrrad befreite. Haette ich nicht gerade meinen Helm auf dem Kopf gehabt, haette das sehr, sehr weh getan. Deswegen nun:

Posted by Raimund 'Raimi' Jacob | Permalink | Categories: deutsch, Life