planet

Petition zu den grünen Enthaltungen bei der Entscheidung zum ZugErschwG

on 01.07.2009 12:40:00 | falsepositive
Ich hatte das Tab schon tagelang auf und war trotzdem noch nicht dazu gekommen, die Petition Netzsperren: Grüne kritisieren Enthaltungen mal zu lesen geschweigedenn zu unterschreiben.

Der Freitag zwitscherte mir den Artikel Acht Thesen zu den Folgen der #zensursula-Debatte, in dem noch mal mit dem Zaunpfahl gewunken wurde, sodass ich jetzt unterzeichnet habe. Und die Liste ist der Hammer, ich kenne einige der UnterzeichnerInnen (teils persönlich, teils übers Netz) und bei vielen wusste ich gar nicht, dass sie Grünen-Mitglieder sind.

Aber diese UnterzeichnerInnenliste erweckt bei mir um ein Weiteres den Eindruck: Die am Deutschen Parlament beteiligten Parteien haben den Schuss nicht mitbekommen. Quer durch die Gesellschaft ziehen sich die Gegner der Zensurinfrastruktur und ich prophezeie einfach mal, dass das Echo des Schusses nach der Bundestagswahl noch mal bei den Wahlverlierern vorbei kommen wird und sie es hören.

Realistisch gesehen ist die Gruppe derer, die ihre Wahlentscheidung aufgrund der aktuellen Themen verändern werden, zwar immer noch ein kleiner Bevölkerungsteil - aber er ist wesentlich größer als die Petition usw. vermuten lassen.

Also wird zumindest in Randbereichen eine Verschiebung stattfinden. Die SPD wird aus verschiedenen Gründen und wegen der Zustimmung zur Abschaffung des Rechtsstaats (aka ZugErschwG) massiv Stimmen in Richtung Grüne, FDP, Linke und Piraten verlieren. Da die erzkonservative Stammkundschaft der CDU/CSU nicht bröckeln wird, erleben wir dann für die nächsten vier Jahre Schwarz-Gelb mit einer in Bürgerrechtler und Einknicker gespaltenen FDP. Und mit ein ganz klein wenig Glück schaffen es die Piraten über die 5%-Hürde hinweg in den Bundestag.

Selbst wenn nicht, wäre ein Ergebnis von vielleicht 3% realistisch und könnte ein Signal setzen.

PS: Ha. Eins sollte ich vielleicht noch schreiben: Aus der Haltung einiger Grüner (Tempelhof-Besetzung, ZugErschwG, ..) lassen sich selbstverständlich Koalitions-Flirtereien mit der CDU/CSU erkennen. Bei Schwarz-Grün oder Jamaika kriegt ihr meinen Austritt.

Resümee der Demo "Zensursula gegenübertreten!"

on 26.06.2009 20:16:00 | falsepositive
Demo "Zensursula gegenübertreten!"

Zensursula gegenübertreten!Trotz des kalten Autowaschanlagenwetters fand ich cool, dass von Anfang bis zum Ende ca. 50 Leute da waren und die Stellung gehalten haben, um zu Handeln statt Wegzusehen.

Gegen 17:15 ging die Veranstaltung los, Zensuschi betrat das Gebäude und widmete sich kurz Ver.di, die mit ca. 10 Leuten vor dem Gebäude standen und auf die KiTa-Steiks aufmerksam machten. Gegen 18:00h hatte jemand herausgefunden, dass der Veranstaltungsraum eine Halle in einer Gebäudenische war, die man von außen über eine Treppe erreichen konnte. Außerdem hatte die Halle eine Glasfassade, sodass sich dann Piraten, Chaoten und Transpis dort versammelten und laut auf sich aufmerksam machten.

Leider gab es da Rollos, die bald heruntergelassen wurden, jedoch nicht ohne dass es jemandem gelang, ein Plakat zwischen Scheibe und Rollo zu hinterlassen.

Da der anfangs recht stressig erscheinende Polizist sich in dem Moment schon auf die Gruppe zubewegte, schlug ich dann vor, doch wieder nach vorne zu ziehen, damit wir *überhaupt* weiter demonstrieren dürften und er uns nicht einfach auflöst.

Ich unterhielt mich dann mit dem Polizisten und fragte einfach mal inwiefern er über das Thema überhaupt bescheid wisse. Es stellte sich heraus dass er durchaus gewisses Verständnis hatte. Irgendwann sagte er dann (sinngemäß), dass Sperren statt Löschen ja auch entsprechend geneigten Politikern helfe..

Währenddessen war wohl jemand, der *angeblich* aus dem Presse-Stab von Zensuschi war, auf die Gruppe zugegangen und hatte gesagt, die Veranstaltung drin sei unterbrochen worden und Zensuschi wolle mit uns reden.

Das führte in der Gruppe für die nächste Stunde zu heftigen Diskussionen (was nebenbei den Protest zum Erliegen kommen ließ), inwiefern man jetzt auf das "Angebot" eingehen sollte.

Zensuschi herselfSpäter darauf angesprochen konnte sie sich nicht erinnern, so ein Gesprächsangebot gemacht zu haben.

Sie kam aber aus dem Gebäude heraus auf die Gruppe zu und sprach mit jemandem, der bereit war, Gesicht und Argumentationskraft für sie aufzuwenden. Ein Video davon gibt's auch.

Dabei kam dann aber von ihr nur ein ums andere Mal: Sie unterhalte sich nur mit "unserer Sprecherin Franziska Heine". Die sei schließlich Initiatorin der Petition.

Nachdem sie dann weg war, gingen die Gespräche weiter und ich hörte bei zwei, drei Leuten gewisse Frustration raus. Deswegen noch kurz:

Was wir gemacht haben, war klasse. Wir haben das Thema hoch gehalten und wir machen das jetzt weiter so, weil wir mit der Zensurinfrastruktur nicht einverstanden sind.

Die inhaltliche Arbeit muss auf persönlicher Ebene (direkte Gespräche mit PolitikerInnen und Parteien) weiterlaufen. Dazu ist es aber nötig, dass sie weiter durch Proteste unterstützt und untermauert wird.

Insofern war die Demo gestern ein voller Erfolg und sie war, wichtig für die Bewegung und unsere Arbeit gegen die Zensur.


Update: Es gibt einen Podcast der Körber-Stiftung [Teil 1] [Teil 2], ich konnte ihn aber noch nicht hören.

Update 2: Fotos von Cheshirecat.

Von Schwarzen und Weißen Hüten

on 24.06.2009 23:12:00 | falsepositive
Gar nicht schlecht, dieser 23:50-minütige (sic!) Beitrag beim SWR2-Dschungel (der allerdings schon im April lief), bei dem es endlich mal korrekt und sympathisch dargestellt um Hacker geht. fx, Harald Welte und andere sind dabei.

Bis auf die nervige pseudo-Computerstimme, die die Sendung moderiert und "schwer verständliches" erklärt ist die Sendung sehr nett und ausgewogen geworden.

Ist ja aber auch nur für Kinder, da geht es um einen Bildungsauftrag, nicht um Verbreitungszahlen und Schlagzeilen.

Zensursula gegenübertreten - Hamburg, 25.06.09, 17:00 Uhr

on 22.06.2009 14:51:00 | falsepositive
Am Donnerstag (25.06.2009) ist Zensuschi in Hamburg bei der Körber-Stiftung, um mit Jörg Thadeusz über das Thema Alter verbindet Generationen zu... wasauchimmer.

Für diejenigen, die an die Generationslücke glauben, mag das der thematische Anknüpfungspunkt sein, um angesichts der Anwesenheit der heiss geliebten, künftig ehemaligen Familienministerin ein bisschen Krach zu machen.

Also lasst uns Zensursula gegenübertreten, demonstrieren und BesucherInnen des Vortrags Informationen zur Frau Ministerin vermitteln:

Zensursula gegenübertreten
Donnerstag, 25. Juni 2009, 17:00 Uhr
Körber-Stiftung
Kehrwieder 12, Hamburg (U3 Baumwall)

Aus Bremen fährt um 15:28 Uhr (am Hbf) ein Metronom nach Hamburg, in dem ich zu sitzen plane.

Bremen: Löschen statt Sperren - Zensi Zensa Zensursula

on 20.06.2009 20:29:00 | falsepositive
Fremdscham ist gar kein Ausdruck, wenn man dieses Lied hört ;)

Aber ehrlichgesagt treibt es das Gefühl nur auf die Spitze, dass vorgestern eben Happy Go Lucky-Politik gemacht wurde, gegen Kinderfresser und, wie las ich eben so schön in nem Tweet: Raubmordkopierterroristen.

Deswegen waren wir heute in ganz Deutschland zu hunderten auf der Straße, auch in Bremen. Ich hatte zunächst mit vielleicht 15 Leuten gerechnet, es waren dann pessimistisch geschätzt 60 bis, optimistisch, 100, was für einen Tag Mobilisierung meiner Meinung nach echt der Hammer war.

Okay, wir hatten keine Sprüche vorbereitet, aber wie soll man auch das Zugangserschwerungsgesetz in eine catchy phrase stecken?

Löschen / statt Sperren / Zensur hilft keinem Kind

und

Keine Zensur / Infrastruktur

sind es dann geworden. Naja und Zensi / Zensa / Zensursula, allerdings ohne "Melodie" und so, dass ich dachte, H. hätte sich das grade spontan ausgedacht. (Oder hat er?)

Und selbstverständlich hatten wir für die "Abschlusskundgebung" auf dem Hillmannplatz auch keine RednerInnen und ich auch keine Rede vorbereitet, also hab' ich mich für's Eis bedankt, das mir jemand in die Hand drückte und nachdem das fertig gegessen war, versucht zusammenzufassen, wieso wir eigentlich jetzt da waren.

Alles in allem war die Demo für mich ein wahnsinniger Erfolg - vielen Dank an alle, die dabei waren.

Hello world!

on 18.06.2009 21:46:00 | Hoppus

Hier entsteht gerade die neue Hoppus seite… noch ist alles in arbeit

Avatare, User-Bilder, Texte zensieren!

on 18.06.2009 14:42:00 | falsepositive
Eine Zensur findet statt.

Zeigt es indem ihr euch vorsorglich schon mal selbst zensiert!

S******** R*****

Nie im Leben würde ich zu Springer geh'n

on 18.06.2009 13:30:00 | falsepositive
Man muss wissen, ich hatte als Schüler seit ich vielleicht 15 Jahre alt war Ambitionen, zu schreiben, bin über eine selbstverfasste Zeitung und ab 2000 eine News-Seite über Linux und Freie Software (man hätte es wohl auch Blog nennen können) aber nicht hinaus gekommen.

Jedenfalls erinnere ich mich an ein Gespräch mit meinem Vater, in dem er meinte, als junger Journalist hätte man bei der BILDzeitung viel zu lernen. Jetzt muss ich meinen Vater in Schutz nehmen: Er gehört eher zum konträren Spektrum, er meinte das glaube ich nur gut :)

Und wenn ich mit 17 mal fand, dass die Berichterstattung bei Boulevard-Magazinen auf RTL zwar beknackt, aber mitreissend war, so fand ich das auf einer rein technischen Ebene.. Genau so schätze ich auch ein, dass mein Vater das meinte. Spannende, durch Kleinigkeiten der Formulierung höchst manipulative Texte. Polemik, Hetze, Wirgefühl. Das kann die BILDzeitung.

Und jetzt muss ich noch eben klarstellen, dass ich kein Fußballfan bin und kein Fan der Toten Hosen. Mich hat dieses Lied also nie mehr interessiert als insofern, dass es eben ganz nett ist und Schwung hat. Gefällig. Sozusagen.

Also sie würden nie zu Bayern gehn und so. Ich komme mal auf den Punkt:

Es kann soviel passieren,
es kann soviel geschehen.
Nur eins weiss ich hundertprozentig:
nie im Leben würde ich zu Springer gehen.

Ich meine, wenn ich 20 wär
und Volontär beim Weserkurier
und die Spex hätte schon angeklopft,
und die Redaktion der FAZ.
Und ich hätt auch schon für die ZEIT geschrieben
und wär rhetorisch topfit
und Kai Dieckmann würde bei mir
auf der Matte stehen.

Ich würde meine Tür nicht öffnen,
weil's für mich nicht in Frage kommt,
sich bei so Leuten wie der BILDzeitung,
seinen Charakter zu versauen.

Ich würde nie zur Axel Springer Presse gehen!
Ich würde nie zur Axel Springer Presse gehen!
nach Bayern (Die Toten Hosen)

