Hui! Prof. dr. Offensichtlich ist bundesminister geworden!

Ein BRD-entwicklungshilfeminister ist ja eher so eine gestalt, die bei den koalizjonsverhandlungen ein bisschen mitalimentiert wird — umso erstaunlicher, wenn da mal so eine CSU-type wie Gerd Müller ein bisschen medialen wind macht, indem er die leute dazu aufruft, „shell“-tankstellen zu boykottieren, nachdem er in nigeria mal gesehen hat, wie es dort in den kwasikolonien aussieht, auf denen der rasende konsumistische irrsinn wuchert. Aber für einen boykottaufruf gegen adidas…

Das neue Weltmeistertrikot der deutschen Fußball-Nationalmannschaft mit seinen vier Sternen koste 84 Euro. „Davon bekommt die Näherin in Bangladesch 15 Cent.“

…hat es nach seinen einsichten in die DFB-trikohvermarktung nicht mehr gereicht. Vermutlich befürchtete er, in seinem einsichtsreichen hochflug über einem bayerischen stammtisch abgeschossen zu werden.

Möge ihm jetzt bitte noch jemand erklären, was man unter „globalisierung“ versteht, und was in diesem als alternativlos eingeforderten prozess „global“ ist. Kleiner tipp: die menschen sind es nicht.

PR-fehlschlag des tages

Da wollte sich „Shell“ so gern so ganz anders präsentieren, als dieses unternehmen wirklich ist und hat eine tolle, PR-aktive veranstaltung mit wissenschaft und so in berlin machen wollen… und das ist bei der angelichen präsentazjon eines CO2-rückgewinnungsverfahrens so gründlich fehlgeschlagen, dass ich mich nur so drüber freue. 😀

Jeder reklame- und PR-typ, der mit einer krawatte aus hanf am baume hängt — vorher hören die ja nicht mit ihren menschenverachtenden hirnficks auf — ist ein guter anfang.

URLs aus einer HTML-datei extrahieren

Da fragt mich doch jemand, wie man mit einem regulären ausdruck und sed die URLs aus einer HTML-datei extrahieren kann. Meine erste reakzjon: „Damit ist sed ein bisschen überfordert, das wird eine sehr lange zeile“. Aber ich habe ja nochmal nachgedacht, und dann fiel mir ein, dass der textbrauser lynx dieses problem schon hervorragend löst, und etwa zwei minuten später ging die folgende funktion für die sh raus:

getlinks()
{
  for i
  do
    lynx -dump -listonly "$i" | sed 1,3d
  done | sed "s/ *[0-9]*\. *//" 
}

Diese funkzjon getlinks kann mit beliebig vielen HTML-dateien oder auch gültigen URLs als parameter aufgerufen werden, und lynx erledigt den größten teil der arbeit. Heraus kommt eine Liste mit den URLs, jede hübsch einzeln auf einer zeile und ohne weiteren kram, der die weitere verarbeitung in einem skript erschwert. Die ausgabe wird mit zwei sed-befehlen gefiltert. Der erste entfernt die laufenden nummern, die am anfang der zeilen stehen. Das sollte eigentlich auch mit der lynx-opzjon -nonumbers gehen, aber unglücklicherweise verstand der lynx auf der kiste, auf der dieses skript laufen sollte, ausgerechnet diese eine opzjon nicht und wir hatten keine lust, schnell einen neuen zu kompilieren. Der zweite audruck löscht einfach nur die ersten drei zeilen, die eine hier störende überschrift enthalten. Wer diese funkzjon benutzen will, sollte sich aber vorher einmal die ausgabe von lynx -dump -listonly anschauen, denn es ist nicht auszuschließen, dass die ausgabe in anderen versjonen ein bisschen anders aussieht.

