FaceBlog: Tag 4

dislikeHeute morgen ist etwas passiert, von dem ich angenommen habe, daß es eigentlich nicht passieren sollte: persönliche Daten von mir sind ins Netz gelangt, weil einer meiner „Freunde“ mir meinen aktuellen Arbeitgeber vorgeschlagen hat. Das gleiche passiert am selben Tage mit meiner ehemaligen Schule: auch hier vorgeschlagen von einer Schulfreundin. Das muß man mal auf der Zunge zergehen lassen: obwohl ich meinen Arbeitgeber und meine Schule nicht in der Chronik-Info eingeben wollte und bis dato auch nicht habe, haben dies Freunde für mich getan und FB so die erforderlichen Daten geschenkt (was Anhand der Freundesliste eh naheliegend gewesen wäre).

Später entdecke ich auch, wie es dazu (zwangsläufig) gekommen ist. Um die Menge an Freunde effizient zu veralten, legt FB vordefinierte Listen für Schule und Arbeit an. Dort kann man Freunde einfach zuweisen, und ratet mal was FB dann in diese Profile hineininterpretiert. Natürlich kann ich alle Vorschläge zurückweisen oder zulassen und in der Sichtbarkeit einschränken, aber ich bin schon angepißt allein aufgrund der Tatsache, daß FB echte persönliche Informationen von mir erhalten hat, ohne mein Zutun!

Ich beschließe die Vorschläge vorerst nicht anzunehmen. Und obwohl sie in der Chronik-Info verschwinden, fast so als ob niemals etwas dort gestanden hätte, so weiß ich doch, daß FB sich diese Daten bestimmt irgendwo gemerkt haben wird. Außerdem drängt sich mehr und mehr die Frage auf: wissen die anderen Schulfreunde noch, wer ich bin, wenn ich nicht die gemeinsame Schule in der Chronik angebe? Es ergibt sich also eine gewisse Notwenigkeit, gewisse Informationen verfügbar zu machen. Auch wenn ich nicht-erschreckenderweise feststellen muß, daß man nur genug gemeinsame Freunde haben muß, um selbst als Freund geadded zu werden.

Nach dem ich immer mehr Schulfreunde und Arbeitskollegen entdecke, geh ich in die Vollen und sende hemmungslos Freundschaftsanfragen raus. Und ich bin böse auf mich selbst, weil die Anzahl schon stattliche 40 Stück beträgt. Ich glaube ich verwende FB so, wozu es ursprünglich gedacht war: (Schul-)Freunde wiederzufinden.

Die Flut von Bullshit-Meldungen macht mir inzwischen auch nicht mehr so viel aus: man stumpft einfach ab. Man kennt seine Pappenheim eh und filtert’s automatisch raus. Ich erwische mich sogar dabei, daß mir langweilig ist, wenn mal niemand von meinen 40 Freunden etwas postet. Frechigkeit, aber auch, wozu habe ich so viele Freunde 😉

Zwecks Aufarbeitung logge ich mich testweise auch noch mal bei Google Plus ein, um festzustellen, daß dort immer noch niemand meiner Freunde was geschrieben hat. Interessanterweise werden dort Meldungen von jemand anderem angezeigt, der in absolut keiner Verbindung mit mir steht. Darüber hinaus erhalte ich in der Meldungsleiste sogar eine Werbenachricht zwischen den einzelnen Freundesbestätigungen. Nein Danke, Google Plus Account wird gelöscht.

FaceBlog: Tag 2

dislikeMeine Freundesanfragen wurde bestätigt und so langsam füllt sich die Neuigkeitenliste mit lauter unnützem Zeugs. es stellt sich heraus, daß die Unterdrückung für Spiele­benachrichtigungen sich nicht überall auswirkt, stattdessen muß ich bei jedem Freund die Benachrichtigungs­einstellungen händisch anpassen. *REIZ* Selbiges wieder für Listen. Beim Überfliegen der Neuigkeiten stelle ich fest, daß 90% nur Bullshit ist (= virtuelle Grußkärtchen, pseudo-lustige Bilder, der übliche Rotz, den man früher als Kettenmail bekommen hat) und die relevanten Neuigkeiten einfach untergehen.

Etwas angepißt, geh ich gleich zur Konkurrenz und versuche mich bei Google Plus anzumelden. Natürlich auch dort ist mein Nick zu vergeben, also das gleiche Prozedere wie bei FB. Immerhin die Oberfläche ist deutlich moderner und aufgeräumter. Außerdem werde ich nicht mit Dingen Werbedingen überfrachtet. Ich stelle aber schnell fest, daß a) weniger Personen dort gelistet sind und b) ihre letzten Einträge über ein halbes Jahr alt sind. Ergo schreibt dort niemand was, weil eh alle auf FB sind. Damit ist Google Plus eigentlich schon wieder gestorben.