Also. Nicht kaufen, nicht interviewen lassen, nicht für die schreiben. Gar nichts von und für die. Höchstens um deren Hetzjagden zu archivieren und dokumentieren.

Nagios Plugin to monitor BOSH services

on 17.06.2009 17:29:00 | a little bit of zeank

Enjoy!


#!/usr/bin/perl -w
#
# check_bosh plugin for nagios
#
# usage:
# check_bosh -U url -H host
#
# Check if bosh service running at specified address
#
# initial version: 3 May 2000 by Truongchinh Nguyen and Karl DeBisschop
#
# current status: $Revision: 1196 $
#
# Copyright Notice: GPL
# $Id: check_bosh.pl 1196 2009-06-17 15:20:46Z s.strigler $
#

use strict;
use lib "/usr/lib/nagios/plugins";
use utils qw($TIMEOUT %ERRORS &print_revision &support);
use vars qw($PROGNAME);
my ($verbose,$host,$response,$state);
my ($opt_V,$opt_H,$opt_h,$opt_U);
$opt_V = $opt_h, $opt_h = $opt_U = '';
$state = 'UNKNOWN';

$PROGNAME = "check_bosh";
sub print_help ();
sub print_usage ();

$ENV{'BASH_ENV'}='';
$ENV{'ENV'}='';
$ENV{'PATH'}='';
$ENV{'LC_ALL'}='C';

use Getopt::Long;
Getopt::Long::Configure('bundling');
GetOptions(
"V" => \$opt_V, "version" => \$opt_V,
"h" => \$opt_h, "help" => \$opt_h,
"U=s" => \$opt_U, "url=s" => \$opt_U,
"H=s" => \$opt_H, "host=s" => \$opt_H,
"v+" => \$verbose, "verbose+" => \$verbose
);

# -h means display verbose help screen
if ($opt_h) { print_help(); exit $ERRORS{'OK'}; }

# -V means display version number
if ($opt_V) {
print_revision($PROGNAME,'$Revision: 1196 $ ');
exit $ERRORS{'OK'};
}

# -U means URL
unless ($opt_U) { print_usage(); exit $ERRORS{'UNKNOWN'}; }

# -H means host name
unless ($opt_H) { print_usage(); exit $ERRORS{'UNKNOWN'}; }

if (! utils::is_hostname($opt_H)){
print "$opt_H is not a valid host name\n";
print_usage();
exit $ERRORS{"UNKNOWN"};
}

# Just in case of problems, let's not hang Nagios
$SIG{'ALRM'} = sub {
print ("ERROR: No response from RPC server (alarm)\n");
exit $ERRORS{"UNKNOWN"};
};
alarm($TIMEOUT);

$state = &check_bosh($opt_U, $opt_H);

if ($state eq 'OK') {
print "$state: BOSH service at $opt_U up and running\n";
}elsif ($state eq 'WARNING') {
print "$state: BOSH service not working correctly. Bad hostname given?\n";
}else{
print "$state: BOSH service at $opt_U is not running\n";
}
exit $ERRORS{$state};

sub check_bosh() {
my $url = shift;
my $host = shift;

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;

my $req = HTTP::Request->new(POST => $url);
$req->content_type('text/xml; charset=utf-8');
my $payload = "“;
print “SEND: “, $payload, “\n” if($verbose);

$req->content($payload);

my $res = $ua->request($req);

if ($res->is_success) {
print “RECV: “, $res->content, “\n” if ($verbose);

if ($res->content =~ /type=’terminate’/) {
return ‘WARNING’;
} elsif ($res->content =~ /sid=’([^']+)’/) {
$req = HTTP::Request->new(POST => $url);
$req->content_type(’text/xml; charset=utf-8′);

$payload = ““;
print “SEND: “, $payload, “\n” if($verbose);
$req->content($payload);

$res = $ua->request($req);

if ($res->is_success) {
print “RECV: “, $res->content, “\n” if ($verbose);
}
else {
print $res->status_line, “\n” if ($verbose);
return ‘CRITICAL’;
}
}
}
else {
print $res->status_line, “\n” if ($verbose);
return ‘CRITICAL’;
}

return ‘OK’;
}

sub print_help() {
print_revision($PROGNAME,’$Revision: 1196 $ ‘);
print “Copyright (c) 2009 Stefan Strigler\n”;
print “adopted from check_rpc by Karl DeBisschop/Truongchinh Nguyen/Subhendu Ghosh\n”;
print “\n”;
print “Check if bosh service is up and running\n”;
print “\n”;
print_usage();
print “\n”;
print ” URL of bosh service\n”;
print ” XMPP host name\n”;
print ” [-v] Verbose \n”;
print ” [-v -v] Verbose - will print supported programs and numbers \n”;
print “\n”;
support();
}

sub print_usage () {
print “Usage: \n”;
print ” $PROGNAME -U url -H host [-v]\n”;
print ” $PROGNAME [-h | --help]\n”;
print ” $PROGNAME [-V | --version]\n”;
}

Offener Brief an Marieluise Beck: Abstimmung zum Thema Internetsperren

on 17.06.2009 11:04:00 | falsepositive
Liebe Marieluise,


ich bin Sebastian Raible, studiere im siebten Semester Informatik an der
Uni Bremen und bin seit 2003 Grünen-Mitglied.

Heute schreibe ich dir aber in meiner Funktion als Mitglied im Chaos
Computer Club e.V. und Vorstandsmitglied im Chaos Computer Club Bremen
e.V. sowie als Aktiver beim Arbeitskreis gegen Internetsperren und
Zensur und beim Arbeitskreis Vorratsdatenspeicherung.

In den vergangenen vier Wochen haben wir in Bremen massiv angefangen,
uns mit dem Thema Internetsperren zu beschäftigen. Denn unserer Meinung
nach sind die Sperren nicht nur das falsche Mittel für den Zweck, der zu
ihrer Legitimation angeführt wird. Sie sind schon jetzt auch dafür
vorgesehen, sie auf andere Bereiche auszudehnen.

Lass mich nur noch ganz kurz und oberflächlich auf die technische Seite
eingehen:

Wir müssen feststellen, dass - und so ist das auch im Gesetzentwurf zu
lesen - die jetzt geplanten Sperren lediglich zu einer "Erschwerung des
Abrufs" im Stande sind.

Will man Inhalte effektiv filtern, muss man in nächster Instanz tiefer
in die Netzwerk-Struktur eingreifen und die Vermittlung von Paketen an
bestimmte Zielrechner verhindern.

Da sich auch diese Sperre durch das Wechseln der IP-Adresse umgehen
ließe, müsste man dann anfangen, alle Inhalte, die über das Internet
übermittelt werden, einzeln auf Strafbares zu prüfen. Dazu müsste man
Verschlüsselung verbieten.


Die Zulassung der jetzt geplanten Sperren bedeutet unweigerlich den
Einstieg in eine Zensur-Spirale, an deren Ende ein Filtersystem stünde,
das wirksamer wäre als das in China.


Ich möchte damit nicht polemisch klingen, für mich und die
Unterstützerinnen und Unterstützer der Petition gegen die "Indizierung
und Sperrung von Internetseiten" ist dies aber die ganz klare
Konsequenz, wenn man ein funktionierendes Filtersystem für das Internet
umsetzen möchte, da andere Herangehensweisen unwirksam wären.

Was die Darstellung von tatsächlichem oder fiktivem Kindesmissbrauch und
- -misshandlung angeht, gibt es in Deutschland, in der EU, den USA, Kanada
und Australien eine Gesetzgebung mit schweren Straftaten für die
Verbreitung und Herstellung dieser Materialien.

Ich zähle diese Länder auf, weil sich nachgewiesen die Mehrzahl der in
Skandinavien blockierten Inhalte auf Servern in diesen Ländern befinden.

Es muss also auf Grundlage der bestehenden Gesetze und internationalen
Rechtshilfeabkommen gegen die Verbreitung und vor allem die Herstellung
der Darstellungen vorgegangen werden.

So würde effektiv erreicht, was die Sperren nicht leisten können.

Indem gegen die Urheber und Verbreiter vorgegangen wird, werden
gleichzeitig alle Kommunikationskanäle ausgetrocknet. Egal, ob sie
kontrolliert und gefiltert werden oder nicht.

Ich möchte dich deswegen, im Namen des Chaos Computer Club Bremen und
seiner Mitglieder, darum bitten, gegen die Sperrung von Internetseiten
zu stimmen und dich stattdessen für

a) die Stärkung von Präventionsangeboten für Pädophile, die keine
Straftäter geworden sind,
b) die Förderung der Ursachen- und Wirkungsforschung,
c) die Verbesserung der personellen und finanziellen Ausstattung von
Strafverfolgungsbehörden im Bereich von Sexualstraftaten und
d) die Reform der Strukturen in den Strafverfolgungsbehörden, damit
sexualisierte Gewalt gezielter verfolgt werden kann

stark zu machen und gegen die Sperrung von Internetseiten zu stimmen.


Zu diesem Thema würde ich mich freuen, auch mit dir persönlich in
Kontakt zu treten.


Mit freundlichen Grüßen
Sebastian

Fünf Antworten für Monika Griefahn

on 16.06.2009 21:58:00 | falsepositive
Fünf Antworten auf Monika Griefahns Pressemeldung zum "Erfolg" der SPD mit dem ZugangsErschwerungsGesetz:


  1. Die Befristung von Gesetzen bewirkt regelmäßig nur die Verschärfung oder die Streichung der Befristungen.

  2. Die beschlossene Zensurinfrastruktur wird ohne Zweifel mittelfristig auf andere Bereiche ausgedehnt, wie Ihnen die CDU triumphierend in ihrer Klare Kante-Pressemitteilung mitteilt. (von der Vergewaltigung und Erniedrigung kleiner Kinder bis hin zu Urheberrechtsverletzungen)

  3. Punkt 2 ist insbesondere in Verbindung mit einem zu erwartenden Mehrheitswechsel nach der Bundestagswahl besonders kritisch, von anderen Mehrheiten ganz zu schweigen.

  4. Die SPD lässt sich auf zweierlei Weise instrumentalisieren. Einerseits als Erfüllungsgehilfe und andererseits als Hilfe für die CDU, einen vernünftigen, rechtsstaatlichen Gesetzentwurf vorzulegen. Sie verpasst das Distinktionsmerkmal für Bundestagswahl, das unmittelbar die Netz-Gemeinde auf Ihre Seite geschlagen hätte und als emotionales Thema die CDU als Zensur-Partei und ihre hinter Verbalkeule versteckte Inkompetenz entlarvt.

  5. Ihnen fehlt schlicht die Gesetzgebungskompetenz und das wurde Ihnen schon so oft konstatiert, dass Ihr "Erfolg" schlicht peinlich ist.

Offener Brief an die Bundesministerin für Familie, Senioren, Frauen und Jugend bezüglich Ihrer Rede bei der Verleihung des Preises für soziales Engagement des Studentenwerks Hannover

on 14.06.2009 18:19:00 | falsepositive
Sehr geehrte Frau von der Leyen,


ich werde jetzt mal so tun, als hätten Sie am Freitag bei Ihrer Laudatio zur Verleihung des Sozialpreises des Deutschen StudentenwerksStudentenwerkspreis für soziales Engagement des Studentenwerks Hannover direkt mich angesprochen, obwohl ich weiss, dass Sie nicht mich persönlich angesehen haben sondern in die Richtung der Gruppe von Demonstrantinnen und Demonstranten sprachen.

Ich möchte mir über dies nicht anmaßen, für alle Anwesenden zu sprechen.


Falls Sie sich nicht erinnern sollten, was sie gesagt haben, ich habe nach bestem Wissen und Gewissen versucht, ihre Rede zu transkribieren. Leider war die Aufnahme am Anfang nicht ganz vollständig.

Das Bild, das Sie gleich zu Anfang benutzen, hat einen gewaltigen Fehler, den ich Ihnen mit meinem Zuruf versuchte, zu verdeutlichen. In der Argumentation, die ich in den vergangenen Wochen benutzt habe, funktioniert das Bild wie folgt:

Wenn in einer Videothek illegale Videos gehandelt werden, gehe ich nicht hin, hänge die Fenster zu und sperre den Stadtteil ab. Ich gehe rein, beschlagnahme die Materialien und gehe gegen Urheber, Besitzer und Verbreiter vor.

Daraus, dass Sie und Ihr Kollege Herr Schäuble (wie auf dem Kirchentag geschehen) bei jeder Gelegenheit, bei der Sie mit einer ablehnenden Haltung zu den von Ihnen geplanten Sperren konfrontiert werden, wieder die selben ekelhaften Bilder heranziehen, schließe ich, schloss Ihr Nachredner und schlossen - so hoffe ich - auch zumindest ein Teil der Anwesenden, dass Sie sich der Kritik nicht stellen wollen.

