So macht das echt keinen Spass. Die System-Load auf meinem Server bewegt sich zeitweise jenseits der 50, Apache und MySQL gehen dementsprechend auf dem Zahnfleisch, manche Skripte laufen Amok weil sie in Timeouts laufen. Die Prozesstabelle zeigt fast nur noch httpd, ein Blick in dessen Logfiles offenbart ungewoehnlich viele Eintraege nach einem bestimmten Muster:

# egrep "wp-comments-post.php.*Maxthon" /var/log/apache/access.log | wc -l
23930

Natuerlich freue ich mich ueber Kommentare im Blog, aber das erklaert warum das Spam-Plugin in den letzten Tagen teilweise ueber 5000 Beitraege pro Tag weggefiltert hat. :-(

Mal sehen, wie viele Besucher Zombies das denn so sind:

# egrep "wp-comments-post.php.*Maxthon" /var/log/apache/access.log | cut -d " " -f 1 | sort -un | wc -l
393

OK, das schreit nach Gegenmassnahmen:

egrep "wp-comments-post.php.*Maxthon" /var/log/apache/access.log | \
cut -d " " -f 1 | sort -un | while read ip; do iptables -A INPUT -i eth0 -s $ip -j DROP; done

Mal sehen wie lange das jetzt vorhaelt. Spaetestens ein Reboot macht diese Erste-Hilfe-Massnahme wieder zunichte, aber die feine englische Art ist das ja eh nicht. Hat vielleicht jemand eine bessere Idee?

Hiermit entschuldige ich mich bei allen Besuchern, die durch den Kommentarspam in meiner Galerie gestoert wurden. Und vor allem bei denen, die sich die Muehe gemacht haben ernsthaft zu kommentieren — auch wenn es nicht viele waren. Von den 2153 Kommentaren, die da bis vorhin drin waren ist nichts mehr uebrig, und ich wuensche im Moment allen Spammern einen zeitnahen, langsamen und schmerzhaften Tod. :-(

Ab sofort ist auch da ein Captcha im Einsatz. Was der Gallery noch fehlt ist eine Moeglichkeit, neue Kommentare auch per Mail zu verschicken. Oder habe ich da nur was uebersehen?

Ein neuer Blog zum Thema Shell, ich bin gespannt wie der sich entwickeln wird. Die Idee finde ich gut. Gibt es einen Mechanismus, mit dem man Beitraege aus dem eigenen Blog direkt da zur Verfuegung stellen kann?

Tiny MenuMit dem Platz auf dem Bildschirm ist es wie mit dem Hubraum im Auto: Das einzige was besser ist als eine hohe Auflösung ist eine noch höhere Auflösung. Klar, daß ich da auf meinem kleinen Notebook (IBM X22) mit seinen 1024×768 Pixeln haushalten muß.

OK, Shell-Anwendungen lassen sich da schon wirklich gut benutzen. Das einzige regelmäßig benutzte Programm mit grafischer Oberfläche — Firefox — macht da schon weniger Spaß. Abhilfe schafft ein niedliches kleines Plugin: Tiny Menu. Damit wird die komplette Menüstruktur zu einem einzigen Menüpunkt zusammengefaltet, danach können die Icons aus der Toolbar in die Menüzeile gezogen und die Toolbar fachgerecht entsorgt werden.

Tiny MenuJetzt sieht es aber etwas merkwürdig aus, daß zwischen den Icons ein textueller Menüpunkt steht. Aus irgendeinem Grund funktioniert bei mir der entsprechende Tip von der Homepage des Plugins nicht, in der Datei chrome/userChrome.css des Benutzerprofils ein Icon zu definieren. Ich habe hier ein Arch Linux, ich weiss dass das mit dem FF auf Windows geht. Sachdienliche Hinweise nehme ich gerne entgegen. Edit: Mit dem originalen Firefox-Theme ging es nicht, nachdem ich aber eine an FF2.0 angepasste Version meines bevorzugten Themes (Pinball) installiert habe klappt es jetzt auch mit dem Icon.

Da ich damit gerade einen Kollegen glücklich machen konnte kann ich mir vorstellen, daß das von allgemeinem Interesse ist: Irgendwo in den Untiefen der Menüstruktur verbirgt der Firefox ein Fenster mit dem sich ‚private Daten‘, also History-Einträge für die Auto-Vervollständigung löschen lassen. Leider ist damit aber immer gleich alles weg.

Will man aber nur einzelne Einträge los werden — weil man sich beispielsweise mal irgendwo vertippt hat — hilft die Tastenkombination [Strg+Shift+Entf]. Man wählt in dem Auswahlmenü unter dem Eingabefeld einfach den überflüssigen Eintrag aus und verabschiedet sich mit einem beherzten Druck auf diese Tastenkombination. Das geht übrigens nicht nur in Eingabeformularen auf Seiten, sondern auch in der URL-Zeile und in der Suchbox.

MauszeigerzeigerMein letztes Mikrocontroller-Projekt ist gerade online gegangen: Das USB-Servo!

Im Prinzip kann man alles mögliche damit bauen, eigentlich hatte ich auch etwas anderes damit vor. Die Anwendung als Mauszeigerzeiger erschien mir aber schwachsinniger als die ursprüngliche Idee, daher habe ich das vorgezogen und als Beispielanwendung dazugepackt. :-)

Bei dem Projekt handelt es sich um eine kleine Schaltung mit der ein handelsübliches Servo wie es in ferngesteuerten Modellautos oder Flugzeugen benutzt wird am USB-Port angeschlossen und darüber gesteuert werden kann. Die Kontrolle — sowohl ueber das Servo als auch über die Kommunikation — übernimmt ähnlich wie bei meinem USB-LED-Fader ein ATmega8 mit dem USB-Treiber von Objective Development.

Das nächste Projekt ist schon in der Mache, wenn es fertig ist werde ich das natürlich auch hier veröffentlichen. Ich will noch nichts verraten, nur soviel: es ist noch sinnloser als der Mauszeigerzeiger… :-D