Zurück in FB ist’s mit vier Freunden ziemlich fad, doch FB schafft es getreu dem Hornbach-Motto („es gibt immer was zu tun“) mich bei Laune zu halten. Ich entdecke ich die Like-Bereiche in meiner Chronik, bzw. das was andere in ihrer Chronik ge“like“t haben. Ich „like“ also einige Filme, Sendungen und Musik, die auch mir gefallen, bis mir klar wird, was ich eigentlich dort gerade mache: ich gebe indirekt mein Konsumverhalten an! Zielgruppenspezifische Werbung nennt sich das und kommt ganz harmlos daher. Nachdem das Kind schon in den Brunnen gefallen ist, und „Gefällt mir nicht mehr“ bekanntermaßen nicht zur endgültigen Löschung führt, beschließe ich die bisherigen Like zu behalten. Vielleicht ist ja das ein oder andere dabei, was nützlich ist.

Leider gefehlt, denn schon bald darauf erscheinen nutzlose Neuigkeiten zweier Bands bei mir. Eine Band veröffentlicht reines PR-Gesülze, was niemand interessiert. Die zweite Band postet wenigstes ihre Tour-Highlights, es interessiert mich aber nicht die Bohne, in welchem Nest irgendwo in den Staaten die nächste Autogrammstunde ist. Immerhin kann man die Benachrichtigungen abschalten, aber auch hier wieder für jedes ge“like“te Ding einzeln. Also wieder in den Like-Bereich und alle Likes noch mal entsprechend geändert. *reiz* Globale Einstellungen sind FBs Sache nicht so.

Mein Eindruck verfestigt sich immer mehr: FB ist in Wirklichkeit ein großes Werbenetzwerk, in dem man wichtige Informationen nicht von unwichtigen unterscheiden kann.

Im Rahmen des Experiments beschließe ich noch nicht so schnell aufzugeben und meinen Freundeskreis auf insg. 9 Leute aufzustocken, um die Funktionen im kleinen Rahmen zu testen.

No Server 4 Me

Der ein oder andere hat’s wohl gemerkt: Server, Blog, Homepage, Email, einfach alles war mal für zwei Wochen spurlos weg. Und auch die Zeit danach, findet man im Blog lange nur gähnende Leere vor. Aber beginnen wir von vorn.

Nun wir schreiben den 22. September, und der Jedi ist fleißig dabei sein Blog und die anderen Webseiten auf den neusten Stand zu bringen. Auch neue Bilder und WordPress-Plugins hat er hochgeladen und alles funktioniert bestens. Als ich jedoch grade an einer Konfigurationsdatei arbeite und versuche diese zu speichern, meint der Editor doch allen Ernstes, der könne die aktuelle Datei nicht speichern, da sich nicht mehr vorhanden wäre. 😯

Ein prüfender Blick ins Verzeichnis beweist zwar das Gegenteil, doch kein Editor läßt sich an diesem Tage nicht mehr zum Öffnen der Datei bewegen. Dabei ist es ja nicht so, als ob ich computertechnisch auf den Kopf gefallen wäre, aber dieses Verhalten konnte ich mir nun wirklich nicht erklären. Nun ja, denk ich mir, es ist ja immerhin ein Windows Server, da kann ein Neustart ja nicht schaden. Es sollte das letzte Mal für die nächsten zwei Monate sein, daß ich den Server wiedersehen sollte. Was war geschehen? Weiterlesen

Spam-Reiz

Bisher hatte ich eigentlich nie größere Probleme mit Spam. Meine private Emailadresse kennen nur wenige, hoffte auf vernünftigen Umgang damit und verbreite keine Kettenmails. Mit geübten Blick war es bisher sehr leicht möglich die 5 wichtigen Mail von den 60 unwichtigen zu unterscheiden und zu löschen. Auch der im Outlook mitgelieferte Spamfilter schlug sich bei englischsprachigen Spammails wacker.

Doch irgendwann im Juli stieg die Anzahl an Spammails sprunghaft an und überschritt bis heute täglich die 100er Marke. Ewig langes Herunterladen der Mails war die Folge, der Outlookfilter versagte beim zunehmenden Anteil deutscher Spammails zusehends und auch ich hatte keine Motivation mehr mich täglich durch die Adressen und Betreffzeilen der Mails zu fräsen und zu löschen.