Der Versuch, uns ein ums andere Mal in die Ecke von Vergewaltigern und Kinderquälern zu stellen, funktioniert aber garantiert am Stammtisch.

Dort funktioniert vermutlich das Kurzzeitgedächtnis nicht gut genug, um zwischen

Sie sind verantwortlich dafür, dass die Bilder von vergewaltigten Kindern [(weiter im Internet zugänglich bleiben?)]

und dem kurze Zeit vorher geäußerten, Appell

wenn Sie Ihre Fachlichkeit, Ihre Fähigkeit als Chaos Computer Club im Internet einsetzen würden, um genau dieses zu verhindern, dann wäre Ihr Engagement an der richtigen Stelle

die Diskrepanz zu erkennen und Ihre zur Schau gestellte Versönlichkeit als bloße rhetorische Spielerei zu entlarven.

Ich kann es nicht hinnehmen, dass Sie als Bundesministerin große Teile der Bevölkerung mit falschen Behauptungen füttern und öffentlich ein ums andere Mal auf übelste Art und Weise Ihre Gegner diskreditieren. Das sollten Sie vor dem Hintergrund der Medienpräsenz, die Ihnen zuteil wird, nicht nötig haben.

Ihr Verhalten ist würdelos und bei Weitem dem Amt einer Bundesministerin nicht würdig. Daher fordere ich Sie hiermit auf, von diesem Amt zurückzutreten.


Mit freundlichen Grüßen
Sebastian Raible

Zensursula und die Verbalkeule

on 13.06.2009 21:17:00 | falsepositive
Von Zensuschi wurde schon früher geschrieben, wie manipulativ und platt ihre "Argumentation" sei, doch es fiel mir schwer, mir davon so ein Bild zu machen, wie ich es mir gestern machen durfte.

Eigentlich waren wir zum Sommertreffen des AK-Vorrat in Hannover unterwegs gewesen. Beim Kulturzentrum Faust angekommen, fanden wir dann aber, als wir endlich das riesige A4-AK-Vorrat-Schild entdeckt hatten, nur den Verweis "Wir sind bei Zensursula an der Uni" mit Wegbeschreibung und Handynummer von M. aus H.

Die Laienministerin war als Laudatorin für den Sozialpreis des Deutschen StudentenwerksStudentenwerkspreis für soziales Engagement des Studentenwerks Hannover eingeladen, die Veranstaltung war offen, also waren AK-Vorrat, CCC Hannover, S. und ich vom CCC Bremen und jede Menge FachschaftlerInnen und AStA-Sumpf aus Hannover vor Ort, viele davon mit Zensursula-Shirt "under cover", das durch das Ausziehen des Hemdes noch effektvoll zur Schau gestellt werden konnte.

Als Zensuschi dann die Bühne enterte, enterten AStA-Aktivisten die Ballustrade hinter der Bühne und hingen ein Transparent mit dem Zensursula-Logo und den Worten

Zensursula liest das Plakat
Erst wenn die letzte Kritik zensiert, die letzte Satire gelöscht und der letzte Internet-User erfasst ist, werdet ihr merken, dass es im Netz immer noch Kinderpornografie gibt.


auf. Der aus unseren Reihen aufklingende Applaus machte Zensuschi darauf aufmerksam und sie wandte sich uns zu, erklärte, dass wir hier gegen die Zensur protestieren würden (nicht in den Worten) und erklärte dann mit ganz vielen Bildern, worum es eigentlich geht.

M. vom AK-V Hannover hat dann sein Diktiergerät eingeschaltet und hier ist das Transkript der Aufnahme:

Zensursula: Das sind die Leute...
[unverständlich] .. ob in der Universitätsbibliothek eine DVD ausgeliehen werden kann, wo ein zweijähriges Kind von einem Mann vergewaltigt wird [Ruf: Und Sie dann die Tür zuhalten!], wo man sieht wie das Kind gequält, mit einem Besen missbraucht wird. Wir können darüber sprechen, ob Missbrauch selbstverständlich für diese Gesellschaft wäre, dass in jedem Buchladen dieses ausliegt [Ruf: Darum geht's überhaupt nicht.] Ich bin der festen Überzeugung, meine Damen und Herren, die Würde des Menschen ist unantastbar und das gilt Online genau so wie Offline.

Ich bin der festen Überzeugung, dass diese Gesellschaft es sich nicht leisten kann [Applaus], dass [unverständlich] und die Würde eines Kindes, das missbraucht wird mit jedem Klick wieder geschändet wird. Aber das ist das schöne. Das ist gelebte Demokratie. Ein freies Land, in dem wir diese Auseinandersetzung auch miteinander führen. Ob es richtig ist, zu sagen, wir bündeln unsere Kräfte, um dieses Grauen - hier in Deutschland - zu ächten aber auch weltweit zu bekämpfen oder ob wir die Kräfte darin bündeln, dies zu verhindern und damit zu sagen, "diese [Dinge?] sollen weiter zugänglich sein".

Das ist gelebte Demokratie. Damit komme ich gerne zurück auf den Teil dieses Abends, der auch gelebte Demokratie ist. Das bürgerschaftliche Engagement, das hier heute Abend ausgezeichnet wird, ist die Blüte der Demokratie. Denn in totalitären Staaten hat man Angst vor bürgerschaftlichem Engagement. Totalitäre Staaten würden es niemals zulassen, dass die Menschen für ihre eigenen Angelegenheiten einstehen, indem sie sich bürgerschaftlich engagieren. Totalitäre Staaten würden niemals die Auseinandersetzung so offen führen darüber, ob wir Kinderpornographie also die Vergewaltigung von Kindern, online, offline ächten in deser Gesellschaft oder ob wir sagen "Nein, wir wollen das zulassen weil [unverständlich (wir grundsätzlich?)] der Meinung sind, Freiheit im Netz heisst unbegrenzte Freiheit". Meine Vorstellung von Freiheit ist, dass sie da endet, wo sie die Freiheit anderer mit Füßen tritt, wo sie die Würde anderer mit Füßen tritt. Die Freiheit des einzelnen ist immer eine Freiheit, die sich bezieht auch auf die Freiheit des anderen.

Und deshalb ist es so wichtig, dass gerade auch in einer solchen Universität geschult wird, [wirklich gut,?] ausgezeichnet wird, die Menschen, die sich hinstellen und sich einsetzen - nicht nur für den eigenen Vorteil, sondern auch für den Vorteil und die Beseitigung des Nachteils anderer. Das sind die Menschen, die wir heute ehren. Menschen, die die Zeit geben, [2:52] Menschen, die Kraft geben, Menschen, die Engagement zur Verfügung stellen, neben ihrem Studium, neben all den täglichen Belastungen, auch Ausgaben die sie haben, zum eigenen Wohl sich für andere einzusetzen.

Die Preisträgerinnen und Preisträger heute helfen zum Beispiel Ausländischen Studierenden, sich hier bei uns zurechtzufinden, sich zu orientieren, eine Wohnung zu finden, das geht so weit, dass, wenn dieses nicht möglich ist, sie anderen ihre auch noch mit zur Verfügung stellen, bis eine [unverständlich] gefunden ist.

Oder die Selbsthilfegruppe für Blinde und Sehbehinderte, die es geschafft hat, dass die [juristische?] Fakultät Hilfskräfte zum Vorlesen für Sehbehinderte Studenten und Studenten einstellt.

Oder eben die Studentin, die eben schon erwähnt wurde, die sich im Vorstand der Elterninitiative der Krippenkinder für gute Kinderbetreuung an den Hochschulen einsetzt. Sie war es, und da sind wir beim Thema der Gleichstellung der Frauen, dass die Suche nach einer guten Kinderbetreuung für eine junge Familie im turbulenten Alltag mit kleinen Kindern und gleichzeitig Wünschen, Erwartungen, Hoffnungen an die Wissenschaft, die sie erforscht, an die Karriere, die sie anstrebt, an den Beruf, den sie ergreifen wollen, die [unverständlich (Sollbruchstelle ist?)] ist oder aber wenn gute Kinderbetreuung vorhanden ist, die Brücke bauen kann, dass junge Menschen ihren Weg schaffen. Also aktiv sein und Raum schaffen für das Gemeinsame, [4:33] in diesem Falle eine Studentin, für das gemeinsame Krippenprojekt und Herr [???], bei dem Thema Gleichstellung: Ja, es ist ein lohnendes Ziel dieser Universität zu sagen, wir wollen von 13% Frauen auf Professuren höher kommen, [unverständlich] 20%. Ich mache Ihnen gerne ein Angebot: Mit der gleichen Leidenschaft werde ich Ihren Wunsch bei der Bundesbildungsministerin vertreten, [unverständlich] zum Beispiel auch für soziales Engagement [unverständlich] wenn wir gleichzeitig hier in den Universitäten, [5:10] wo 50% Frauen und 50% Männer in den Studiengängern vertreten sind, auch sagen muss, so muss es sein, dass selbstverständlich im gleichen Verhältnis Männer und Frauen später, am Ende der Karriere in den Professuren sind und die Hälfte des Himmels gehört beiden Geschlechtern [...]


[Aus Zeit- und Frustrationsgründen hier nicht weiter transkribiert, es geht aber weiter um Engagement und wie wertvoll dies für die Gesellschaft aber auch lohnend für den oder die einzelne sei.]

[10:05] Und deshalb noch mal vielleicht ein Wort zu denen, die hier heute protestieren. Die dagegen protestieren, dass - ich sag's noch mal: [Ruf: Ja bitte.] Die Bilder von Kindern, die vor laufender Kamera geschändet werden, wo vor laufender Kamera in Kauf genommen wird, dass diese Kinder an inneren Verletzungen verbluten [Ruf: Das ist doch widerlich!], das sind genau die Themen die unter "Kinderpornographie" laufen, wenn Sie Ihre Fachlichkeit, Ihre Fähigkeit als Chaos Computer Club im Internet einsetzen würden, um genau dieses zu verhindern [Ruf: Das tun wir.], dann wäre Ihr Engagement an der richtigen Stelle.

[Applaus] Aber [unverständlich (das ist falsch...)] Ich wünschte mir, das Engagement, das Sie jetzt zeigen darin, dass Sie sagen: Unter keinen Umständen darf Recht, das in der realen Welt herrscht, in der virtuellen Welt auch herrscht, [unverständlich (absolut,... Chaos)], ich wünschte mir, dass Sie dieses Engagement einsetzen würden, um mit uns auf allen Ebenen den Kampf gegen Kinderpornographie zu führen. International die Täter stellen, international die Quellen schließen aber hier in Deutschland den Massenmarkt, der Leute in Deutschland weil wir ein reiches Land sind, weil dieses Land Zeit hat und weil die Kinderschänder wissen, dass in Deutschland über diese Websites an genau diese [unverständlich, (weil sie an diesen Geld verdienen?)] indem man die Leute da rein zieht, dieses zu bekämpfen. Das wäre etwas, was ehrenvoll wäre und tatsächlich ihrer [unverständlich] würdig wäre, meine Damen und Herren.

[Ruf: Sie wiederholen immer nur wieder die selben Platitüden!]

[unverständlich] diese Diskussion, denn diese Diskussion, darüber, wo darf der Staat und das Recht und die Gesellschaft sich einmischen und wo nicht, die haben wir genau so beim Thema Finanzkrise. Beim Thema Finanzkrise oder Finanzmärkte hieß es lange:

"Mischt euch nicht ein, das ist unsere Domäne, da habt Ihr nichts zu suchen, davon versteht Ihr nichts. Unsere Produkte sind unsere [unverständlich]
Finanzwelt."

Die Folgen sehen wir heute. Und deshalb zeigt es, dass die Aufgabe der Zukunft sein wird, Demokratie, Menschenwürde, Regeln, die Respekt vor einander aufzeigen, zu diskutieren und nicht nur in der realen Welt sondern genau so konsequent in der virtuellen Welt. Ich bin der festen Überzeugung, dass gerade diese, die hier heute sich engagieren,die bürgerschaftliches Engagement zeigen, die Zeit, Kraft, Ideen, Leidenschaft, Organisation, Kommunikation für dieses Engagement jeden Tag zur Verfügung stellen, diejenigen sein werden, die in Zukunft es auch gelernt haben, unsere Demokratie, das heisst, unser Zusammenleben so zu gestalten, dass eben nicht die [unverständlich] Ökonomie unser Land beherrscht, sondern auch darüber geht, wie die Verantwortung füreinander, gelebte Verantwortung füreinander, diesem Land das richtige Gesicht geben darf. Nicht in jeder, und nicht in jeder Lebenssituation und nicht ständig ist das eigenem Engagement zu verdanken, nein, ich will an dieser Stelle auch deutlich sagen, dass wir gerade beim bürgerschaftlichen Engagement immer wieder in das Spannungsfeld zwischen "Was ist Aufgabe des Staates" und "Was ist Möglichkeit, der Eigeninitiative". Ich bin heute morgen in Göttingen gewesen zum zehnjährigen Jubiläum des bundesweiten Tafeltreffen.

[Es ist gleichzeitig gut, dass es Tafeln und Kinderbetreuung von Freiwilligen gibt und gleichzeitig eine Schande, weil das Aufgabe des Staates ist. Aber wenn BürgerInnen aktiv sind, fordern sie ein, dass der Blick des Staates "auf diese Felder gelenkt wird".]

[Ruf: Stimmt, das machen wir ja schließlich auch hier.] [Klatschen]


Sie sind verantwortlich dafür, dass die Bilder von vergewaltigten Kindern [Ruf: Falsch.] [(weiter im Internet zugänglich bleiben?)] [Ruf: (Und Sie, dass sie versteckt werden.?), 16:12] Aber heute Abend sind nicht Sie dran, sondern heute Abend sind diejenigen dran, die sich tagtäglich [Applaus]

[Demographischer Wandel, alte Familienbilder, Pflege alter Angehöriger, Krise blah]

[Sie hat da noch einen persönlichen Wunsch: "bitte machen Sie weiter" - machen wir! Aber ich glaube, sie meint uns nicht.]

Weiter so, vielen Dank.

[Applaus]

[Demonstranten betreten die Bühne und wollen antworten, Applaus, der Veranstalter steht am Rednerpult:]

Haben Sie Verständnis dafür, wir haben hier einen Abend, um Studentinnen und Studenten, die sich ganz engagiert [unverständlich] für ihre Kommilitonen einsetzen, die mit ihren Freundinnen und Freunden und ihren Eltern hier sind. Es sind Gruppen da, die selber große Handicaps zu tragen haben und sich trotzdem für Dritte engagieren. Ich glaube, durch die [Diskussion] ist Ihr Anliegen, ich weiss dass, wenn Sie so wollen, sage ich jetzt hier mit, dass Sie auch Gegner der Kinderpornographie sind, dass Sie aber aus einem Datenschutzrechtlichen Ansatz die Politik, die verfolgt wird, für nicht richtig halten. Es stellt sie hier keiner in die Ecke der Kinderpornographie aber ich glaube, dass Frau Ministerin von der Leyen gut für sich und auch die Mehrheit in diesem Raum sehr deutlich gemacht hat, dass es Momente, Verhaltensweisen und Vorgänge gibt, wo die Freiheit, die [unverständlich] anderer und hier die von Kindern beeinträchtigt und dass da eine staatliche Agenda existiert, die dieses ausschließen muss. Und ich glaube, und ich bitte um Ihr Verständnis, meine Damen und Herren, dass ich dieses Thema bei allem Verständnis für die Offenheit der Hochschule als Diskussionsforum hier nicht weiter vertiefen möchte sondern dass ich mit dem, was wir mit unseren studentischen Preisträgerinnen und Preisträgern hier vorhaben, gern fortsetzen möchte. Ich bedanke mich.

[Applaus. Sehr, sehr souveräne, pluralistische, vorsichtig kritische Antwort.]

[Demonstrant auf der Bühne weist darauf hin, dass nicht nur der Chaos Computer Club anwesend ist und demonstriert hat sondern auch viele Einzelpersonen und StudentInnen. Er bittet die Anwesenden darum, sich mit dem Thema zu beschäftigen und sich eine eigene Meinung zu bilden. Applaus.]
Ursula von der Leyen am 12. Juni 2009 bei der Verleihung des
Studentenwerkspreis für soziales Engagement des Studentenwerks Hannover


Ich habe mich danach dann bei dem Herren, der die Verleihung der Preise durchgeführt hat und uns nach Zenuschis Rede fast heldenhaft und bemerkenswert deutlich in Schutz genommen hat, bedankt für seine souveräne und ausgleichende Reaktion, woraufhin er meinte, er hätte ja Verständnis, er hätte selbst als Student die eine oder andere Veranstaltung gesprengt. Wobei wir das natürlich nicht getan haben.. Jedenfalls lud er uns ein, zu bleiben und einen schönen Abend zu verbringen.


Nachdem ich mittlerweile etwas länger über die Reaktion Zensuschis nachgedacht habe, frage ich mich immer mehr, wieso sie uns nicht einfach ignoriert hat, gesagt hat, das sei an der Stelle nicht angebracht und ein anderes Thema.

Warum ging sie so außerordentlich lang auf uns ein, setzte an, zu ihrem eigentlichen Text zu kommen, nur um dann doch noch mal zu uns über zu schwenken?

Es waren (außer vielleicht privat im Publikum) keine Pressevertreter anwesend.

Ich glaube, wir haben sie deutlich aus dem Konzept gebracht. Damit hatte sie nicht gerechnet.


Update: Mittlerweile hat fefe die Bilder zugeschickt bekommen und auch die Fachschaftlerin, die mir Bilder schicken wollte, hat sie mir zukommen lassen, es sind die selben wie bei fefe. Danke K. :)