Wenn es eine wirkliche stärke unixoider betriebssysteme gibt, denn ist es die art, wie man sich die bestehenden programme „zusammenstecken“ kann, um mit relativ wenig aufwand komplexe probleme zu lösen. Das war in den siebziger jahren schon ein starkes konzept, und es ist auch vierzig jahre später noch unendlich nützlich. Leider gerät es mit dem vordringen grafischer klickflächen immer mehr in vergessenheit, selbst bei menschen mit guten technischen kenntnissen — und in der folge werden viele probleme mit viel zu großem aufwand gelöst.

Mit wpcmd macht das bloggen wieder spaß

Nachdem ich mich jetzt schon so lange über das immer schwerfälliger und langsamer werdende wördpress geärgert habe, habe ich endlich zur selbsthilfe gegriffen und mir eine blogsoftwäjhr für die kommandozeile zusammengehäckt. Und auf einmal macht das bloggen wieder spaß.

Was ich so toll an meiner idee finde, ist die möglichkeit zur automatisierung. Ich habe meine texte schon immer offline geschrieben, um sie besser archivieren zu können. Dabei habe ich ordner für jahr und monat angelegt, in denen ich die texte gespeichert habe, und nach der veröffentlichung habe ich diese texte in einem ordner published abgelegt, um nicht die übersicht zu verlieren. Jetzt habe ich ein programm für die kommandozeile, und meine erste tat war das verfassen eines kleinen shellskriptes, um diesen vorgang zu automatisieren.

Dieses skript sieht so aus:

#!/bin/sh

dir=~/Dokumente/Blogtexte/`date +%Y-%m`
cd $dir
test -d published || mkdir published
for i in *.txt
do
    if grep -q '^!![:space:]*blog:' "$i"
    then
        wpcmd -v "$i"
        mv "$i" published
    fi
done

Der seltsame grep -q macht einerseits keine ausgabe nach stdout, das ist der zweck von diesem komischen -q (eine opzjon noch aus frühesten unix-zeiten), aber grep hat ja einen rückgabewert, der ungleich 0 ist, wenn der suchausdruck nicht gefunden wurde. Und der ausdruck nach dem grep gibt eine zeile an, die in jedem blogfähigen text enthalten sein muss, so dass niemals „versehentlich“ ungeeignete texte gepohstet werden. Ich habe mir mit diesen paar zeilen shellskript doch tatsächlich meinen kompletten vorherigen wörkflou automatisiert und kann mich wieder völlig darauf konzentrieren, meine texte zu in meinem lieblingseditor zu schreiben. (Der übrigens immer noch ein emacs ist, ja, ich weiß… — aber ich bin dieses monster jetzt seit jahrzehnten gewohnt. Vielleicht bringe ich ihm demnächst mal das bloggen bei, das fehlt noch in emacs. Wenn nur diese vielen klammern in diesem scheiß-lisp nicht wären.)

Na ja, immerhin habe ich mir einen hübschen starter auf meinem desktopp gebastelt, der mein skript aufruft und alles auf einen klick runterbloggt.

Wenn bloggen gar nicht mehr nerdy ist, denn muss man es eben nerdy machen. Und immer daran denken: CODE IS PROSA, NOT POETRY… :mrgreen:

Ich glaube aber nicht, dass ich in den nächsten vier wochen das wpcmd-projekt noch einmal anfassen mag. Ich bin froh, dass ich gerade mal ein paar tage ruhe gefunden habe, das, was jetzt fertig ist, auch richtig zu machen. Wie man an diesem pohsting sieht, lässt sich mit der jetzigen alfa ganz gut bloggen. Für die zukunft steht ganz oben auf meiner liste, etwas dreckscode in wpcmd besser zu machen (betrifft vor allem die applohd-funkzjon) und ein paar pohsteigenschaften zusätzlich setzen zu können (vor allem das veröffentlichungsdatum, denn ich blogge manchmal in die zukunft) — und denn kommen erstmal jede menge admin-möglichkeiten, in erster linje kommentarmoderation an der kommandozeile. Wenn der stand erreicht ist, den ich haben will, brauche ich die adminoberfläche in wordpress nur noch in sehr seltenen fällen.