Von solchem Reiz gepeinigt, war ich genötigt einen richtigen, vorgeschalteten Spamfilter als Emailproxy zu installieren. Zwar ist es noch nicht mal so schwierig einen kostenlosen und guten Spamfilter zu finden, aber mit meinem Wunsch nach einem einfach zu installierenden und konfigurierenden Windows-Programm war ich kräftig auf dem Holzweg. Im Großen und Ganzen bleiben da nur noch Spam Assassin und ASSP übrig. Spam Assassin läuft nur mit Python und muß sogar noch mit fragwürdigen Tools selbst kompiliert werden -> alles zuviel Aufwand. Blieb also noch ASSP, das unbedingt Perl und ein halbes Dutzend Zusatzmodule installiert haben will.

Übrigens, hier eine schöne Erklärung aus dieser Quelle, was ASSP eigentlich ist, und der Beweis, daß Übersetzungsprogramme immer noch nicht perfekt arbeiten:

The Anti-Spam smtp Vollmacht-,zu unterstützen (ASSP) herstellt ist ein geöffnetes QuellPlattform-unabhängiges smtp proxy server, das die whitelists und bayesische Entstörung einführt, zum des Planeten von der Trockenfäule freiwilligen email (ECU) zu reinigen. ECU müssen am smtp Bediener gestoppt werden. Werkzeuge Anti-Spam müssen sein anpassungsfähig zu neuem Spam und besonders angefertigt werden für Postmuster jedes Aufstellungsortes. Diese freien, bedienungsfreundlichen Werkzeugarbeiten mit jeder möglicher Post transportieren und erzielen diese Ziele, die keine Operatorintervention erfordern, nachdem die Ausgangseinstellung phase.

Beim zweiten Versuch ASSP ans Laufen zu bekommen, klappte es dann endlich und ich wurde prompt mit einer Fülle an Konfigurationsoptionen erschlagen. Mühsam ging ich jede Option (sogar mehrfach) durch, nur um die Konfigurationen danach wieder zu verwerfen. Da gibt es dann so tolle „Features“ wie verzögerte Mailzustellung (Delaying). Alle eintreffenden Mails werden erst mal protokolliert und temporär abgelehnt. Wenn das Senderprogramm dann einen zweiten Zustellversuch unternimmt, wird die Mail zugelassen. Angeblich soll das die Wunderwaffe gegen Spam schlechthin sein, weil die Spamrobots und -würmer nie zwei mal hintereinander eine Mail an dieselbe Adresse schicken. Wers glaubt. Netter Nebeneffekt ist, dass auch alle Nicht-Spammails verzögert zugestellt werden. Kommt besonders klasse, wenn man dringend auf eine Mail mit einem vergessenen Passwort wartet. 🙁

Naja, nach vielen Tagen des Feintunings lief der Proxy endlich einigermaßen so, wie er sollte. Doch es gab noch eine letzte Hürde zu überwinden: ein täglicher Spamreport über die gefilterten Spammails sollte noch her. Schließlich will ich die Arbeit des Proxys ein wenig überwachen, ohne mühsam Logfiles lesen zu müssen oder mir alle Spammails wieder runterladen zu müssen. Im Grunde so etwas, wie GMX es bei seinen Mailaccounts jeden Tag zuschickt.

Es war natürlich naiv von mir zu glauben, daß bei einer verbreiteten, quelloffenen Software sich schon jemand Gedanken über dieses Problem gemacht hat, und ASSP bei jeder blockierten Mail deren Metadaten (Uhrzeit, Absender, Betreff) in eine Liste aufnimmt. Wäre ja auch zuviel verlangt. Und offenbar hat sich noch kein Depp gefunden, der sich getraut hat, solch ein Feature in den fies gefrickelten Perl-Sourcecode einzubauen (was ich in gewisser Weise nachvollziehen kann). Und eine Liste blockierter Mails gibt es recht nicht, wieso sollte auch jemand sowas überhaupt wissen wollen. Stattdessen muß man sich solche Infos aus ganz speziell formatierten Zeilen aus dem Logfile zusammenkratzen. Und nachdem ich das ganze Internet nach einer Lösung abgegrast hatte, habe ich tatsächlich eine (nochmals in Worten zu Verdeutlichung: EINE) einzige Lösung gefunden, indem jemand eben jenes Logfile nach bestimmen Zeichenfolgen, die bei einer Blockierung ausgegeben werden, geschrieben hat.