Update: Danke, Fritz, der Preis heisst "Studentenwerkspreis für soziales Engagement des Studentenwerks Hannover" und hat wohl direkt nichts mit dem DSW zu tun.

Piratenpartei will sich in Bremen gründen

on 01.06.2009 14:01:00 | falsepositive
Die Piraten in Bremen haben vergangenen Dienstag beschlossen, endlich einen Landesverband zu gründen.

Scheinbar sind jetzt auch endlich genug Leute zusammen gekommen, um die Gründung möglich zu machen.

03.06., 20.00 Uhr, Leierkasten: Annahme der Satzung, Wahl des Wahlleiters, Beschluss über Gründung am 24.06., Ort der Gründungsversammlung

17.06., 20.00 Uhr, Leierkasten: Planung der Gründung, Pressetext, mögl. Pressetermin usw.

24.06. Gründungsversammlung
Piratenpartei Bremen

Von Welten und Ideologen

on 01.06.2009 13:15:00 | falsepositive
Es ist gar nicht einfach, die ganzen Eindrücke der letzten drei, vier Wochen zu verarbeiten und sinnvoll in zusammenhängende Sätze zu stecken.

Es wäre so vieles zu sagen, auf so vieles zu antworten und so oft einzuschreiten. So vieles wäre weiterzuverbreiten und zusammenzufassen. Aber gleichzeitig erfordert es jede Menge Zeit, dies alles mitzubekommen, die Tweets zu lesen, die Mitschnitte zu gucken und Podcasts zu hören.

Von bloßen Linksammlungen, die zusammenfassen, was ich heute wieder zum Thema gelesen habe und was irgendwo vielleicht irgendwann noch mal nützlich sein könnte, halte ich nicht viel. Man muss Inhalte aufbereiten. Das Aufbereiten ist aber gerade das Problem.

Vielleicht liegt es auch daran, dass man in seriösen Zeitungen immer wieder Artikel liest, die von einer Unkenntnis zeugen, wie wir sie uns gar nicht erklären können.

Die Forderungen "an die Netzgemeinde" o.ä., doch mal Alternativen zu den Sperren anzubieten, beispielsweise (ZEIT: Wider die Ideologen des Internets!).

Es ist gar nicht einfach, seinen Forderungen Gehör zu verschaffen. Auch wenn wir vielleicht meinen, wir hätten alles umfassend dokumentiert: Meist sind die Informationen so verstreut oder so unzusammenhängend, dass ich mir vorstellen kann, wenn man nicht so tief "im Netz" drin ist, könnte es schwierig sein, da den Überblick zu behalten.

Gerade, wenn man dabei noch im Hinterkopf hat, nur "seriöse" Informationen verbreiten zu wollen. Bei Blogs ist es doch häufig so, dass man um die Seriösität der Inhalte nur aus Erfahrung weiss. Wenn einem die fehlt, nimmt man die Informationen womöglich überhaupt nicht wahr.

Aber das ist wiederum ja auch der Punkt: Seriosität muss anders bewertet werden und Informationsbeschaffung funktioniert heute anders.

Da prallen dann wirklich Welten aufeinander, wie Gero von Randow in der ZEIT im Artikel Geistesaristokratie schreibt.

PS: Zum Zusammenhalten von Informationen sind wohl am besten A-List-Blogs wie Netzpolitik geeignet.

Lustiger Spam

on 30.05.2009 16:27:00 | js' blog

Mit dem Spam wird immer lustiger. Soeben hat mich eine Spam-Mail erreicht, die vom Server, der zum Spam-Versand benutzt wurde, mittels SpamAssassin als Spam gekennzeichnet wurde. Das ist natürlich auch ein Weg, ausgehende Mails auf Spam checken und dann trotzdem versenden, statt das Open Relay zu schließen :D.

gajim is using mercurial

on 28.05.2009 23:07:00 | Fabian Fingerle
Some people are using the jabber client gajim out of subversion repo .... as told on the gajim website:
svn co svn://svn.gajim.org/gajim/trunk gajim
Sadly this information is outdated, cause gajim-devs switched to mercurial and nobody changed it on the official website.
On trac's wiki there is a page how to checkout the new repo:
hg clone http://hg.gajim.org/gajim gajim

I noticed this because of a bug in gajim's esession management which was unfixed in subversion and got fixed in mercurial.
Devs just waiting for translations and one last ticket to be closed to release gajim 0.12.2 ...

last.fu

on 28.05.2009 03:34:00 | plastik planet
wer haette ahnen koennen, dass hoergewohnheiten weitergegeben werden, wenn man sie einer kommerziellen vereinigung anvertraut. einer, die einem uebergroszen medienkonzern gehoert. wen zum teufel interessiert, was ich an musik zu mir nehme? die riaa. die wollten anhand der daten naemlich feststellen, wer sich das aktuelle u2 album (who cares?) vor release so anhoert. deny this, last.fm!

also.. vielleicht lohnt sichs ja, libre.fm anzusehen. oder lieber gleich die finger von sowas lassen?

update:
last.fm denies it. two times.

Zensursula in der FAZ

on 25.05.2009 21:46:00 | falsepositive
Wir sind Helden. Soviel steht auch für die FAZ fest. Nur dass die das wohl sarkastisch meinen.

[..] die laut dem Gesetzentwurf geplanten Stoppserver, die beim versuchten Zugriff auf kinderpornographische Inhalte ein Stoppschild zeigen sollen, könnten ins Visier von Hackern geraten. Recht schnell dürften nämlich deren IP-Adressen bekannt werden. Mit automatisierten Massenanfragen könnten die Server lahmgelegt werden. Der dabei produzierte Datenmüll würde die geplante Strafverfolgung zusätzlich erschweren.

FAZ: Internetszene: Wir sind Helden

Mal in verständliches Deutsch übersetzt und von Leyenhaftigkeit befreit:

Die "Stoppserver" können ja nicht erscheinen, wenn man ihre IP-Adresse nicht kennt. Die ganze Debatte dreht sich doch darum, die Namensauflösung per DNS auf diese "Stoppserver" umzubiegen. Ohne IP kein STOPP!schild.

Was bisher als eines der Horrorszenarien galt: Vorratsspeicherung der Daten von Surfern, die auf die gesperrten Seiten zugreifen und auf das STOPP!schild treffen, wird mit dem Euphemismus der "Strafverfolgung" beschönt. Welche Strafverfolgung denn, wenn ich kein Verbrechen begangen habe? Und fällt euch eigentlich auf, dass ihr die Beweislast umkehrt? Jemand hat nichts verbotenes gesehen, ihr habt keinen Beweis dafür dass er willentlich auf den Inhalt gestoßen ist und ihr wollt ihn strafverfolgen.

Zensursula-Petition: Argumentationshilfe

on 25.05.2009 16:12:00 | falsepositive
Als wir am 15.05.09 den Infostand zur Zensursula-Petition in der Bremer Innenstadt hatten, sprachen S. und ich mit zwei Musikerinnen, die sehr angetan schienen und uns auch zustimmten, dem Petitionstext so aber nicht folgen wollten.

In der Argumentation haben wir immer gesagt:
  • mehr Geld für die betroffenen Strafverfolgungsbehörden

  • mehr Geld für Präventionsangebote für Pädophile, die Kindern nichts antun wollen

  • keine Zensurinfrastruktur sondern gezielte Löschung der Inhalte und Verfolgung von Tätern auf Grundlage bestehender Gesetze