Aber der Reiz war noch nicht vorbei, denn die beiden Perl-Skripte, die das taten, funktionierten nicht mit der neusten ASSP Version, da diese andere Zeichenketten verwendet, und somit nie eine Zeile gefunden wurde. Also mußte ich mit meinen quasi nicht vorhandenen Perlkenntnissen die beiden Skripte umändern. Dies hat mich auch „nur“ 6 Stunden Arbeit gekostet. Als nächstes Schmankerl sollten diese Skripte alle blockierten Mail der letzten 24 Stunden nach Aufruf des Skriptes anzeigen. Nun hat ASSP aber die dumme Angewohnheit selbstständig und ohne Einflußmöglichkeit meinerseits, Punkt 24:00 Uhr das alte Logfile umzubenennen und ein neues, unter dem alten Namen anzulegen. Da ich nicht bis Mitternacht warten möchte, sondern die Spamübersicht gern dann hätte, wenn ich nach Hause komme, heißt das alle Logfileeinträge von aktuellen Logfile von heute 00:00 – 18:00 Uhr parsen, und das gestrige Logfile von 18:00 bis 24:00 Uhr. Ich muss ja nicht erwähnen, daß reizeshalber das aktuelle Logfile immer maillog.txt, das vorangegangene aber immer das Datum im Namen hat und sich damit der Dateiname jeden Tag ändert (spaßige Monats- und Jahreswechsel eingeschlossen).

Da ich aber ein 1337h4xx0r-|°r0gr4mm0r bin, habe ich mich auch dieses Reizes angenommen und nach „nur“ weiteren 6 Stunden habe ich auch diese (und alle anderen) Probleme gelöst. Und da ich das alles nicht am Stück, sondern noch schön abends daheim geproggt habe, hat mich der ganze Spaß eine Woche lange bis nachts um 1 um den Schlaf gebracht. Vielen Dank auch. Und weil ich so lieber Jedi bin, möchte ich allen anderen, die ein Bedürfnis nach täglichen Spamübersichtsmails beim ASSP haben, mein Skript hier zur Verfügung stellen. Hatte ich schon erwähnt, daß ich von Perl Null-Komma-Null Ahnung habe? Also keine Beschwerden, wenn das Skript einfach nur schlecht ist oder nicht sauber funktioniert.

(klicken um den Code zu sehen oder zu kopieren)

#!/usr/bin/perl

# Collects data for daily spam report
# (c) Marco Michelino 2006 under the terms of the GPL

use DBI;
use bytes;
use Mail::Sendmail qw(sendmail %mailcfg);

%monate=qw(Jan 01 Feb 02 Mar 03 Apr 04 May 05 Jun 06 Jul 07 Aug 08 Sep 09 Oct 10 Nov 11 Dec 12);
%monate2=qw(01 Jan 02 Feb 03 Mar 04 Apr 05 May 06 Jun 07 Jul 08 Aug 09 Sep 10 Oct 11 Nov 12 Dec);

open(F,"<assp.cfg");
while ($line = <F>) {
	($key, $value)= split(/:=|\n/, $line);

	# mysql Zugangsdaten besorgen
	if ($key =~ /myhost/) {
		$myhost= $value;
	} elsif ($key =~ /myuser/) {
		$myuser= $value;
	} elsif ($key =~ /mypassword/) {
		$mypassword= $value;
	} elsif ($key =~ /mydb/) {
		$mydb= $value;
	} elsif ($key =~ /subjectLogging/) {
		$subjectLogging= $value;
	}
}
close F;

# Datenbankverbindung aufbauen
$db=DBI->connect("DBI:mysql:$mydb:$myhost",$myuser,$mypassword) || die "cannot connect to database\n";

$create=$db->prepare('CREATE TABLE IF NOT EXISTS spam_report (
                      date timestamp NOT NULL,
                      sender varchar(100) NOT NULL,
                      recipient varchar(100) NOT NULL,
                      subject varchar(100) NOT NULL,
                      reason varchar(100) NOT NULL,
                      INDEX (date))'); 
$create->execute || die "no permissions on database\r\n";
$truncate=$db->prepare('TRUNCATE TABLE spam_report');
$truncate->execute || die "no permissions on database\r\n";

$write_spam_report= $db->prepare('INSERT INTO spam_report VALUES (?, ?, ?, ?, ?)');


# Tage berechnen
$d1=getToday();
$d2=getYesterday();
$length = @ARGV;
@files = ("logs\\maillog.txt");

if ($length != 0) {
	$d2=makeDate(@ARGV[0]);
	for (my $i=0; $i < $length; $i++) {
		unshift(@files, "logs\\@ARGV[$i].maillog.txt");
	}
} else {
	unshift(@files, getYesterdayMaillog());
}

foreach(@files) {
	open(F,"<".$_);
	my $counter = 0;
	while ($line = <F>){
		#print $line;
		if ($line !~ / passing if safe because testmode, otherwise /) {
			if ($line =~ / \[DNSBL\].* failed DNSBL: /) {
				$counter++;
				($vorne, $hinten)= split(/ failed DNSBL: /, $line);
				($date, $time, $test, $ip, $sender_angles, $w1, $recipient, $rest)= split(/ /, $vorne);
				($w2, $sender)= split(/<|>/, $sender_angles);
				($w3, $subject)= split(/ /, $hinten);
				$write_spam_report->execute(makeTimestamp($date, $time), $sender, $recipient, makeSubject($subject), 'DNSBL failed');
			} elsif ($line =~ / \[MessageLimit\].* Message Limit: /) {
				$counter++;
				($vorne, $hinten)= split(/ Message Limit /, $line);
				($date, $time, $test, $ip, $sender_angles, $w1, $recipient, $rest)= split(/ /, $vorne);
				($w2, $sender)= split(/<|>/, $sender_angles);
				($w3, $subject)= split(/ /, $hinten);
				$write_spam_report->execute(makeTimestamp($date, $time), $sender, $recipient, makeSubject($subject), 'Message Limit');
			} elsif ($line =~ / \[URIBL:max-uris\].* failed URIBL checks /) {
				$counter++;
				($vorne, $hinten)= split(/ URIBL checks \(maximum uris exceeded\) /, $line);
				($date, $time, $test, $ip, $sender_angles, $w1, $recipient, $rest)= split(/ /, $vorne);
				($w2, $sender)= split(/<|>/, $sender_angles);
				($w3, $subject)= split(/ /, $hinten);
				$write_spam_report->execute(makeTimestamp($date, $time), $sender, $recipient, makeSubject($subject), 'URIBL checks failed');
			}
		}
	}
	print "$counter Eintraege fuer $_\r\n";
}
close F;

# Mailversand starten
$read_spam_read = $db->prepare('SELECT date, sender, recipient, subject, reason FROM spam_report WHERE date between ? and ? ORDER BY date');
$read_spam_read->execute($d2, $d1);
$text="<html><body style=\"font-family: Arial; font-size: 10pt;\">";

if ($read_spam_read->rows) {
	$subj = $read_spam_read->rows." blockierte Spammails am ".getTodayString();
	$text.=$subj;
	$text.="<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"font-family: Arial; font-size: 10pt;\">";
	
	while (@spam= $read_spam_read->fetchrow_array()) {
		$text.="<tr><td>&nbsp;</td><td>&nbsp;</td></tr>";
		#$text.="um: $spam[0]\r\n";
		$text.="<tr>";
		$text.="<td>von:&nbsp;</td>";
		$text.="<td>$spam[1]</td>";
		$text.="</tr>";
		#$text.=" an $spam[2]\r\n";
		$text.="<tr>";
		$text.="<td>Betreff:&nbsp;</td>";
		$text.="<td><b>$spam[3]</b></td>";
		$text.="</tr>";
		$text.="<tr>";
		$text.="<td><small>Grund:&nbsp;</small></td>";
		$text.="<td><small>$spam[4]</small></td>";
		$text.="</tr>";
	}
	$text.="</table>";
} else {
	$subj ="keine blockierte Spammails am ".getTodayString();
	$text.="<p>$subj</p>";
}
$text.="</body></html>";

%mail= (
	From	       => 'spam@domain.de',
	To	           => 'admin@domain.de',
	'Content-Type' => 'text/html; charset="iso-8859-1',
	Subject        => $subj,
	Message        => $text
);
sendmail(%mail) or print "domain.de $Mail::Sendmail::error\r\n";
$read_spam_read->finish;

sub makeDate {
	my ($y, $m, $d) = split(/-/,shift());
	my $y=sprintf("%02d",$y);
	my $m=sprintf("%02d",$m);
	my $d=sprintf("%02d",$d);
	return "20$y$m$d".getDateString(time(),"%H%M%S");;
}

sub makeTimestamp {
	my ($mon, $d, $y) = split(/-/,shift());
	my $d=sprintf("%02d",$d);
	
	my ($H, $M, $S) = split(/:/,shift());
	my $H=sprintf("%02d",$H);
	my $M=sprintf("%02d",$M);
	my $S=sprintf("%02d",$S);
	
	return "20$y$monate{$mon}$d$H$M$S";
}
 