Im Laufe der drei Tage Kirchentag wurde mir dann klar, wieso die beiden Musikerinnen möglicherweise nicht unterschrieben hatten:

Diese Forderungen finden sich nicht in der Petition wieder, da diese sich nur gegen das Gesetz wendet.

Also bin ich im Laufe der Zeit dazu übergegangen, auch zu versichern, dass unsere Organisationen (CCC, CCCHB, FoeBuD, AK-Vorrat, weil ich für diese verschiedenen Organisationen als Ansprechpartner am Stand bzw. in der Stadt war) bei der Arbeit gegen die Zensur auch die nicht im Petitionstext enthaltenen Punkte weiter forcieren.

iPhone-Entwicklung auf PowerPC und ohne Apple-Zertifikat

on 15.05.2009 20:29:00 | js' blog

So, ich hatte ja vor einiger Zeit schon versprochen, mal eine Anleitung zu schreiben, wie man das iPhone SDK auf einem PowerPC zum Laufen bringt mit einem gejailbreakten iPhone, ohne, daß man ein Zertifikat von Apple braucht. Da ich jetzt letztens mal das iPhone SDK neu installiert habe (ich hatte eine Mischung aus dem für iPhone OS 2.2.1 und dem für iPhone OS 3.0 drauf), habe ich das ganze mal nebenher ein wenig dokumentiert, um daraus anschließend einen Blog-Eintrag zu machen. Ich werde das ganze in 2 Teile aufteilen: Einmal den Teil, um das SDK auf einem PowerPC zum Laufen zu bringen und dann den Teil, um das ganze auf einem gejailbreakten iPhone ohne Apple-Zertifikat laufen zu lassen.

Also, zuerst zur Installation des SDK auf einem PowerPC: Zunächst installiert ihr das SDK ganz normal über die beiliegende .pkg-Datei. Während der Installation ist das iPhone SDK selber ausgegraut, aber die Installation der anderen Komponenten klappt problemlos. Um jetzt das SDK nachzuinstallieren, müssst ihr folgende Pakete aus dem entsprechenden Unterverzeichnis manuell über ein Programm wie Pacific installieren:

DeveloperDiskImage.pkg
iPhoneDocumentation.pkg
iPhoneHostSideTools.pkg
iPhoneSDK2_2.pkg
iPhoneSDKHeadersAndLibs.pkg
iPhoneSimulatorPlatform.pkg
iPhoneSystemComponents.pkg

Ich habe hier bewusst die SDKs für iPhoneOS 2.0 und iPhoneOS 2.1 weggelassen, da man sie eigentlich eh nicht braucht. Um jetzt den Simulator nutzen zu können, muß man das Xcode Spec File für den Simulator anpassen. Das findet man unter /Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications/iPhone Simulator Architectures.xcspec. Dort gibt es eine Zeile „RealArchitectures = ( i386);“, die man durch „RealArchitectures = ( i386, ppc);“ ersetzt. Anschließend fügt man noch folgende Zeilen nach dem Intel-Kram hinzu:

    // G3
    {   Type = Architecture;
        Identifier = ppc;
        Name = "Minimal (32-bit PowerPC only)";
        Description = "32-bit PowerPC";
        PerArchBuildSettingName = "PowerPC";
        ByteOrder = big;
        ListInEnum = NO;
        SortNumber = 201;
   },

   // G4
   {   Type = Architecture;
       Identifier = ppc7400;
       Name = "PowerPC G4";
       Description = "32-bit PowerPC for G4 processors";
       ByteOrder = big;
       ListInEnum = NO;
       SortNumber = 202;
   },

   // G5 32-bit
   {   Type = Architecture;
       Identifier = ppc970;
       Name = "PowerPC G5 32-bit";
       Description = "32-bit PowerPC for G5 processors";
       ByteOrder = big;
       ListInEnum = NO;
       SortNumber = 203;
   },

Damit aber noch nicht genug. Anschließend müßt ihr noch codesign durch einen Wrapper ersetzen. Nennt also /usr/bin/codesign in /usr/bin/codesign.orig um und packt folgendes Script nach /usr/bin/codesign (Warnung: Das Script stammt nicht von mir, sondern von hier. Aber irgendwann werde ich das auch mal selber neuschreiben, weil es eben Perl ist):

#!/usr/bin/perl
$appDir = $ARGV[$#ARGV];
@tmpAry = split(/\//,$appDir);
$baseAppName = $tmpAry[$#tmpAry];
$baseAppName =~ s/\.app$//;
$realAppName = "$appDir" . "/$baseAppName";

$sign = 0;
for($b = 0; $b < $#ARGV; $b++) {
        if($ARGV[$b] eq "-s") {
                $sign = 1;
        }
}

$mums=`file $realAppName`;
if ($sign == 1 && $mums =~ /executable arm/) {
        #print "Signing armv6..\n"; 
        $dev = "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/";
        $tmp = "$appDir" . "/tmpbin";
        `$dev/lipo -create $realAppName -output $tmp`;
        `mv $tmp $realAppName`;
        system("/usr/bin/codesign.orig", @ARGV);
        `$dev/lipo -thin armv6 $realAppName -output $tmp`;
        `mv $tmp $realAppName`;
        system("rm $appDir" . "/CodeResources");
        system("cp $appDir" . "/_CodeSignature/CodeResources $appDir" . "/CodeResources");
        exit 0;
} else {
        exec '/usr/bin/codesign.orig', @ARGV;
}

Damit sollte der PowerPC-Teil abgeschlossen sein. Nun also zum Teil, Anwendungen ohne Zertifikat von Apple auf gejailbreakten iPhones installieren zu können:

Zunächst müßt ihr ein selbst-signiertes Zertifikat anlegen. Das geht am einfachsten über die Schlüsselbundverwaltung von OS X. Als Name wählt ihr einfach „iPhone Developer“ und als Typ Code Signing. Anschließend editiert ihr die Datei /Developer/Platforms/iPhoneOS.platform/Info.plist und fügt dort bei den OverrideProperties folgende Zeilen hinzu:

                <key>PROVISIONING_PROFILE_ALLOWED</key>
                <string>NO</string>
                <key>PROVISIONING_PROFILE_REQUIRED</key>
                <string>NO</string>

Nun müsst ihr auf dem iPhone noch via Cydia das Paket „MobileInstallation“ installieren und in der Info.plist eures Xcode-Projekts folgendes hinzufügen:

        <key>SignerIdentity</key>
        <string>Apple iPhone OS Application Signing</string>

So, jetzt sollte endlich alles laufen ;). Wenn ich was vergessen habe, mailt mir!

Debian wechselt auf glibc-Fork

on 06.05.2009 21:00:00 | js' blog

Endlich! Ich blogge ja normalerweise keine Sachen, die schon auf irgendwelchen großen Newsportalen oder bekannten Blogs standen, aber bei sowas muß ich einfach: Debian wechselt auf eglibc. Endlich hat es eine Linux-Distribution verstanden! Ich hoffe, viele andere werden folgen…

Kaputte Software

on 02.05.2009 02:46:00 | js' blog

Heute mal wieder aus der Reihe „Kaputte Software“: GCC unter OS X.

Mir fällt grade garnicht ein, was ich dazu noch sagen soll. GCC gefällt der Typ von super plötzlich nicht mehr, wenn es innerhalb eines @try-Blocks ist. Laut Google hatte wohl jemand das selbe Problem in Verbindung mit @synchronize, aber eine Lösung gabs da auch nicht. Der andere Treffer ist ein japanisches Blog und außer den beiden Treffern gibt es keine bei der Suche nach der Warnung, welche wegen -Werror zu einem Fehler wird. Also mußte ein dreckiger Workaround (siehe Commit) her… *seufz*

Man findet doch echt am laufenden Band etwas, wenn man an sowas wie libobjfw arbeitet und mal hinter die Fassade der ganzen Sachen schaut. Erschreckend, wie viele Compiler- und Runtime-Bugs man dann findet. Grade mit @try gibt es da einige in GCC (siehe z.B. den Workaround für einen Bug in GCC 4.0.1, evtl. aber nur mit Apple GCC). Oder so Sachen wie der Check in configure, ob @""-Literals eine unberechtigte Warnung machen, daß _OBJC_INSTANCE_0 definiert aber nicht benutzt würde (es ist eine von GCC selber definierte, intern genutzte Variable, die natürlich sehr wohl benutzt wird, nur eben nicht in dem Source-File, sondern in dem Code, den GCC generiert).

Boxen-Umtausch bei Conrad

on 23.04.2009 18:11:00 | js' blog

Soeben kam meine ausgetauschte linke Box. Nachdem der Hochtöner plötzlich seltsame Geräusche von sich gegeben hatte, hatte ich bei Conrad angerufen und gefragt, wie es denn mit Gewährleistung aussehe, da ich die Boxen noch kein halbes Jahr hatte. Dadurch habe ich dann zu meiner Überraschung herrausgefunden, daß es sogar 2 Jahre Garantie auf die Boxen gibt und sie sogar das Porto für das Hinsenden und Zurücksenden übernehmen! Also am Freitag eingeschickt und heute kam sie dann schon direkt per Post wieder. Funktioniert auch bestens, sie haben also nicht einfach die selbe wieder zurückgeschickt oder sowas ;). Muß sagen, bin echt begeistert! Also wenn ihr euch neue Boxen zulegen wollt, kann ich echt nur empfehlen, mal bei Conrad zu gucken.

GNU libobjc und Apple Runtime: Beide sind kaputt

on 19.04.2009 21:41:00 | js' blog

Wer mal wissen möchte, wie kaputt beide Runtimes sind, dem empfehle ich, mal folgende Commit Message zu lesen. Hier auch mein Bugreport bei GCC. Sie werden es nicht vor 4.5 fixen, wenn überhaupt.

Manhattan Mini Cam

on 18.04.2009 01:56:00 | js' blog

Mein Vater hat mir grade so eins von diesen USB-Webcam-Dingern gegeben, eine „Manhattan Mini Cam“, wie schon im Titel steht. Die gabs wohl bei irgendeiner Bestellung gratis dazu, glaube bei Conrad wars. Google fand nicht viel dazu, wie es mit Linux-Unterstützung aussieht. Aber nach der USB-ID googlen gab dann das Ergebnis, daß der gspca_pac207 diese USB-ID unterstützt. Scheinbar benutzen auch eine Menge andere Webcams die selbe USB-ID, z.B. eine von Medion. Jedenfalls gibt sie in MPlayer nur ein komplett grünes Bild aus und das auch nur über das v4l1_compat-Layer, über v4l2 bricht MPlayer direkt ab. Cheese zeigt in den Preferences das Device „CIF Single Chip“, die Liste der Auflösungen ist aber leer. Wenn man das Device in ein File cattet kommt da auch nichts wirklich brauchbares bei raus - größtenteils schwarz und alle paar Pixel mal ein heller Punkt, wenn man das Ganze als Sequenz von RAW-Bildern interpretiert (wobei ich mir eher denke, daß die Kamera es schon komprimiert liefern wird - für unkomprimiert war das File auch viel zu klein, dann wäre höchstens 1 Frame dringewesen). Google nach den Fehlermeldungen von MPlayer gab nur 3 Treffer, die auf Französisch, Italienisch und Polnisch waren und alle nicht sehr viel brauchbare Informationen gaben - waren alle 3 Foreneinträge ohne Lösung.

Ich tippe mal darauf, daß der Treiber sie eben doch nicht richtig unterstützt. Das Lämpchen, ob sie grade aufnimmt, scheint er zwar zu steuern, mehr aber auch nicht. Ich habe daher mal beim Hersteller nachgefragt, ob die nicht mal Dokumentation rausgeben wollen, damit man das fixen kann. Ich laß euch dann hier wissen, was daraus geworden ist. Falls noch jemand dieses Ding hat, kann er sich ja mal bei mir melden.

subversion 1.6.1 warnings

on 16.04.2009 12:06:00 | Fabian Fingerle
First: do not install tortoisesvn-1.6.1 without reading release notes

A lot of people have to install subversion 1.6.1 from debian experimental, cause newest tortoisesvn depends on subversion 1.6.0 or higher. Of course, it could be read in tortoisesvn's release notes before updating it ....
Working Copy and Repository Filesystem Format Changes

The working copy format has been upgraded. This means that 1.5 and older Subversion clients will not be able to work with working copies produced by Subversion/TortoiseSVN 1.6. Working copies are upgraded automatically.
Working Copy Upgrades

WARNING: if a Subversion 1.6 client encounters a pre-1.6 working copy, it will automatically upgrade the working copy format as soon as it touches it, making it unreadable by older Subversion clients. If you are using several versions of Subversion on your machine, be careful about which version you use in which working copy, to avoid accidentally upgrading a working copy.

If you accidentally upgrade a 1.5 working copy to 1.6, and wish to downgrade back to 1.5, use the change-svn-wc-format.py script. See this FAQ entry for details, and run the script with the --help option for usage instructions.

You updated subversion on you server to 1.6.1 from debian experimental and get following warnings after:
otih@testsrv:~/public_html/portal$ svn up
** (process:7732): WARNING **: couldn't connect to dbus session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.
** (process:7732): WARNING **: couldn't connect to dbus session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.
** (process:7732): WARNING **: couldn't connect to dbus session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.
** (process:7732): WARNING **: couldn't connect to dbus session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.
U htdocs/info/graphik/popup/kontakt.php
** (process:7732): WARNING **: couldn't connect to dbus session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.
** (process:7732): WARNING **: couldn't connect to dbus session bus: dbus-launch failed to autolaunch D-Bus session: Autolaunch error: X11 initialization failed.

Aktualisiert zu Revision 118.


This is related to the gnome-keyring auth plugin (new in 1.6.0). The plugin specifically attempts to not spit out useless warnings if the gnome-keyring facility is not available ... but apparently this isn't working.

The workaround is in ~/.subversion/config or /etc/subversion/config:

[auth]
password-stores =

This disables the gnome-keyring plugin (and the kwallet plugin, if I ever build with that support enabled - I'm not sure whether I really want KDE4 in build-depends).

libobjfw: Beseitigung der Abhängigkeit von Object & iPhone-Support

on 10.04.2009 23:10:00 | js' blog

Ich habe in libobjfw jetzt die Abhängigkeit von Object und somit zu einem großen Teil die Abhängigkeit von der verwendeten Runtime beseitigt. Warum ich mir so einen Streß gebe? Apple hat bei ihrer ObjC2-Runtime sogut wie alles deprecated und es ist einfach ein riesen PITA, das Zeug zu benutzen. Und auf dem iPhone gibt es z.B. kein ObjC1 mehr, bei Snow Leopard wird das wohl genauso sein, zumindest in 64 bit. Wird also in Zukunft vermutlich nicht nur für das iPhone nützlich sein.

Naja, jedenfalls hatte ich mich ja letztens beschwert, daß es mir nicht Lowlevel genug wäre. Das muß ich jetzt echt zurück nehmen. Viel weiter Lowlevel geht es nicht, dann müsste ich schon gcc patchen, damit er eine komplett eigene Runtime supported ;). Ich habe jetzt alles von Object, was ich verwendet habe, neugeschrieben - einmal für die GNU Runtime und einmal für die Apple Runtime. Ich werde aber auch noch weitere Methoden von Object, die noch nicht zum Einsatz kommen, für OFObject schreiben.

Damit dürfte jetzt libobjfw das erste ObjC-Framework sein, das auf dem iPhone läuft und nicht von Apple ist! :)