sub makeSubject{
	$subject = shift();
	$subject .= '';
	$subject =~ s/_/ /g;
	return $subject;
}

sub getToday {
	return getDateString(time(),"%y%m%d%H%M%S");
}

sub getYesterday {
	return getDateString(time()-(24*60*60), "%y%m%d%H%M%S");
}

sub getTodayString {
	return getDateString(time(),"%d. %mon. %Y");
}

sub getYesterdayMaillog {
	return getDateString(time()-(24*60*60),"logs\\%y-%m-%d.maillog.txt");
}

sub getDateString {
	@t = localtime(shift());
	$format = shift();
	
	my $y=sprintf("%02d",@t[5]-100);
	my $Y=sprintf("%04d",@t[5]+1900);
	my $m=sprintf("%02d",@t[4]+1);
	my $mon=$monate2{$m};
	my $d=sprintf("%02d",@t[3]);
	my $H=sprintf("%02d",@t[2]);
	my $M=sprintf("%02d",@t[1]);
	my $S=sprintf("%02d",@t[0]);
	
	$format =~ s/%y/$y/;
	$format =~ s/%Y/$Y/;
	$format =~ s/%mon/$mon/;
	$format =~ s/%m/$m/;
	$format =~ s/%d/$d/;
	$format =~ s/%H/$H/;
	$format =~ s/%M/$M/;
	$format =~ s/%S/$S/;
	
	return $format;
}

 

Um im Gegensatz zu der Fundstelle des Originalskripts, leg ich sogar noch ne Anleitung obendrauf, Wahnsinn, was? Also, das Skript muß in den ASSP-Ordner kopieren werden. Es parst eine Menge von Logfiles, sucht nach Fundstellen für blockierte Mails und schreibt die Metadaten in eine MySQL-Datenbank-Tabelle. Anschließend wird aus dieser Tabelle eine chronologische Übersicht erzeugt und an eine Mailadresse verschickt. Dazu ist es nötig, daß in der Datei assp.cfg die Verbindungsdaten zur lokalen MySQL-Datenbank eingetragen sind.

Im ASSP-Ordner kann das Skript über eine Konsole oder auch als geplanter Task mit dem Kommando „perl spam-report.pl“ gestartet werden. Ohne weiteren Parameter liest das Skript standardmäßig die Logdatei logs\maillog.txt und die des Vortages aus (z.B. logs\07-08-16.maillog.txt). Als Kommandozeilenparameter kann man auch einzelne Tage angeben, deren Logfiles geparst werden sollen. Dies ist praktisch, wenn man mehr als 24 Stunden zurückgehen will, daher ist die aktuelle Datei unter logs\maillog.txt auch immer mit dabei. Ergo sähe der Aufruf vom 9. bis zum (fiktiv heutigen) 11. Juli so aus:

perl spam-report.pl 07-07-09 07-07-10

In Zeile 133 und 134 trägt man dann noch die Absender- und Empfangsadresse ein. Damit man das Skript die Mail auch versenden kann, muß man ASSP das Relaying von localhost aus erlauben. Dazu in der ASSP-Weboberfläche unter der Rubrik „Relaying“ beim Punkt „Accept All Mail“ den Wert „127.0.0.1“ hinzufügen. Außerdem muß die Absenderadresse in die Ausnahmeliste eingetragen werden, sonst erkennt ASSP dies Mail (korrekterweise) als Spam und blockiert sie vor uns selbst 🙂 Dazu in der Weboberfläche in der Kategorie „SPAM Lover/No Processing“ bei der Option „Unprocessed Addresses“ die From-Adresse im Skript eintragen. Hat man das alles erledigt, kann man einen geplanten Task oder cronjob auf täglicher Basis einrichten und das Skript mailt einem eine hübsch formatierte Spamübersicht in HTML-Mail zu. Wer meint das Skript in irgendeiner weise überarbeiten zu müssen, darf das hiermit gerne tun, solange er mir keine Programmierfragen stellt.

Verkauft und dann verraten

Was für ein Reiz (im Sinne von Brechreiz). Es ist wie immer, wenn ich größere Anschaffungen machen möchte: die Händler wollen mein Geld einfach nicht. Sei es bei einem 400 € Handy oder halt jetzt ein Auto. Aber ich erzähle am besten mal von vorne.