Ein weiterer netter Nebeneffekt ist, daß OFConstString jetzt endlich auf OFObject basieren kann, da das jetzt einen eigenen Allokator hat, der einfach den Memory Pool und den Reference Counter vor die IVars packt. Die Variablen vor den IVars heißen bei libobjfw übrigens - sehr einfallsreich - Pre-IVars. Das ganze muß vor die IVars, weil gcc bei konstanten Strings selber die Instanz anlegt und erwartet, daß er den String und die Länge als erste IVars eintragen kann. Durch das Nutzen von Pre-IVars konnten dann auch direkt 2 Protocols entfernt werden, die man dadurch nicht mehr braucht.

So, und zum Schluß gibt es natürlich auch noch was für die Augen:
libobjfw auf dem iPhone

Eine kleine Ernüchterung habe ich allerdings noch: Es gibt noch 2 Kleinigkeiten, die ich fixen muß. Aber danach wird es dann einen größeren Commit geben :).

Lowlevel-Fanboy

on 08.04.2009 15:35:00 | js' blog

Ich bin doch einfach ein Lowlevel-Fanboy… Daran wird sich scheinbar nie was ändern. Gestern Abend saß ich ziemlich lange dran, einen Bug in 61 Zeilen ObjC-Code zu finden, die ich grade geschrieben hatte. Irgendwann hatte ich einfach keine Lust mehr und habe es auf den nächsten Tag verschoben. Heute Morgen habe ich das ganze dann einfach in C neugeschrieben, in 82 Zeilen. Und es funktionierte auf Anhieb.

Das ganze war eine Funktion für eine Klasse in libobjfw. Ergo wäre es nur angemessen gewesen, das in ObjC zu schreiben. Aber wenn ich mir so mal die ganzen anderen Implementierungen ansehe, die ich in libobjfw gemacht habe: Fast jede Klasse nutzt fast ausschließlich C. Ich habe zwar z.B. ne Klasse für Arrays, in anderen Klassen nutze ich sie aber nie und mache es doch wieder alles selbst.

So langsam glaube ich echt, daß ich irgendwann zwar libobjfw fertig haben werde, es selber aber nicht nutzen werde. Irgendwie habe ich doch immer das Bedürfnis, alles selber zu machen. Und das scheint irgendwie bei mir auch noch besser zu klappen. Und es spart meist oft unnützen Code. Wenn ichs selber mache, kann ich z.B. selber bestimmen, wann Speicher alloziert wird. Und irgendwie brauche ich das scheinbar, sonst werd ich aus meinem Denkkonzept gebracht. In OFDictionary habe ich ja z.B. OFList verwendet und da hatte ich auch mehr Probleme, das zu debuggen, als bei anderen Klassen, die eigentlich nur C verwenden innerhalb der Methoden.

Sollte ich vielleicht mit libobjfw aufhören und wieder nur C programmieren? Ich habe fast den Eindruck, das geht besser und liegt mir mehr… Andererseits finde ich ObjC schon irgendwie nett und bin damit eigentlich immer noch recht Lowlevel, so, wie ich das in libobjfw verwende… Und libobjc damit ersetzen ist ja auch geplant, das wäre dann ja sogar verdammt Lowlevel… Das Schreiben von libobjfw ist halt verdammt Lowlevel und macht mir Spaß, aber das Benutzen ist mir dann schon fast wieder nicht Lowlevel genug. Hmm… Feedback via Mail willkommen ;).

Aprilscherze

on 01.04.2009 16:13:00 | js' blog

Irgendwie werden die Aprilscherze von Jahr zu Jahr schlechter. Als Protest mache ich daher einfach keinen. Hatte ja für einen Moment überlegt, einen zu machen, aber nachdem alle meinen, einen machen zu müssen, egal wie schlecht er ist, habe ich mich anders entschieden.

gentoo overlay moved (git)

on 31.03.2009 20:30:00 | Fabian Fingerle
Today my gentoo overlay moved from svn.fabian-fingerle.de/overlay (subversion) to repo.or.cz/w/otih-overlay.git (git).
overlay in subversion will be deleted in some weeks, so please update to the new one.
git clone git://repo.or.cz/otih-overlay.git
Update: You can add this overlay from the layman cached remote list to your locally installed overlays.
layman -a otih

Das Landgericht Karlsruhe und die Haftung für Links

on 31.03.2009 16:29:00 | js' blog

Mikael hat mal die Rechtssprechung zur Haftung für Links auf die Seite des Landgerichts Karlsruhe angewandt und dabei kam das hier raus, was er auch abgeschickt hat. Ich bin ja mal gespannt, wie die Reaktionen darauf ausfallen :). Definitiv eine interessante Aktion und ich wünsche viel Glück dabei!

Ach ja: Ich verlinke bewusst nicht auf das LG Karlsruhe, denn wenn ich das tun würde, würde ich mich ja auch strafbar machen! (Mikael hat in der PDF ja zum Glück nichts verlinkt!)

„Ohne MS Office und Windows kann man keine Informatikgrundlagen studieren!“

on 29.03.2009 17:18:00 | js' blog

Wer mal die lächerlichsten Grundvorraussetzungen einer Hochschule für ein Studium der Informatikgrundlagen sehen möchte, der gucke sich mal das hier an.

Ich fasse zusammen:

  • Ohne eine Maus kann man keine Informatikgrundlagen studieren‼
  • Man braucht dringend ein MS Office dafür - und es darf bloß keine vergünstigte Variante sein wie die Schülerversion!
  • Informatische Grundkenntnisse kann man nur unter Windows erwerben - selbst wenn MS Office auf nem Mac nativ oder unter Linux mit wine läuft (obwohl man nichtmal ein MS Office dafür brauchen würde…)

Fazit? Drüber lachen und boykottieren, was sonst? Wenn sie meinen, man braucht bestimmte Software, um Grundkonzepte zu verstehen, dann haben sie sie sowieso selber nicht verstanden.

Danke an cnuke für den Link!

ejabberd-Performance

on 25.03.2009 18:57:00 | js' blog

So, ich habe jetzt endlich die Ursache für die Performance-Probleme mit ejabberd gefunden: Mnesia. Ja, nicht das Aufbauen von s2s-Verbindungen ist das Problem, nein, Mnesia! Ok, gut, das kann jetzt natürlich sein, daß es eine Kombination aus beidem ist und das Aufbauen der s2s-Verbindungen Mnesia blockt, aber sowas sollte bei Erlang ja eigentlich nicht passieren. Jedenfalls nutze ich jetzt einfach eine externe DB statt Mnesia und es ist um Größenordnungen schneller :). Das ist ja das schöne, ejabberd lässt ja so gut wie jede externe Datenbank zu.

Also: Wenn ihr Performance-Probleme mit ejabberd habt, dann solltet ihr das evtl. auch mal probieren.

Arch Linux Initscripts

on 20.03.2009 01:18:00 | keks/dev

Some days ago I was annoyed of gentoo's emerge world failing all the time and installed Arch. I am really happy with it, but there were two things that needed improvement: wireless and cryptsetup initscripts. I built them, check them out (literaly) on svn://svn.cyb0rg.org/keks/archinit.

Wireless

First, copy wireless to /etc/rc.d/wireless. Then make a symlink from /etc/rc.d/wireless to /etc/rc.d/wireless.YourNetDevice, for instance:

 # ln -s /etc/rc.d/wireless /etc/rc.d/wireless.ath0
Then start it by
 # /etc/rc.d/wireless.ath0 start
You might need to set it executable
 # chmod +x /etc/rc.d/wireless
Since he execuetes dhcpcd, the script takes some time to execute. So when adding to the startup stuff, you might want to start it in background:
#/etc/rc.conf
DAEMONS=(syslog-ng @wireless.ath0 @dbus ...)

Cryptsetup

Again, the gentoo-style symlink technique is used. Copy the mappings-file to /etc/rc.d/. If you want to map you device to /dev/mapper/docs, you add a symlink /etc/rc.d/mappings.docs:
 # ln -s /etc/rc.d/mappings /etc/rc.d/mappings.docs
Then put the path of the device the is crypted into /etc/conf.d/mappings/docs. If you have a keyfile, put it to /etc/conf.d/mappins/docs.key, but make sure only root can read it. Don't forget to add an entry in the fstab, because the script will also attempt to mount the mapped volume. Add the mount option noauto, so he doesn't attempt to mount it on startup. Then start it by an
 # /etc/rc.d/mappings.docs start
Well, that's all from me for taday, good night!

ejabberd & PEP

on 10.03.2009 18:43:00 | js' blog

Also nachdem mir ejabberd in letzter Zeit immer weniger gefiel aufgrund der Häufung von Bugs und der immer schlechter werdenden Performance, muß ich jetzt doch mal was positives über ejabberd sagen: Und zwar hat Christophe Romain gestern endlich alle PEP-Bugs, die ich gemeldet hatte, auf einmal gefixt. Zumindest scheint es so, ich habe auf Anhieb keinen der Bugs mehr reproduzieren können. Wenn sie jetzt noch die Performance und ein paar andere kleine Bugs wieder in den Griff kriegen und man demnächst nicht mehr ein halbes Jahr warten muß, bis sich eines nervigen Bugs angenommen wird, bin ich echt wieder rundum glücklich mit ejabberd :). (Jaja, selber fixen, ich weiß. Habe ich ja mit einigen auch schon gemacht ;). Habe mittlerweile auch schon das halbe Team von ProcessOne in meinem Roster wegen all der Bugs *g*.)

Direkt auf dem iPhone compilieren

on 05.03.2009 22:55:00 | js' blog