Im Mai diesen Jahres machte ich mich auf die Suche nach einem schicken gebrauchten Alfa GT als Tageszulassung (TZ) oder Vorführwagen. Leider mußte ich schnell feststellen, daß der Markt doch dünn gesät ist mit GTs, und sämtliche Händler in der Nähe hatten keine TZs vorrätig. Selbst eine Probefahrt gestaltet sich schwierig, doch dank des beherzten Einsatzes eines Herrn XXX der Scuderia Sportiva in Bonn (viele Grüße und beste Empfehlungen dahin), konnte ich ein Kundenfahrzeug probefahren und war von dem Fahrzeug restlos überzeugt.

Die Suche nach TZ ging weiter und führte mich nach Remscheid, wo ein Händler, dessen Namen ich lieber nicht nennen würde, mehrere Dutzend brauchte GT anbot. Auch zwei in 80% meiner Wunschkonfigurtion, leider ließ er mich zwei Wochen warten, bevor er mir mitteilte daß die Wagen doch nicht mehr zur Verfügung stehen. *reiz*

Also noch mal hingefahren, um die anderen GTs zu begutachten. Leider stellte sich heraus, daß fast alle Autos kleinere bis größere Macken auswiesen. Enttäuscht und desillusioniert schickte er uns in die Fiat Hauptniederlassung in Düsseldorf. Dort wurde ich fündig, ein Auto wäre in deiner Zweigfiliale verfügbar, aber noch blockiert. Flott telefoniert und das Auto war freigegeben und der Kaufvertrag unterzeichnet. Doch einen Tag später kam dann der größte Reiz: das Auto war schon verkauft, nur zum Kaufzeitpunkt im Computer noch nicht aktualisiert. *REEEIIIIZZ*

Und daß beste an der ganzen Story: das Auto stand jetzt bei dem Händler, der mich eben nach Düsseldorf geschickt hatte!!! Ein Schelm, wer sich hier verarscht vorkommt und pseudo-kriminelle Machenschaften vermutet. Der Vertrag wurde für ungültig erklärt und mir das gleiche Auto ein zweites Mal angeboten! Trotz aller Begeisterung, ist mir dann die Lust am Auto vergangen. Unbestritten der Reiz des Jahres.

ein Leben nach WoW

Was macht ein WoW-Charakter eigentlich, wenn er 60 geworden ist? Seit dem ich im Oktober mit meiner Magierin endlich Level 60 erreicht habe, bin ich spielerisch an einem Totpunkt angelangt. Keine Quests mehr. Keinen Bedarf mehr schrottiges T-0 zu farmen, keine Lust viele Stunden lang oder mit viel Gold den Ruf zu steigern, oder ständiges „Manaopfer“ im PvP zu sein. Und keine Lust sehr viele Male 4-6 Stunden im Raid zu hängen, um mir mit 20 oder 40 anderen Leute ein episches Item zu holen, dass nur mit 2% droppt und ich mir auch noch gegen 2-5 andere erwürfeln/ersteigern muß. Twinken und die ganze Scheisse noch mal von vorne beginnen? Nein danke. Dafür war der Weg zur 60 zu steinig und stellenweise zu frustgeladen.

Auch mit Burning Crusade hätte sich das nicht grundlegend geändert. Es hätte sicherlich sehr viel Spaß gemacht mit den Freunden aus der Gilde auf 70 zu leveln, aber danach wäre die selbe Situation eingetreten wie mit 60. Neue Instanzen, neue Epic-Items aber der selbe spieleriche Totpunkt. Und das ist auch der Grund warum ich BC Anfang Januar zum zweiten Mal abbestellt habe und dem guten Geld (für das bisher erlebte) nicht noch schlechtes für das BC-Addon hinterher geworfen habe.

BC wurde dann veröffentlicht, und der von mir befürchtete Servereinbruch blieb aus. Stattdessen ein hohes Maß an Verwirrung: ich kam nicht man an die Infos auf der Webseite ran. Schneesturm hatte einfach mal so die Webseite abgeschaltet und durch eine Seite ersetzt, wo man BC entweder kaufen oder registrieren konnte. Alte Kunden – unerwünscht. Extrem penetrant, wie Schneesturm versucht BC an den Mann zu bringen. Auf dem Gameserver sah’s nicht viel besser aus: gähnende Leere in Ironforge (nein, ich weigere mich es Ei***schmiede zu nenne), alle sind schon in der Scherbenwelt oder fliegen in Dalaran herum. Als Nicht-BC-ler kommt man sich ziemlich alleingelassen und verarscht vor. Danke Schneesturm. Aber so ist es halt, wer nicht mit der Zeit geht, geht mit der Zeit.


Nachtrag Ende Februar 2007