Wer Programme direkt auf dem iPhone compilieren möchte, der sollte sich vielleicht mal das hier ansehen. Damit ist es möglich, Anwendungen in einem Rutsch zu compilieren und zu signieren, sodaß man nicht mit den sysctls rumspielen muß (was ein paar Side-Effects hat). Sehr praktisch, wenn man direkt auf dem iPhone compilieren möchte, denn so klappen auch configure-Scripts und andere Sachen, die etwas compilieren und direkt ausführen möchten.

So sieht das ganze auf dem iPhone dann übrigens aus:
Screenshot von gcc-ldid im Terminal auf dem iPhone

AVR on Gentoo

on 04.03.2009 02:14:00 | keks/dev
I finally got to work my avr toolcain on Gentoo. A lot of people are expiriencing problems using this, since crossdev, a tool provided by gentoo, has messed up dependencies for the AVR stuff. It fails to install the avr-libc-headers because avr-gcc is missing. Well, crossdev is not helpful anymore, so you just do it yourself: # emerge -av cross-avr/binutils # emerge -av cross-avr/gcc # emerge -av cross-avr/avr-libc Don't worry - avr-libc also contains the headers :-) Now you will fail making your code with any avr as target. The problem is, that ldscripts is not in the right path. The search path is /usr/avr/lib, so you have to make a symlink: # ln -s /usr/lib/binutils/avr/{binutils-version}/ldscripts /usr/avr/lib/ldscripts In my case it is: # ln -s /usr/lib/binutils/avr/2.19.1/ldscripts /usr/avr/lib/ldscripts Now everything should work - at least it did for me :-D

iPhone Development

on 26.02.2009 17:53:00 | js' blog

So, endlich habe ich es geschafft, auf meinem iPhone eine selbstgeschriebene Anwendung zum Laufen zu bringen. Das war garnicht so einfach, weil ich nur einen PowerPC Mac habe, ein PowerBook, und PowerPC vom iPhone SDK offiziell nicht unterstützt wird. Aber alle Binaries des SDK sind Universal Binaries. Daher ist es möglich, die einzelnen .pkg Dateien, die der Installer auslässt (er installiert auf PPC nur XCode) manuell via Pacific oder einem ähnlichen Tool zu installieren. Dann läuft zwar der Simulator und alles (aber auch nur, nachdem man ein paar Files editiert hat, die XCode sagen, daß PPC auch eine supportete Architektur ist), aber es auf dem iPhone laufen zu lassen ist nochmal was anderes. Da ich nicht im Apple Developer Program bin und ich eh erstmal nur was rumspielen will, habe ich dementsprechend kein Zertifikat. Das ist erstmal das erste, worüber er meckert. Da kann man aber einfach ein self-signed Zertifikat für Code-Signing im Zertifikatsassistenten von OS X anlegen und XCode gibt Ruhe. Dann kommt aber wieder ein Problem, da ich einen PPC habe: codesign klappt hier nicht - er mag das, was er signen soll, nicht erkennen. Ich habe aber ein kleines Wrapper-Script für codesign gefunden, das erst via lipo eine Universal Binary draus macht, es signiert und dann wieder eine kleine Binary für das iPhone draus macht - dann gehts und er erkennts. Wenn man so weit ist, nimmt das iPhone aber immer noch nicht die Anwendung - ist ja klar, ist ja nur ein self-signed Zertifikat. Was macht man da? Auf einem original iPhone hat man da Pech. Auf einem gejailbreakten hingegen kann man das Programm „MobileInstallation“ via Cydia installieren und einen Eintrag in der Info.plist des Programms, das man auf das iPhone laden will, hinzufügen und es geht.

Btw: Ohne Jailbreak ist ein iPhone meiner Meinung nach eh komplett nutzlos. Ohne kam ich nichtmal in mein WLAN, weil man unmöglich 63 Byte tippen kann, ohne einen Tippfehler zu haben (siehe meinen Eintrag davor). Aber mit Jailbreak gibt es dann eine Zwischenablage (einfach in Cydia Clippy installieren) und dann kann man folgendes machen: Auf dem Mac im Adressbuch einen Eintrag WLAN machen und dem als Straße den WLAN-Key geben. Dann synct man das iPhone via iTunes und geht auf dem iPhone in den Kontakt, packt den Key in die Zwischenablage und fügt ihn einfach ein, wenn man ins WLAN will. Ein Jailbreak hat auch sonst nur Vorteile: Dann kann man z.B. auch Videos aufnehmen, MMS senden und empfangen, Bluetooth ist auch in Arbeit, hat ein Terminal auf dem iPhone (sogar root!), kann einen OpenSSHD laufen lassen, kann Emulatoren für SNES, NES, GB und PSX laufen lassen, kann Doom und Quake laufen lassen und vieles, vieles mehr! Also der Jailbreak macht das iPhone meiner Meinung nach erst nutzbar ;).

Input über glibc-Rant

on 26.02.2009 14:36:00 | js' blog

Grade eben erreicht mich eine e-mail mit der Anmerkung, mein glibc-Rant sei doch vollkommen unbegründet und die Manpage würde doch ganz klar sagen, wie man sie zu verwenden hätte.
Nun, bevor auch andere den Rant von damals falsch verstehen: Es geht hier nicht um C, es geht hier um Objective C. Da hat #import durchaus seinen Grund. Und es hat Vorteile. Und daher ist das Argument, daß #import unportabel wäre, weil der MSVC++ es nicht könne, ziemlicher Blödsinn: MSVC++ kann Objective C nämlich überhaupt nicht.

Da in dem Input über meinen glibc-Rant auch stand, daß #import doch nur Nachteile hätte und die Manpage ja auch #include nennen würde, scheint es hier wohl einige Unklarheiten zu geben, denn eigentlich hat es nur Vorteile. Ich will das mal hier erklären:
Jeder von euch kennt bestimmt das Problem, wenn man einen Header mehrfach includet. Nehmen wir einfach mal folgendes Beispiel:

foo.h:
extern int foo;

Wenn man das jetzt 2 mal includet (was häufig implizit vorkommt, weil sich Header gegenseitig auch includen), hat man zumindest eine Warnung, wenn nicht - je nach Compiler - sogar einen Fehler. Daher hat es sich eingebürgert, daß man folgendes schreibt:

foo.h:
#ifndef __FOO_H__
#define __FOO_H__
#extern int foo;
#endif

Das muß man dann in jedem Header machen, was auch mitunter eine der meist kritisierten Sachen an C ist. Zumal es hier schon Probleme gibt, wenn 2 Header in verschiedenen Verzeichnissen den selben Namen haben. Dann muß man noch was anderes in den Define zur Identifikation packen, z.B. den Pfad oder den Namen der Library von der der Header ein Teil ist. Scheinbar waren auch die Leute von NeXT damals relativ genervt davon, weshalb sie eine neue Präprozessoranweisung einführten: #import.

Nun, wie aber unterscheidet sich #import von #include? Es ist eigentlich ganz einfach: Es macht das Konstrukt mit #ifdef und #define überflüssig, indem der Präprozessor sich merkt, ob das File bereits includet wurde. Ist das der Fall, macht #import einfach garnichts. Somit spart man sich die Konstruktion mit dem #ifdef und #define. Und ob ein anderer Header auch so heißt, darum muß man sich nicht kümmern, denn der Präprozessor weiß, um welchen Header es sich handelt.

So, was hat das aber mit dem glibc-Rant zu tun? Daß die glibc ziemlich kaputt ist, wenn man #import verwendet. Und zwar scheinen die Header gegenseitige Abhängigkeiten der Defines zu haben, sodaß einige Defines der glibc nicht passen und die glibc dann einige essentielle Sachen einfach nicht definiert. Die glibc kommt einfach mit ihren eigenen Defines durcheinander. Daher muß man dann für die glibc-Header immer #include nehmen statt #import. Was daran so schlimm ist? Man nutzt in Objective C generell immer #import. Und es läuft auch problemlos auf allen Plattformen damit. Nur sowie es dann daran geht, daß man das ganze mit der glibc kompilieren möchte, hagelt es plötzlich Fehler. Fehler, die man sich auf Anhieb nicht erklären kann. Bis man irgendwann merkt, daß das Ändern der Reihenfolge, in der man importiert, das Problem behebt. Scheinbar. Bis es unter irgendwelchen ganz obskuren Umständen wieder bricht. Und dann sucht man wieder ewig. Also kann man nur #include nehmen, was dann doch sehr unschön ist, wenn man beides in einem File hat. Und wirklich jede andere libc kriegt das problemlos hin :). glibc hingegen versagt schon, wenn man nur wchar.h und string.h importiert im selben File.

So, ich hoffe, das sorgt jetzt für ein bisschen Aufklärung, was das Problem eigentlich wirklich ist. Und wie gesagt, es ist nur eines von Milliarden Problemen der glibc - eines der größten ist IMO das #define _GNU_SOURCE und das Fehlen von strl*, weil Drepper zu blöd für Strings ist.

iPhone + WLAN = *megakotz*

on 23.02.2009 20:16:00 | js' blog

Also ich kann grade echt einfach nur noch kotzen. Erst gibt man zwanzigtausend mal den Hash ein, was das iPhone nicht macht. Toll, Plaintext ging bei dem WLAN-Passwort nicht. Also auf ein anderes gestellt, das man dann auch in Plaintext darstellen kann. An dieser Stelle: Danke, Apple, ihr macht grade mein WLAN unsicherer. Aber als ob das noch nicht reicht, nein, so einen sch*** 63 Byte String auf dem iPhone einzugeben ist die Hölle! Es ist absolut nicht möglich, das mal ohne einen Vertipper einzugeben. Geht einfach nicht. Dafür ist der Touch-Sensor viel zu ungenau. Und als ob das nicht reicht muß Apple jedes verf***te Zeichen bei der Eingabe durch ein • ersetzen. WAS SOLL DAS? So kann ich nicht korrigieren und nix‼ Ich frage mich echt, was der Sch*** soll. Was bitte ist so schwer daran, Apple, daß man WLANs einfach über iTunes oder sonstewas synchronisieren kann? Für mich ist das einfach nur absolutes Versagen, was Apple da in Sachen iPhone + WLAN geschafft hat. Vollkommen unbrauchbar.

iPhone & Nokia E61i

on 23.02.2009 16:16:00 | js' blog

So, heute sind das iPhone und das Nokia E61i gekommen. Beschäftige mich jetz im Moment erstmal mit dem iPhone. Mit dem WLAN einrichten ist schonmal richtig PITA. Ich habe ein WPA2-PSK geschütztes WLAN mit einem Random-PW in Hex. D.h. ich darf 64 Zeichen eintippen. Beim 1. mal war wohl ein Typo drin, beim 2. mal war der Button „Join“ nach Eingabe des gesamten PWs dann ausgegraut - verdammt!

Der Plan ist jedenfalls, einen Buddycloud-Client für das iPhone zu schreiben. Dafür habe ich es auch gekriegt ;). Und das Nokia dazu, um die Original-Anwendung auch benutzen zu können. Aber das wird in naher Zeit eher weniger was werden, Karnevals-Nachwirkungen und dann die Vorabiklausuren und das Abi. Aber immerhin habe ich das iPhone SDK schon auf meinem PowerBook ans laufen gekriegt - ja, das geht auch auf PPC mit etwas tricksen! ;)

orgizm webradio

on 23.02.2009 12:01:00 | plastik planet
es gibt schon seit ner weile nen icecast stream bei orgizm. urspruenglich einfach mal zum spielen, gingen darueber bislang die vereinnahmenden signale des hypnotoad hinaus in die welt. reicht damit, deshalb gibt es da jetzt tatsaechlich musik.

musikalischer input in entsprechenden stilsphaeren wird gern entgegengenommen.

http://ybel.org:8000/stream

glibc-Rant & libobjfw

on 14.02.2009 20:19:00 | js' blog

So, ich muß mich jetzt einfach nochmal über glibc auslassen. Dieses Ding ist echt sowas von abnormal kaputt! Nachdem ich jetzt so lange dransaß, daß libobjfw auch mit glibc rennt, indem ich alle möglichen Reihenfolgen der #imports durchprobiert hatte, darf ich jetzt feststellen, daß das unter gewissen Umständen immer noch failed. Ergo habe ich jetzt alle Header der libc über #include statt über #import drin.

Klar, es läuft jetzt. Aber trotzdem: Was soll der Sch***? Warum darf ich stdarg.h nicht als 2. importen, sondern muß es zwangsweise immer als erstes, aber wenn ich stattdessen #include nehme gehts? Warum darf ich nicht in einem File wchar.h und string.h importen, sondern immer nur eins von beidem pro File? Wie kann man bitte so kaputte Header schreiben? Warum bitte schreiben die Header, die unter so vielen Umständen einfach nur die Hälfte definieren oder sogar Syntax-Error erzeugen? Und das ist ja nun wirklich nicht das einzige in glibc, das einfach nur extremst kaputt ist. Warum bitte ist das auch heute noch die Standard-libc unter Linux? Es gibt so viele bessere libcs (eigentlich so gut wie jede), aber dieser Crap muß der Standard unter Linux sein? Da bekommt nan echt Lust, den glibc-Support in all seinen Projekten einfach zu droppen - es gibt ja massig brauchbare Alternativen und wenn das genug tun, ändert sich vielleicht auch mal was dran, daß glibc unter Linux der Standard ist. Das wäre eine Win-Win-Situation für alle, wenn glibc nicht mehr der Standard wäre und immer mehr Projekte den Support dafür droppen. Dann braucht man auch keine eigene Implementation von strl* mehr mitbringen, nur, weil Drepper zu blöd für Strings ist. Denn selbst der Linux-Kernel hat strl* drin.

In libobjfw habe ich jetzt übrigens mal das OFComparable-Protokoll eingeführt. Damit kann man Objekte mittels isEqual: und compare: vergleichen - das braucht man z.B. zum Sortieren oder wenn man die Objekte in eine Hashtable packen möchte. Im Moment gibt es zwar noch keine Hashtables, aber die kommen bald ;). Eine gute Hash-Funktion habe ich auch schon. OFNumbers braucht auch noch ein isEqual: und compare:, allerdings ist das dort aufgrund der vielen Integer-Typen richtig Arbeit. Muß ich mich daher noch zu überwinden, das mal in Angriff zu nehmen ;).

miniwebserver

on 11.02.2009 00:18:00 | Fabian Fingerle
A lot of people installed apache or lighttpd on their laptops to share stuff like iso images with friends. This software is big, high configureable and overstated for these needs. There are some small solutions:
#!/usr/bin/env python
import sys
from twisted.python import log
from twisted.internet import reactor
from twisted.web import server, static
if len(sys.argv) != 3:
print "Usage: %s <port> <dir>" % (sys.argv[0],)
sys.exit()
root = static.File(sys.argv[2])
site = server.Site(root)
reactor.listenTCP(int(sys.argv[1]), site)
log.startLogging(sys.stderr)
reactor.run()
#!/usr/bin/ruby
require 'webrick'
include WEBrick
if ARGV.size != 2
puts "Usage: #{$0} <port> <dir>"
exit
end
s = HTTPServer.new(
:Port => ARGV[0].to_i,
:DocumentRoot => ARGV[1]
)
trap("INT"){ s.shutdown }
s.start
(Astro and Toidinamai callated some solutions)

Neue PowerBook-Tastatur

on 10.02.2009 22:27:00 | js' blog

So, nachdem erst die „6“-Taste kaputt war und dann, nachdem ich sie ersetzt hatte, beim Wechseln der Festplatte leider die F2-Taste kaputt gegangen ist, habe ich jetzt beschlossen, gleich eine neue PowerBook-Tastatur zu kaufen. Nun, die kam heute an und ist jetzt drin - ihr braucht mich also jetzt nicht mehr auf Events drauf ansprechen, daß mir ne Taste fehlt :þ. Der Anschlag ist zwar ein bisschen anders als bei der davor (die davor war vermutlich einfach schon zu viel getippt), ist aber recht angenehm. Ist allerdings auch ein anderer Tastatur-Typ (gab 2 verschiedene Typen in den 12" PowerBooks).

Firefox 3.0.6 not able to read Cookie (breaks MUCkl/JWChat with HTTP Polling)

on 10.02.2009 11:38:00 | a little bit of zeank

Firefox as of version 3.0.6 seems to not allow reading cookies from HTTP headers when doing AJAX requests. As a consequence JSJaC’s HTTP Polling backend can’t work correctly anymore and breaks usage of MUCkl and JWChat with this version of Firefox. If your site is affected please consider switching to HTTP Binding (aka BOSH) which should fix this issue.
HTTP Binding has been designed specifically to address issues with constrained clients not capable of reading HTTP header cookies.

FOSDEM zuende, XMPP-Summit

on 09.02.2009 19:22:00 | js' blog

So, jetzt sitze ich grade im Thalys nach Hause. Das WLAN ist zwar sehr instabil (aber hey, ich war auf der FOSDEM, ich bin jetzt sau schlechtes WLAN gewohnt!) und in der 1. Klasse gibts dann auch Stromanschluß. Das ist schonmal gut, da ich auf dem Summit dann doch einiges an Akku verbraucht habe. Mal gucken, wie das Essen wird ;).

Der zweite FOSDEM-Tag war ziemlich interessant und ich habe einige interessante Unterhaltungen über XMPP und auch Objective-C führen können. Unter anderem habe ich jetzt evtl. endlich eine Lösung für das Problem, daß die Runtime streikt, wenn ich libobjfw als DLL baue. Auch habe ich jetzt vermutlich was, um auch -upper und -lower bei UTF-8-Strings machen zu können.

Beim XMPP-Summit hingegen habe ich ehrlich gesagt den Eindruck, daß man nicht so viel geschafft hat. Man hat sich zwar immer schön in kleinen Grüppchen getroffen und in jeder ein anderes Thema diskutiert, nur leider wurden die, die mich interessieren, schon am Freitag diskutiert. Und es blieb natürlich nicht aus, daß ich mich mit Dave Cridland direkt mal wieder über End-to-End-Encryption gestritten habe. Ich denke, ich werde hier seine Ansicht, daß es eigentlich genügen würde, wenn jeder Client so viele CAs wie möglich hätte und dann der Initial Trust (also daß man einfach davon ausgeht, daß die Key-ID beim ersten mal wohl stimmt) genügen würde, nicht weiter kommentieren - ich denke, jeder, der mal wirklich drüber nachdenkt, wie „toll“ das funktioniert, wird zu dem selben Schluß kommen wie ich. Peter meint zwar, Dave hätte das bestimmt nicht so gemeint, aber „If you're not going to include as many CAs as possible in Gajim, nobody will use it“ ist ziemlich eindeutig für mich. Da es zwecklos war, das weiter zu diskutieren, haben wir das dann einfach aufgegeben.

Auf der anderen Seite habe ich nach dem Dinner auf dem Weg in eine Bar eine interessante Diskussion über End-to-End-Encryption mit Dirk Meyer geführt. Auf der Mailingliste hatten wir doch des öfteren andere Ansichten, wie sich jetzt aber rausstellte, haben wir eigentlich beide das ziemlich gleiche Ziel, nur eben verschiedene Use Cases und waren uns eigentlich in Sachen End-to-End-Encryption ziemlich einig.

So, jetzt kam grade meine Essen. Und Kaffee gab es auch :). Nicht schlecht. Also Thalys 1. Klasse kann man echt gut fahren.

So, also zurück zur FOSDEM. Also insgesamt habe ich zwar nicht viele Talks gesehen, dafür aber um so mehr und um so interessante Unterhaltungen geführt. Brüssel ist zwar nicht so toll, aber für die FOSDEM kann man da dann doch mal hinkommen ;). Es ist schon lustig, wie schwer es ist, Samstags Abends in Brüssel noch was Eßbares aufzutreiben.

Das XMPP-Dinner war auch ziemlich nett. Interessante Unterhaltungen bei gutem Essen und das auch noch gesponsort - was will man denn bitte mehr? Kein Wunder also, daß das Dinner ziemlich produktiv war. Nachdem man erstmal erstaunt war, daß ich so „jung“ bin (so jung ist 19 doch jetzt nun auch wieder nicht oO), kamen dann schnell ziemlich interessante Unterhaltungen (gut, das mit dem so jung kam nachher nochmal, als ein paar auf meinen Objective-C Code geguckt hatten, da sie scheinbar nicht mit gerechnet hatten, daß jemand „so junges“ das so weit optimiert und so weit in den internen Kram geht). Ziemlich viele Leute haben doch sehr interessante XMPP-Projekte und ich bin doch von einigen gefragt worden, ob ich nicht Lust hätte, an ihren (teils kommerziellen) Projekten mitzuwirken. Mal schaun :). Ich habe jedenfalls definitiv jetzt noch mehr neue Jabber-IDs dazubekommen als auf dem Congress. Und definitiv verdammt viele interessante Leute kennen gelernt.

So, ich denke, ich habe jetzt vermutlich vieles vergessen. Vielleicht trage ich das nach. Aber im Moment fällt es mir einfach verdammt schwer, Deutsch zu schreiben. Man fängt irgendwann an auf Englisch zu denken und sogar zu träumen oO. Man fängt an, mit Leuten, die Deutsch können, nur noch Englisch zu sprechen. Das ist echt schlimm. Mehr kann ich jetzt wirklich nicht mehr auf Deutsch schreiben. If I'd continue writing here, I'd propably continue in English without even noticing it ;). (Note to self: Maybe an English blog might be a solution to at least that problem? :þ)

FOSDEM

on 07.02.2009 21:31:00 | js' blog

So, endlich komm ich zum Bloggen. Also ich muß schon sagen, mit dem Thalys kommt man echt gut nach Brüssel. Für 15€ hingekommen, dagegen kann man echt nix sagen. Auf der Rückfahrt sinds dann 9€ mehr, dafür dann aber 1. Klasse (2. Klasse war schon ausgebucht) - hat aber dann so nette Nebeneffekte wie gratis Essen, gratis Trinken und WLAN.

Der Bahnhof Brussels Midi hingegen ist eine Katastrophe. Man wird von einem zum anderen Schalter geschickt, wenn man fragen möchte, wie man wo hinkommt. Am Ende heißt es dann, man soll zum Schalter gegenüber gehen, der mache in 15 Minuten auf. Ne halbe Stunde später stand da aber immer noch „fermé“ (geschlossen), sodaß ich ein Problem hatte. WLAN gab es nur gegen Bezahlung, war also auch nicht so sinnvoll. Jedoch konnte man dort zumindest kostenlos Routen planen - was aber ein wenig komisch war, da ich laut der Route mehr Fußweg hatte, als ich mit dem Zug / Bus gefahren wäre. Schließlich mußte ich dann benz anrufen und ihn fragen, dessen Weg dann auch ziemlich problemlos ging und quasi garkeinen Fußweg hatte ;).

Angekommen war ich erstmal enttäuscht, daß alles so auseinander gezogen war. Alles in mehrere Gebäude verteilt, die alle über den Campus verstreut waren. Drinnen war es recht eng, obwohl es nicht viele Stände gab. Auf der Suche nach dem Hacker Room ist mir dann romeda über den Weg gelaufen und wir haben, nach ein paar mal im falschen Gebäude sein, dann endlich den Raum gefunden, wo die XMPP-Talks sind. Nach 2 Talks hat mich der Hunger dann aber doch schon zur Essenssuche getrieben, weil ich den ganzen Tag noch nichts gegessen hatte ;). Als ich dann wieder dort war, habe ich dann auch endlich mal den Hacker Room gefunden. Und ratet mal, wen man dort direkt trifft? hacky. Die trifft man echt auf jedem Event :D. Auch wenn sie vorher sagt, sie kommt nicht :þ.

Im Hacker Room habe ich dann mal versucht, meine e-mails zu lesen. Versucht, weil die Verbindung ständig abriß. So lange, daß er mal alle Mails ziehen konnte, hat die Verbindung nie gehalten. Allerdings für eine wichtige Mail hat es gereicht. metajack hatte mir geschrieben, daß er schonmal zum Hotel ist und mir eine Wegbeschreibung hinterlassen, weil er mich nicht mehr finden konnte. Er lässt mich freundlicherweise im Hotel wohnen und teilt ein Doppelzimmer mit mir - nochmal vielen Dank an dieser Stelle! Nachdem ich dann benz gefragt habe (er hat von denen, die ich kenne, die besten Französisch-Kentnisse und kennt sich am besten in Brüssel aus), wo denn die Tram fährt, habe ich mich auf den Weg gemacht und durfte bis zur letzten Station fahren ;). Aber es hat sich gelohnt. Das Hotel ist echt nett, 4 Sterne.

So, ich bin jetzt im Zimmer, hier ist wenigstens WLAN. Jetzt kann ich meine e-mails lesen etc. ;) Ich werd jetzt erstmal warten, bis metajack kommt, ich bin hier nämlich jetzt erstmal alleine auf dem Zimmer (er hatte mir den Schlüssel an der Rezeption hinterlassen). Weitere Berichte von der FOSDEM gibt es später ;).