Seit ich mit WoW aufgehört habe, habe ich endlich wieder mehr Zeit für die wichtigen Sachen im Leben. Finde endlich die Zeit liegendgebliebene Sachen aufzuarbeiten, finde Zeit für mich und meine Freunde und geniesse es mein Leben nicht mehr nach dem Spiel ausrichten zu müssen. MMORPG können ja so hinterhältig sein: erst fesseln sie einen mit Abenteuern, dann lernt man echt nette Gleichgesinnte kennen, schließt Freundschaften, von denen man sich später umso schwerer wieder trennen kann.

In IF wurde es zwar langsam wieder voller, die ersten 70 prollen mit ihrem Flugmount rum, doch meine Motivation näherte sich dem absoluten Nullpunkt. Ich war nur noch im Wochenrhythmus online, stand gelangweilt am Jahrmarkt rum und chattete hauptsächlich mit der Gilde. Heute war es dann endlich so weit und ich habe meinen WoW-Ordner einfach so von der Festplatte gelöscht. Hat auch gar nicht weh getan, fast schon völlig emotionslos. Ich bin froh, daß das Spiel aus eigener Kraft hinter mir gelassen und dem Suchtpotential widerstanden habe.

Telefonreiz

So, ich hab ein neues DECT-Telefon gekauft. Extra mit Sprachwahl und Outlook-Synchronisation. Anschließen und so ging ja super easy. Halbe Stunde und alles lief. Selbst das Uralt-Gigaset 1010C funzt auf Anhieb. Doch dann ging der Reiz los.

Als nach einer Woche endlich das Datenkabel kam, wollt ich die Rufnummern aus dem Outlook syncen. Teflon angeschlossen, aber nichts passiert. Hab dann irgendwann geschnallt, daß die Software still und heimlich im Hintergrund nach dem Telefon sucht. Ich dacht schon das Kabel wär kaputt. Naja, Outlook problemlos ausgelesen und Adressdaten auf das Telefon gezogen. Und dann stand da nur „Datenübertragung“ und das ziemlich lange. Habs abgebrochen und noch mal probiert, noch länger gewartet und siehe da, fast eine Stunde später sind die Daten auf dem Telefon. Warum das so lange dauert? Keine Ahnung. Da is ja ein 9600 Baud-Moden schneller als diese spezielle Siemens-USB-Kabel.

Aber was ist das? Die Telefonnummer beginnen alle mit 0049 statt wie im Outlook mit +49. Ist zwar auch korrekt, doch dummerweise kommt diese be…. Telefon mit dem + nicht klar. Wenn man +49 wählt, bekommt man die Meldung der Ländercode wäre nicht richtig. Na toll auch. Also alles nach CSV exportiert, geändert und neu eingespielt (naja, dazwischen gabs noch mehr Reiz, den ich jetzt lieber net erwähne). Dauert ja nur wieder ne 3/4-Stunde. Hab dann einen Eintrag geändert und will wieder synchonisieren. Was passiert? Wieder ne 3/4 Stunde warten. Für jede Änderung wird das komplette Telefonbuch gelöscht und neu aufgespielt. Was für ein Reiz! Wie behindert kann ein Programmierer eigentlich sein?

Und als ob das nicht reichen würde, hab ich bei der Kontrolle festgestellt, das nicht alle 60 Kontakte übertragen wurden, sondern nur zwei Drittel davon. Warum das eine Drittel fehlt? Keine Ahnung. Hab ich dann per Hand nachgetragen. Zuviel Reiz auf die Scheiss-Software. Wenigstens die Sprachwahl funzt astrein. Warum ich da aber die Namen zuerst aufnehmen muß, und nicht direkt sprechen kann wie bei meinem Handy frag ich mich allerdings. Aber damit kann ich leben.

zur Wahl

Ich finds doch sehr interessant, zu welche interessant abstrusen Ergebnisse unsere tollen Meinungsforscher immer wieder kommen. Da ist mal wieder zu lesen, daß 51% der Wähler keinen Politikwechsel wollen, aber nur 19% wollen daß die bestehende Koalition weiterhin im Amt bleibt, 35% sind für CDU/FDP. Kommt das nur mir spanisch vor? Und angeblich hat ja jede noch so kleine Aussage Auswirkungen auf das Wählerverhalten. Überall purzeln und rotieren die Prozente; ich kann’s bald echt nicht mehr hören. Sind wir Wähler wirklich so beeinflußbar? Machen wir unsere Entscheidung wirklich von Versprechern und Krawattenfarben abhängig? Sind wir wirklich so blöd? Weiterlesen

Veröffentlicht in Reiz