28.03.2013

Datenschutz und Privatsphäre: eine Hilfe

Vor einiger Zeit habe ich ja schon mal über die Zukunft mit der Technik geschrieben und erwähnt, dass ich nebenher ehrenamtlich Vorträge über Datenschutz und Privatsphäre halte. Darüber wollte ich schon einige Zeit etwas ausführlicher schreiben, jetzt hab ich mir endlich mal die Zeit dazu genommen ;)

Dieser Vortrag mit dem Titel "manage your identity" wurde im Jahr 2011 von einem Kollegen bei IBM anlässlich des 100. Geburtstags der Firma entworfen und freiwillige Mitarbeiter können diesen Vortrag seitdem kostenlos an z.B. Schulen oder vor anderen interessierten Gruppen halten. Darunter fallen natürlich auch Schulelternbeiräte, Schulkonferenzen oder Vereine, die ein Thema für einen Gastvortrag suchen.

Wer also nach dem Lesen des Blogartikels Interesse daran hat, dass ich mit diesem Vortrag zu Besuch komme, der kann sich gern per Email oder in den Kommentaren an mich wenden, damit wir einen Termin vereinbaren können. Das ist nicht mit Werbung für IBM verbunden, keine Angst ;). Ich würde das gern örtlich begrenzen, ich halte also keine Vorträge, für die ich eine stundenlange Anreise hätte.

IBM behauptet mit Recht, dass große Firmen, insbesondere aus dem Technologiesektor, eine besondere gesellschaftliche Verantwortung haben, um die Menschen mitzunehmen und sie nicht am Wegesrand stehen lassen. Das kann ich aus eigener Erfahrung bestätigen: ich kann meine ehrenamtlich geleistete Zeit in eine besondere Zeiterfassung bei IBM eingeben und dann als Belohnung einmal im Jahr eine Spende für diese Institution beantragen. Auf diese Weise hat die Jim-Knopf-Schule schon zweimal eine Spende von IBM bekommen, einmal für das Frühstücksprojekt und einmal für die Lese-AG, in denen ich mitarbeite.

Dieser Blogartikel soll keine Werbeveranstaltung für IBM werden, aber ich wollte es wenigstens mal in einem Absatz erwähnen. Das Buch zum Geburtstag ist übrigens sehr interessant und flüssig geschrieben und lohnenswert zu lesen.

Wir stehen meiner Meinung nach vor einer gigantischen Umwälzung, und obwohl ich wie schon erwähnt in einer Technologiefirma arbeite, kann ich mir kaum vorstellen, wie die Technik unser weiteres Leben verändert.

Deshalb ist es mir wichtig, das weiterzugeben, was ich selbst lerne und erlebe. Viele Menschen verwenden Technik so gut sie können, die Betonung dabei ist: so gut sie es eben können. Das muss nicht unbedingt die optimale Weise sein, aber wenn es ausreicht, ist das ja auch in Ordnung. Man muss ja nicht das Gerät komplett ausreizen. Allerdings habe ich auch schon oft (am PC und am Smartphone) erlebt, dass jemand etwas besonders umständlich macht oder sich eine Arbeitsmethode ausgedacht hat, die unsicher ist, d.h. eine Methode, die gefährlich ist, weil dabei Daten kaputt oder verloren gehen können oder es eben Bösewichten leicht gemacht wird, Schaden anzurichten.

Meiner Meinung nach ist das "tragbare Internet" in Form von Smartphones eine der tollsten und grandiosesten Erfindungen, die überhaupt jemals gemacht wurden. Smartphones bieten den Zugriff auf Wissen wie Wikipedia, Google usw., aber ebenso können sie alltägliche Daten speichern, die man sich nicht mehr mit Mühe selbst merken muss (Termine, Einkaufslisten usw.). Die Bandbreite der Einsatzmöglichkeiten von "Apps" auf Smartphones ist sicherlich noch nicht annähernd ausgereizt, und ich persönlich bin gespannt darauf, was alles noch kommen mag. Meine Frau z.B. will im Mai nach Hamburg auf den diesjährigen Kirchentag fahren. Dafür wurde eine eigene App angekündigt, damit man seine Veranstaltungen besser organisieren und leichter finden kann. Darauf ist sie jetzt schon ganz gespannt mit ihrem runderneuerten Motorola Milestone2 ;)

Diese Smartphones bieten natürlich nicht nur grandiose Möglichkeiten, sondern auch grandiose Gefahren. Gerade letztens habe ich von einer Schätzung gelesen, dass die Computerschädlinge (Viren, Trojaner, Datendiebe usw.) auf Smartphones jetzt erst richtig loslegen. Android hat einen Marktanteil von über 70% und hat Apple verdrängt. Damit ist zu erwarten -- genau wie bei Windows -- dass Android aufgrund der Verbreitung dieses Betriebssystem zu einem interessanten Angriffsziel wird. Das ganze übrigens nicht nur von Bösewichten, sondern auch staatlicherdings.

Eigentlich wollte ich ja ein bißchen mehr über diesen Vortrag "manage your identity" erzählen. Also mach ich das jetzt auch mal langsam ;)

Diesen Vortrag halte ich kostenlos nach Vereinbarung, eigentliche Zielgruppe sind Schulklassen oder Elternbeiräte, aber ist natürlich nicht darauf beschränkt. Es gibt zwei Varianten davon, für Sekundarstufe I (5.-10. Klasse) und für Sekundarstufe II (11.-13. Klasse). Der Vortrag ist sinnvoll ab der 7. Klasse, wenn die Kurzen loslegen mit Facebook und Co. Andererseits erlebe ich, dass sich unsere Kinder schon deutlich früher dafür interessieren und auch immer früher ein Smartphone mit Internet-Flatrate bekommen. SchülerVZ erlaubt den Beitritt ab dem 11. Geburtstag, das kommt zeitlich etwa mit der sechsten Klasse. Ich habe den Vortrag auch schon erfolgreich in sechsten Klassen gehalten und dabei die Akzente etwas anders gesetzt. Das lief auch ziemlich erfolgreich, Kinder und Lehrer waren zufrieden ;)

In dem Vortrag geht es schwerpunktmäßig erstmal darum, dem Publikum zu erklären, was alles persönliche Daten sind und wer sie bekommen darf (oder muss oder eben nicht). Einige Tatsachen sind den meisten durchaus schon klar, andere hingegen kommen ziemlich überraschend.

Danach geht es im Vortrag weiter, warum jemand unsere Daten haben will (staatliche Stellen, Firmen, usw.), ob die das dürfen, wo die Grenzen sind, und was auf keinen Fall erlaubt ist. Der Vortrag ist unterlegt mit einigen kurzen satirischen Videos, in denen gezeigt wird, wie großzügig manche Leute mit ihren Daten umgehen, weil ihnen gar nicht bewusst ist, wie sensibel das ist, was sie da gerade herauszugeben gebeten werden, oder wie es wäre, wenn man sich im "echten Leben" genauso benehmen würde wie in einem sozialen Netzwerk im Internet.

Meistens sind die Zuhörer (insbesondere die Lehrer) ganz schön erschrocken, was so alles mit ihren Daten passieren kann, insbesondere, wenn man Daten aus vielen verschiedenen Lebensbereichen zusammenführen kann ("big data"). Besonders erschrecken die meisten, wenn ich das Beispiel mit der iPhone-App "Where are the girls" anführe und beschreibe, dass mit der Löschung der App aus dem Store das grundsätzliche Problem der öffentlichen Daten ja eigentlich gar nicht gelöst ist ... Ein anderes schönes Beispiel dafür, was Konzerne aus ihren Daten alles schlussfolgern können, findet sich hier: Versandhaus weiß von Schwangerschaft vor den Eltern.

Auch die Anonymität und Pseudonymität im Internet ist ein Thema ("in the internet nobody knows you're a dog"): niemand kann sich absolut sicher sein, ob sein Gesprächspartner oder "Freund" bei Facebook der ist, für den er sich ausgibt oder ob sich z.B. in eine Chatgruppe von (Mädchen-) Fans einer Boygroup bei WhatsApp nicht ein Erwachsener eingeschlichen hat, der sich dort an die Jugendlichen heranmachen will.

Im Zuge der immer weiter verschärften Gesetzgebung zum Thema Urheberrecht und der Gefahr von Abmahnungen in der Größenordnung von mehreren Tausend Euro muss natürlich auch das Kopieren und Weitergeben von Bildern, Musik, Filmen, ebooks etc. angesprochen werden, d.h. Tauschbörsen und Techniken wie eMule, BitTorrent usw.

Am Rand geht der Vortrag auch auf Cybermobbing ein, also das bewusste, dauerhafte Beleidigen und Herabsetzen von Mitmenschen (Mitschülern ...) im Internet (z.B. bei Facebook, in Chats usw.). Allerdings bin ich für dieses Thema kein Experte, das reiße ich an und empfehle danach, das Thema z.B. mit einem Schulsozialarbeiter weiter zu vertiefen.

In diesem Sinne: jeder sollte sich ein wenig mehr mit Technik beschäftigen, und sei es nur, um mit seiner Privatsphäre bewusst umzugehen. Nicht nur Facebook und Google wollen unsere Daten, sondern auch die Konzerne, die sich an Rabattkartensystemen und anderen Kundenbindungsprogrammen beteiligen, wollen gern soviel wie möglich über uns wissen.

Motorola Milestone2 mit Android 4.1.2 (CM10)

Wow, ich bin begeistert. Das hätte ich der alten Dame gar nicht zugetraut, dass sie mit Android 4.1.2 so eine gute Figur macht! Aber von vorne ... latürnich.

Ich habe vorhin das Motorola-Handy meiner Frau von Android 2.3.4 auf 4.1.2 upgedatet. Da es von Motorola keine eigene Version von Android 4 für das MS2 gibt, habe ich auf das Ergebnis einiger fleißiger Programmierer vom "CyanogenMod"-Team zurückgegriffen.

Ich bin begeistert, wie geschmeidig das Telefon mit der (fast) neuen Android-Version flutscht. Natürlich kann es von der Aktualität nicht mit den Nexus-Modellen mithalten, die von Google vollautomatisch neue Versionen erhalten.

Andere Hersteller bauen noch ihre eigenen Anpassungen wie "TouchWiz" oder "Sense" ein und müssen das wohl noch weltweit von den Telefonfirmen abnehmen lassen, bevor sie es als Update verteilen. Ich persönlich bevorzuge die schnellen Updates für Google Nexus-Modelle ;). Umgekehrt finde ich die meisten Erweiterungen und Anpassungen eher misslungen, MotoBlur ist hier in meinen Augen ein prominentes Beispiel.

Zuerst war ich ziemlich nervös, weil ich in einigen Foren gelesen hatte, dass man sein Telefon unbrauchbar machen kann ... dann hätte man nur einen Ziegelstein ("brick") als Briefbeschwerer.

Dann habe ich mit Tante Google nach Anleitungen gesucht und bin bei Android-Hilfe.de fündig geworden. Es ist wirklich recht einfach und hat sofort beim ersten Mal funktioniert. In den Foren dieser Website gibt es auch Anleitungen, wie man ein "totes" Telefon wiederbeleben kann, wenn doch etwas schiefgeht, das hat mir etwas Mut gemacht ;)

Der Ablauf ist wirklich einfach: im Prinzip ist die größte Hürde, dass der Hersteller sowas eigentlich gar nicht will und deswegen mit allerlei Tricks zu verhindern versucht, dass man eine fremde Software-Version installiert. Das kann man damit umgehen, dass man sich auf dem Telefon Administrator-Rechte verschafft (Unix: root-Rechte, bei Apple iPhones nennt man das Verfahren "jailbreak").

Ich habe das Programm "SuperOneClick" verwendet, mit dem man unter Zuhilfenahme eines Windows-PCs das Telefon tatsächlich, wie der Name sagt, mit einem Mausklick so modifizieren kann, dass man root-Rechte bekommen kann. Mit "SuperOneClick" kann man sehr viele Android-Telefone bearbeiten, weil alle Hersteller dieselben Sicherheitslücken in ihre Software einbauen, um uns "Hackern" Arbeit zu ersparen ;)

Dieser Trick mit dem "Rooten" ist nur nötig, damit der nächste Schritt funktioniert, nämlich, ein geändertes Startprogramm zu installieren, damit man dann im überübernächsten Schritt ein "fremdes" Android auf dem Telefon installieren kann. Nach der erfolgreichen Installation  der neuen Android-Version müsste man das Rooten wiederholen, weil ja das alte, "geknackte" Android komplett mit einer neuen Version ersetzt wurde, die erst mal noch nicht wieder gerootet ist. Allerdings kann diese Sicherheitslücke auch von Schadsoftware ausgenutzt werden, hier muss jeder für sich abwägen, ob er permanent "root" benötigt oder darauf verzichten kann.kann man dieses "Rooten" sogar wieder rückgängig machen, wenn man eine (kleine, theoretische) Sicherheitslücke gar nicht erst anbieten will

Der nächste Schritt besteht jetzt darin, eine App "droid2Bootstrap.apk" zu installieren, die das neue Startprogramm installieren kann. Diese App benötigt Root-Rechte, um die massiven Änderungen am Telefon und dem Linux-System, das darin steckt, vorzunehmen.

Außerdem ist es nötig, vor dem Reboot auf die im Telefon eingebaute Speicherkarte die gewünschte neue Android-Version zu überspielen. Dazu muss man sich das neueste "stable" CM10-Android herunterladen und die ZIP-Datei auf's Telefon bringen. Danach kann man noch die Original-Google-Apps (Play Store, Maps, Gmail etc.) ebenfalls als ZIP auf die SD-Karte spielen. Manche Forenbeiträge empfehlen auch noch, eine ZIP-Datei mit einem neueren Linux-Kernel zu überspielen und zu installieren, das habe ich nicht gemacht. Es funktioniert trotzdem ;)

Nachdem diese Änderungen durchgeführt wurden, startet man das Telefon neu. Es wechselt dabei automatisch in einen Notfallmodus ("recovery mode"), in dem man ein neues Betriebssystem installieren kann.

In diesem Notfallmodus funktioniert der Touchscreen nicht, man kann nur mit den Tasten arbeiten. Die Lautstärketasten hoch/runter wählen einen Menüpunkt aus und mit der Kamera-Taste wird bestätigt. Die Power-Taste (kurz gedrückt) dient dazu, einen Schritt zurück zu gehen.

Zunächst wird "install ZIP" ausgewählt, danach im nächsten Menü "choose ZIP" und dann muss man die CM10-xxx.zip auswählen (Dateiname so, wie es runtergeladen und auf die SD-Karte überspielt wurde).
Dasselbe wird noch für die Google-Apps.zip gemacht.

Der nächste Schritt ist sehr wichtig: man muss leider den kompletten Telefonspeicher löschen ("wipe data") und insbesondere muss man einen Zwischenspeicher löschen, der noch Daten vom alten Android-System enthält, die nicht mehr zum neuen System passen ("wipe cache").

In manchen Forumartikeln wird empfohlen, das ganze zweimal zu machen, aber bei mir kam beim zweiten Versuch die Meldung "nothing to do".

Danach im Menü den Punkt "reboot" auswählen und Geduld mitbringen. Der erste Startvorgang dauert sehr lang (fast 30 min.), weil noch einige weitere Vorbereitungen durchgeführt werden. Danach wird es erträglich ;)

Ich war zwischendurch etwas beunruhigt, weil die Benachrichtigungs-LED plötzlich in Dunkelrot aufleuchtete, aber das hatte nichts Schlimmes zu bedeuten. Die LED ging wieder aus, und ein paar Sekunden später kam dann das animierte CyanogenMod-Logo.

Nach der Anmeldung bei Google fing das Telefon von allein an, die vorher installierten Apps herunterzuladen, die Kontakte waren auch vollautomatisch wieder da. Das einzige Lästige war, dass ich mich bei allen Nicht-Google-Diensten einzeln wieder anmelden musste, also Instagram, Skype, Foursquare, WhatsApp usw.usf. Das ist nervig. WhatsApp macht automatisch Sicherungen der ausgetauschten Nachrichten, nach der Anmeldung war alles wieder da, Gruppen, Kontakte und Bildchen. Dasselbe bei Pou, das meine Frau sehr gern spielt. Nach der Anmeldung mit der Emailadresse sah der Pou wieder genauso schräg aus wie vor dem Update. Sehr nett ;)

Etwas merkwürdig war die Abwesenheit von Google Mail. Das lässt sich aber problemlos aus dem Play Store installieren. Bei mir wurde es im Play Store des Telefons nicht angezeigt, ich musste mich auf dem PC im Play Store anmelden und die App von dort auf's Telefon schicken.

PS: die ganz hartgesottenen bauen sich natürlich ihr Android selbst aus den Quelltexten zusammen: die Sourcen von CM10 bekommt man mit diesem Befehl:
repo init -u git://github.com/tezet/android.git -b jellybean

[Update 20130402: Absatz über das Rooten und Unrooten korrigiert]
[Update 20140815: Bilder plötzlich kaputt]

22.03.2013

Leserbrief zur G8/G9-Podiumsdiskussion in Bad Vilbel


Leider kann ich den Bericht über die Podiumsdiskussion nicht zitieren und nicht verlinken (aus Prinzip wegen #LSR), aber es ging im Kern darum, dass ein Vertreter der Landesregierung auf dem Podium komische Sachen behauptet hat, die so nicht stimmen.

Im Bericht über die Podiumsdiskussion sind mir zwei Punkte sauer aufgestossen:
Zum Einen behauptet Hr. Hahn, dass seine Regierung den Schulen eine Wahlmöglichkeit lassen will, ob G8 oder G9 besser zum Schulkonzept passt. Das hört sich toll an, aber ehrlicherweise sollte er auch dazusagen, dass dieselbe Regierung vor zehn Jahren überhaupt erst dieses unselige Experiment gestartet hat und damals eben keine Wahlmöglichkeit bestand: im Gegenteil war G8 obligatorisch für alle Gymnasien. Das finde ich - wohlwollend genannt - unvollständig.
Zum Zweiten spricht Hr. Hahn von 56 Schulen, die bei G8 bleiben. Auch das ist nicht korrekt, sondern höchstgradig unvollständig. Er hätte sagen müssen: derzeit sind noch 56 Schulen bei G8. Allerdings weiß ich von vielen Schulen, dass der Entscheidungsprozess noch nicht abgeschlossen ist.
Zum Zweck der Diskussion hätte es besser gepasst, die Anzahl der Gymnasien zu nennen, die sich ausdrücklich für G8 ausgesprochen haben. Das hätte sicherlich einigen im Publikum die Augen geöffnet.
Die Schulen in Butzbach und Gießen haben letztes Jahr sofort nach der Gesetzesänderung den Umstieg in Angriff genommen und lehren tatsächlich schon in diesem Jahr wieder nach G9. Respekt!
Andere Schulen im Wetteraukreis diskutieren noch, allerdings zeichnet sich hier auch bei einigen davon ab, dass sie auch zu G9 wechseln werden.
Aus meiner Sicht ist G8 gescheitert. Vielleicht war die Idee an sich gar nicht mal schlecht, aber ausgerechnet in der Mittelstufe zu kürzen (7.-9. statt 7.-10. Klasse), war die schlechteste Idee überhaupt.
Abgesehen davon ist G8 auf demselben wirtschaftspolitisch einseitigen Gedankengang entstanden, dem wir ebenfalls die tollen Bachelor- und Masterstudiengänge an den Universitäten zu verdanken haben: Hauptsache, es wird schnell viel Wissen in die Schüler gepumpt. Die Entwicklung von kritischen Denkern oder das Beschäftigen mit "Randthemen" ist unerwünscht, und das erreicht man leicht damit, dass die "Pflichtthemen" soviel Zeit kosten, dass sonst für nichts mehr Zeit übrig ist.
Mich wundert, dass die anderen Podiumsteilnehmer Herrn Hahns doch sehr einseitigen Darstellung nicht widersprochen haben.
Aber das passt alles zur generell eher technik- und innovationsfeindlichen Unternehmenslandschaft in Deutschland, angeführt von einer Mutti Merkel, die noch besser aussitzen und nicht entscheiden kann als Kohl vor ihr. Bei den ganzen schrecklichen juristischen Diskussionen derzeit (Urheberrecht, Leistungsschutzrecht, Überwachung, Vorratsdatenspeicherung, erneuerbare Energien, um nur einige zu nennen) wundert es mich nicht, dass es kein deutsches Google, ebay, Amazon oder Apple gibt. Oh, gab es? Ja, Nachmacher gab es, und die haben sich dann ganz schnell von ihren amerikanischen Pendants aufkaufen lassen (Ricardo) oder haben aufgegeben wegen unklarer Rechtslage (Abspeichern von Vorschaubildern etc.).

Huawei-LTE-Router per Skript resetten

Mal wieder ein kleines Skript aus der Abteilung "Nützliches für Kommandozeilenbastler".
Der LTE-Router von Huawei hat ab und zu mal Schluckauf und muss neu gestartet werden. Das umfasst den Aufruf der Adminseite mit einem Browser, Anmelden und durch drei Webseiten durchklicken, bis der Router sich wirklich zu einem Reset bequemt.

Mit demselben Trick wie neulich (Statusabfrage des Transfervolumens) ist es möglich, das Problem mit dem zweimaligen Aufruf von wget zu erschlagen. Beim ersten wget-Aufruf wird eine Anmeldung mit User und Passwort durchgeführt und das Session-Cookie gespeichert. Mit dem zweiten Aufruf wird dann direkt die URL aufgerufen, die den Reboot erzwingt (und die ganzen "Sind Sie sicher?"-Abfragen überspringt).

An der rot markierten Stelle "YOURPASSWORD" muss das eigene Router-Passwort eingesetzt werden. Wenn es Sonderzeichen enthält, müssen die als Entities geschrieben werden (Plus als %2B, Minus %2D, @ als %40 usw.). Ebenso muss an der rot markierten Stelle der Hostname oder die IP-Adresse des LTE-Routers eingesetzt werden (Telekom: speedport.ip, Vodafone: vodafonemobile.cpe, oder schlicht die IP, wenn die fix ist).

#!/bin/sh
verbose=0

while getopts "v" opt
do
  case "$opt" in
  v) verbose=1;;
  esac
done
shift $(expr $OPTIND - 1)


PATH=/opt/bin:/opt/sbin${PATH:+:$PATH}
LTE=192.168.42.1


C=/tmp/cookies.txt
U1="http://$LTE/login.cgi"
U2="http://$LTE/reboot.cgi"


wget --save-cookies "$C" \
     --keep-session-cookies \
     -q --tries=1 \
     -O /dev/null \
     --post-data 'Username=admin&Password=YOURPASSWORD' \
"$U1"
wget --load-cookies "$C" \
     -q --tries=1 \
     -O /dev/null \
     "$U2"
rm -f "$C"


c=1
echo -n "# waiting for ping "
until [ $c -gt 20 ]
do
  echo -n "."
  sleep 5
  c=$(expr $c + 1)
  ping -qc1 $LTE > /dev/null && break
done
echo " rc=$?"

Das Recht auf Anonymität im Internet

Heute (22.03.13) war in der Wetterauer Zeitung ein etwas merkwürdiger Kommentar auf Seite 4, den ich nicht unkommentiert lassen konnte. Ich habe dazu einen Leserbrief geschrieben, um meine eigene Sicht auf die freie Meinungsäußerung darzustellen ... (keine Links zur WZ weil wegen #LSR, Sie wissen schon)

Lieber Kommentator "bb", in Ihrem Beitrag in der WZ vom 22.03. auf Seite 4 halten Sie ein flammendes Plädoyer gegen anonyme und pseudonyme Meinungsäußerungen im Internet. 
Vermutlich wurde Ihr Kommentar durch die aktuelle Aufregung über die misslungene Talkshow angeregt, in der Fr. Riemann bemerkenswert unsouverän auf einen schlechten Moderator reagiert hat. Sie echauffieren sich über unfreundliche bis beleidigende Kommentare im Internet und begründen damit, dass es keine Anonymität, nicht einmal Pseudonymität, geben soll.
Ihr Argumentation schließt dabei nahtlos an die dumme Bemerkung von Jung von Matt an, der die "Klowände des Internet" vor fast zehn Jahren beklagt hat. Das Einzige, was Ihnen als Begründung einfällt, ist die Qualität der Diskussionen und die Möglichkeit, ungestraft Beleidigungen zu schreiben. Dieser wahrgenommenen schlechten Qualität stellen Sie die Möglichkeit von Leserbriefen in der WZ gegenüber. Das sei Ihnen unbenommen.
Mit Recht ist der Gesetzgeber hier aber anderer Meinung als Sie: im Telekommunikationsmediengesetz ist das Recht auf anonyme Meinungsäußerung ausdrücklich festgelegt. Aktuell ist dies sogar Gegenstand von Beschwerden deutscher Datenschützer gegen Diensteanbieter wie Facebook und Google, die einen Klarnamenzwang durchsetzen wollen (Facebook dabei sogar auf "Denunziation" durch andere Benutzer setzt), und damit willentlich deutsche Gesetze ignorieren.
Im Internet kann es technisch bedingt keine echte, bedingungslose Anonymität geben: mit dem entsprechenden Aufwand ist es immer möglich, den Absender einer Äußerung zurückzuverfolgen. Deshalb ist es auch so wichtig, Gesetzesvorhaben wie der Vorratsdatenspeicherung, ACTA, IPRED, SOPA, PIPA und wie sie alle heißen, energisch entgegenzutreten.
Das Recht auf freie Meinungsäußerung und als Implikation davon das Recht auf Anonymität wurde mehrfach vom Bundesverfassungsgericht bestärkt: allein durch die Möglichkeit der Identifikation könnten Menschen davon abgehalten werden, sich zu äußern. Die Meinungsfreiheit ist aber ein sehr hohes Gut, was man deutlich an der Positionierung (Art. 5, sozusagen unter den Top Ten) im Grundgesetz erkennen kann.
Ohne die Möglichkeit pseudonymer Benutzung von Diensten im Internet (z.B. Twitter) wären die Revolutionen in Ägypten oder Tunesien so sicherlich nicht möglich gewesen. Es verwundert nicht, dass oppressive Regimes wie in Syrien, Sudan, China oder Iran versuchen, das Internet zu kontrollieren und sich abzuschotten gegen den Rest der Welt. Leider geben sich dafür westliche Firmen, auch aus Deutschland, dazu her, die Technik dazu zu liefern (Filtersoftware, Firewalls u.ä.).
Es entbehrt auch nicht einer gewissen Ironie, dass Sie selber, lieber "bb", Ihren Kommentar unter einem Pseudonym schreiben. Es ist zwar leicht herauszufinden, dass dieses Kürzel zu Hr. B. vom Mantelteil der WZ stammt, aber mal ehrlich: wieviele Menschen machen sich diese (geringe) Mühe, das herauszufinden?
Ich habe auch keine Probleme damit, mit meinem vollen Namen aufzutreten: ich schreibe Beiträge in verschiedenen Foren und Blogs sowohl zu technischen als auch politischen Themen. Es gehört zugegeben eine gewisse Gelassenheit dazu, den eventuellen Gegenwind auszuhalten und Unnützes zu ignorieren.
Umgekehrt hat meine Frau vor einiger Zeit auf ihren recht harmlosen Leserbrief in der WZ über das Betreten des heiligen Bad Nauheimer Rasens mehrere hasserfüllte anonyme *echte* Briefe bekommen, in denen sie schlimm beleidigt wurde, einer sogar recht konspirativ und altmodisch mit Schreibmaschine geschrieben. Sie sehen, es gibt auch im echten Leben eine Entsprechung zu den "Foren-Trollen", die Ekelhaftes absondern. Es ist nicht das Internet, es sind die Menschen.
Dies ist aber kein Grund, die Anonymität komplett abzuschaffen. Oder wollen Sie auch fordern, dass die Post nur noch Briefe mit überprüftem Absender annimmt? Dann müssten alle Briefkästen abgeschafft werden (anonyme Briefeinwürfe, ein Skandal!) und man dürfte Briefe nur noch mit Personalausweis bei vereidigten Beamten abgeben.
Bargeld ist übrigens auch eine Form von Anonymität. Oder bezahlen Sie Ihre Brötchen beim Bäcker namentlich?
[Update: 17.06.13: Nicht TKG, sondern TMG ist das Gesetz, genauer: §13(6)]

14.03.2013

Leserbrief zum Leserbrief: Lebensmittelskandale und die Presse

Hach ja, es wogt hin und her. Manch einer regt sich über Lebensmittelskandale auf, und andere regen sich dann über die Aufregung auf, weil das ja alles viel zu viel Aufregung für so ein bißchen Skandal sei ...
Meine Meinung dazu in einem Leserbrief an die WZ (keine Verlinkung wegen #LSR).

ich habe einige Anmerkungen zum Leserbrief von Hr. H., der sich über "sogenannte" Skandale äußert.

Herr H., Sie versuchen hier genau dieselbe Beschwichtigungstaktik, die derzeit auch von amtlichen Stellen betrieben wird.

Meiner Meinung nach ist das grundsätzliche Problem nicht die Quantität der gefundenen Problemstoffe in all den von Ihnen aufgezählten Fällen, sondern die Qualität, nämlich, dass diese Verunreinigungen stattgefunden haben und Verbraucher betrogen wurden.

Sie zählen auf: undeklariertes Pferdefleisch, Schimmelpilzgift in Futtermais, falsch deklarierte Eier, und dann fragen Sie, wo das Problem ist?

Das Problem ist, dass skrupellose Menschen ihren Profit mit Betrug maximieren wollen.

1. Wenn schon Pferdefleisch nicht als Bestandteil deklariert ist, greifen auch die Lebensmittelvorschriften nicht, da nicht kontrolliert werden kann. Mit welchen Medikamenten wurden die Pferde vielleicht behandelt, die für Lebensmitteltiere gar nicht oder nur nach Wartezeit zugelassen sind?

2. Das Gift Aflatoxin B1 aus Schimmelpilzen auf z.B. Mais reichert sich nach Verfütterung in der Milch, aber auch in der Leber an. Selbst wenn *jetzt* die Grenzwerte für das Futtermittel nicht überschritten sind, wird das Gift oder seine giftigen Abbauprodukte vielleicht trotzdem über einen längeren Zeitraum im Körper der Tiere angesammelt und wirkt dann bei Verzehr giftig? Die jetzigen Stichproben wurden als belastet erkannt, also sind bei Lagerung oder Transport Mängel aufgetreten, die beseitigt werden müssen.

3. Sie haben teilweise recht, der Kauf von Bio-Eiern statt Käfighaltungseiern ist eine moralische Einstellung. Ich will nicht an der Quälerei von Hühnern in winzigen Käfigen beteiligt sein und kaufe Freilandhaltungseier. Wenn ich betrogen werde, weil ich mehr bezahle, aber trotzdem das moralisch schlechtere Ei kaufe, gefällt mir das nicht, und ich will, dass die Presse angemessen darüber berichtet, damit ich als Verbraucher gewisse Geschäfte oder Hersteller meiden kann.

Es gehört zu einer aufgeklärten Gesellschaft, dass man sich frei informieren kann. Leider gibt es Auswüchse und Sensationsjournalismus, besonders bei Zeitungen mit großen Buchstaben im Namen, aber insgesamt ist es mir lieber, es wird berichtet, und ich kann mein Verhalten danach ausrichten, als dass es (amtlich?) kleingeredet wird.

Mir ist es wesentlich lieber, es wird früh und schnell berichtet; trotzdem sollte es korrekt und sachlich vollständig recherchiert sein. Zweckmäßig scheint mir zu sein, dass man sich aus mehreren Quellen informiert, und nicht nur aus einer. 

Leserbrief zum Leserbrief: die FDP

Letzte Woche gab es einen Leserbrief, der bettelte, man möge doch die FDP wählen, damit die Demokratie und das Abendland nicht untergehen.
Ach nö, dachte ich mir. So wichtig ist die FDP auch wieder nicht.
Aber ich wollte dem Leserbriefschreiber unbedingt auch antworten, deshalb hier mal wieder ein Leserbrief an die WZ (ohne Verlinkung, weil wegen #LSR).

Hr. Sch. fordert am Ende seines Leserbriefs dazu auf, die FDP zu wählen und spekuliert über "einflußreiche Feinde", die jetzt die Sexismus-Debatte angezettelt haben. Ein Hoch auf Verschwörungstheorien, die muss man nicht beweisen.

Auch sonst fällt die FDP eher durch interne Streiteren auf als durch sinnvolle Politik.

Seiner Aufforderung kann ich leider nicht nachkommen. Ich mag keine Partei, die Hoteliers und anderen eher marginalen Klientelen Steuergeschenke macht und aktiv verhindert, dass Deutschland als eines der letzten Länder weltweit die UNO-Konvention gegen Abgeordnetenbestechung ratifiziert.

Sogar die CDU/CSU hat mittlerweile eingesehen, dass die schon von Deutschland unterschriebene Konvention im Bundestag beschlossen werden muss und soll.

Ansonsten befinden wir uns weiterhin in guter (?) Gesellschaft mit Ländern wie Syrien, Sudan und Tschad. 165 Länder weltweit haben unterschrieben (das kann man auf abgeordnetenwatch.de nachlesen). Das ist ganz schön peinlich für uns als demokratisches Land.

Und wer blockiert die Ratifizierung? Als einzige Partei die FDP.
Ein Schelm, wer Arges dabei denkt.

Die Regierungsparteien (diesmal beide Lager) sind es auch, die Transparenz nur beim Einkommen von Hr. Steinbrück fordern. Wenn es aber an die Offenlegung der Einkünfte ihrer eigenen Parteimitglieder geht, wird wieder gemauert. Die Offenlegung wird wieder nur pauschal beschlossen, als Glanzpunkt wird aus den 3 Stufen (bis 1.000, bis 7.000, über 7.000) ein neues Potemkinsches Dorf mit 10 Stufen und Grenzen von 1.000 bis 250.000 Euro. Rechtsanwälte müssen Einkünfte aus Mandaten gar nicht angeben als Berufsgeheimnisträger.

Wenn ein Abgeordneter schon Geld neben seinen Diäten bekommt, will ich als Wähler konkret wissen, von wem er das erhält, damit ich seine Glaubwürdigkeit und weitere Wählbarkeit beurteilen kann. Das ist ein Trauerspiel.

Nein, tut mir leid, ich kann die FDP nicht wählen. 

Aktuelles Flash für Windows herunterladen

Das gestern veröffentliche Mini-Skript zum Download und Installation von Flash kann man noch etwas mehr verfeinern. Die gestrige Fassung hatte ich auf Kürze getrimmt zum Weitergeben an Kollegen. Die hier vorgestellte Version verwende ich in meiner privaten Umgebung mit doch einigen PCs, so dass sich der Aufwand lohnen kann.

Genauso wie bei Java gibt es in letzter Zeit eine wahre Inflation an Flash-Updates aufgrund von Sicherheitslücken.
Wer davon genervt ist, auf der Adobe-Downloadseite immer wieder das Häkchen bei irgendwelchen Zusatzprodukten wie McAfee zu entfernen, kann sich den "nackten" Flash-Installer auch viel bequemer mit einem kleinen Skript herunterladen.

Dazu wird das Kommandozeilenprogramm "wget" benötigt. Das ist bei Linux normalerweise gleich mit dabei, für Windows kann man es von Sourceforge.net kostenlos herunterladen. Danach informiert man sich auf einer üblicherweise gut informierten Newsseite wie dem heise Newsticker über die Versionsnummer des Tages und trägt diese Nummer in das Skript in der Zeile "set V=..." ein. (Wer einen Proxy-Server verwendet, sollte das "REM" in der Zeile vorher entfernen und seine eigene Proxy-Adresse eintragen. Wer selbst einen Proxy betreibt, versteht aber auch den Sinn der "REM"-Zeile von allein ;) )

Nach dem Aufruf des Skripts hat man zwei ausführbare Dateien, die man beide installieren muss (ich gehe davon aus, dass niemand freiwillig mit dem Internet Explorer surft, aber sicher ist sicher). Die .exe-Datei mit "np" im Namen ist das sogenannte "Netscape Plugin", die andere .exe-Datei mit "ax" steht für "ActiveX"-basiertes Plugin.
@echo off
rem set http_proxy=http://192.168.100.100:3128/
set V=11.6.602.171
set H=fpdownload.macromedia.com
set P=/get/flashplayer/current/licensing/win
set AX=install_flash_player_11_active_x.exe
set NP=install_flash_player_11_plugin.exe
wget http://%H%%P%/%AX% -O flash-%V%_ax.exe
wget http://%H%%P%/%NP% -O flash-%V%_np.exe
Besonders cool ist dann, wenn man auch die Installation vollautomatisiert durchführen lässt. Dazu ruft man jede der .exe-Dateien mit dem Befehl "-install" hintendran auf. Der jeweilige Browser sollte währenddessen nicht laufen.

Hier ist als Bonbon auch noch ein Skript, das den betreffenden Browser stoppt (taskkill.exe ist seit Windows XP an Bord) und die Installation mit dem neuesten gefundenen Flashplayer-Installer durchführt. Der Befehl "DIR /ON" sortiert die Ausgabe des DIR-Befehls nach dem Namen, so dass die Datei mit der alphabetisch höchsten Nummerierung zuletzt aufgeführt ist. Diese wird dann installiert.

@echo off

taskkill /IM iexplore.exe
set D=%~dp0
for /F %%i in ('dir /B /ON %D%flash-*_ax.exe') do set INST=%%i
%D%\%INST% -install
ping -n 5 -w 1000 localhost > nul

taskkill /IM firefox.exe
for /F %%i in ('dir /B /ON %D%flash-*_np.exe') do set INST=%%i
%D%\%INST% -install

ping -n 15 -w 1000 localhost > nul

Danach sollte man unbedingt die Versionsnummer des installierten Flash-Players im Browser prüfen, z.B. indem man auf diese Seite geht und unter dem Punkt "2." abfragt, was installiert ist, und ggfs. unter "3." prüft, ob Adobe diese Seite schon aktualisiert hat. Leider zeigt nämlich der Punkt "3." häufig noch eine ältere Version an.
Alternativ kann man das kleine Flash-Progrämmchen von dort auch einmalig runterladen und sich zuhause abspeichern zum regelmäßígen Prüfen.

13.03.2013

Skript für Flash-Download und -Update

Hier ist ein kleines Windows-Skript zum Downloaden und vollautomatischen Installieren des Flash-Plugins.
Nach den letzten Notfall-Updates hier endlich mal wieder ein reguläres Update.
Ich gehe zwar davon aus, dass niemand freiwillig den Internet Explorer verwendet (ActiveX-Plugin), aber vorsichtshalber sollte man das auch immer gleich mit bearbeiten und beide Versionen des Plugins installieren ;)

Das Skript lädt beide Plugins herunter, speichert sie unter Einbeziehung der Versionsnummer ab und installiert auch gleich.

@echo off
rem set http_proxy=http://192.168.100.100:3128/
 
set V=11.6.602.180
set H=fpdownload.macromedia.com
set P=/get/flashplayer/current/licensing/win
set AX=install_flash_player_11_active_x.exe
 
set NP=install_flash_player_11_plugin.exe 
wget http://%H%%P%/%AX% -O flash-%V%_ax.exe
.\flash-%V%_ax -install
wget http://%H%%P%/%NP% -O flash-%V%_np.exe
.\flash-%V%_np -install
Wer zuhause einen WWW-Proxy verwendet (Squid o.ä.), ist bestimmt in der Lage, zu erkennen, was er an dem Skript verändern muss.
Alle anderen Benutzer können das so übernehmen, wie es oben steht.
Einfach markieren, in die Zwischenablage kopieren, als Textdatei abspeichern und ausführen.

01.03.2013

perl erzeugt einen Graphen aus Messdaten

Mal ein schönes Beispiel dafür, wie man mit wenig Aufwand und den richtigen perl-Modulen eine hübsche Grafik zaubern kann ...

Als Beispiel dient hier meine Logdatei mit den "load average"-Werten. Die Daten lasse ich minütlich mit einem cron-Job speichern, und wenn ich mit einem Browser das CGI-Skript aufrufe, bekomme ich als Ergebnis ein hübsches PNG oder JPG.


Zur Erinnerung: die "load average" gibt an, wieviele Prozesse durchschnittlich während der Probezeit auf die Zuteilung von CPU-Zeit warten mussten. Werte für den Zeitraum "1 min", "5 min" und "15 min" werden erfasst. Diese Angaben erhält man auf der Kommandozeile am bequemsten mit dem Befehl "uptime" (so gut wie alle Unixe, AIX, Solaris, BSD etc.) oder mit dem /proc-Pseudo-Filesystem (nur Linux).

So funktioniert der Aufruf des CGI-Skripts im Browser:


Der Parameter "what" gibt an, welche "load average" gemeint ist (1, 5, 15), "xmax" und "ymax" überschreiben die Defaultwerte im Skript mit anderen Größenangaben. Weiterhin sind noch "hours" (anderer Zeitraum als 24h) und "single" möglich. Im Normalfall werden in einen Graphen alle drei Kurven gemalt; wenn "what" und "single" verwendet werden, ist in der Grafik nur diese eine Kurve enthalten.

http://meinserver.domain/cgi-bin/loadavg.pl?what=1&xmax=550&ymax=150

Hier ist der cron-Job:

# load avg
* * * * * /usr/local/bin/loadavg.pl -d 7 >/dev/null 2>&1

... und das Skript, das aufgerufen wird:

Das Skript speichert in der Datendatei maximal soviele Tage, wie im Parameter -d angegeben sind (default 1 Tag). Auf diese Weise hat das Skript seinen eigenen logrotate.
#!/usr/bin/perl -w
use Getopt::Std;
use strict 'vars';
use strict 'refs';
use vars qw( $opt_d );
$opt_d=1;
getopts("d:");
my $loadavg="/proc/loadavg";
my $outfile="/var/spool/loadavg";
sub out {
  my ($what,$val)=@_;
  my @val=();
  if (open(IN,"<","$outfile.$what")) {
    @val=<IN>;
    close(IN);
  }
  splice(@val,0,-1440*$opt_d);
  push(@val,$val);
  if (open(OUT,">","$outfile.$what")) {
    print OUT @val,"\n";
    close(OUT);
  }
}
if (open(F,"<",$loadavg)) {
  my ($l1,$l5,$l15)=(split(/\s+/,<F>))[0..2];
  out("1",$l1);
  out("5",$l5);
  out("15",$l15);
  close(F);
}

 ... und das hier ist das CGI-Skript, das die Grafik erzeugt: 

(Meine Erklärungen zu einzelnen Funktionen sind in blauer Schrift dazwischen)

Die Grafik wird eigentlich nur mit einem einzigen Befehl erzeugt, nämlich dem
print $graph->plot(\@data)->$format();
ganz am Ende. Der ganze Krams vorher dient dazu, eine schöne Beschriftung herzustellen und eine Skalierung zu berechnen, damit das hübsch aussieht. Und natürlich der CGI-Kram, um den Parameter aus der "Kommandozeile" auszuwerten.

#!/usr/bin/perl -w

use strict 'vars';
use strict 'refs';

use GD::Graph;
use GD::Graph::lines;
use GD::Graph::linespoints;
use GD::Graph::points;
use GD::Graph::bars;
use CGI qw(:standard);

my @data;
my $graph;
my $format;
my $maxscale;
# zeitabstand in sek.
my $index=60;
my ($xmax,$ymax)=(600,400); # die gewünschte Größe der Grafikdatei
my $hours=1;
my $dir="/var/spool";
my $file1 ="$dir/loadavg.1";
my $file5 ="$dir/loadavg.5";
my $file15="$dir/loadavg.15";
my $query;
# default 5 min.
my $req=5;
my $file;
my $single=0;

# X-Beschriftung
# werte1
# werte2
# ...
@data = (
[""],
[],
[],
[],
);
# loadread lädt aus der Datendatei $file die neuesten $min Einträge
sub loadread {
  my ($file,$min)=@_;
  my @val=();

  if (open(IN,"<","$file")) {
    @val=<IN>;
    chomp(@val);
    close(IN);
    if (scalar(@val)>$min) {
      splice(@val,0,-$min);
    }
  }
  return \@val;
}
# arraymax sucht aus einer Liste von Arrayrefs das maximale Element
sub arraymax {
  my $m=0;

  foreach my $a (@_) {
    foreach my $i (@{$a}) {
      $m=$i if ($i>$m);
    }
  }
  return $m;
}
# xtext erzeugt die Beschriftung der X-Achse
sub xtext {
  my ($ref,$start,$diff,$gap)=@_;
  my $cnt=scalar(@$ref);
  my $s=$diff/$gap;
  my $i;
  my $time;
  my @t;

  $start-=($cnt*$diff);
  for ($i=0; $i<$cnt; ++$i) {
    @t=(localtime($start+$i*$diff))[1..2];
    $time=sprintf("%02d:%02d",$t[1],$t[0]);
    if ($i % $s) {
      $data[0]->[$i]="";
    }
    else {
      $data[0]->[$i]=$time;
    }
  }
}

$query=new CGI();
$req=$query->param( 'what' ) || 1;
$xmax=$query->param( 'xmax' ) || 800;
$ymax=$query->param( 'ymax' ) || 600;
$hours=$query->param( 'hours' ) || 24;
$single=$query->param( 'single' ) || 0;
$single=0;

$graph = GD::Graph::lines->new($xmax, $ymax);
$format = $graph->export_format;

# calc minutes
$data[1]=loadread($file1, $hours*60);
$data[2]=loadread($file5, $hours*60);
$data[3]=loadread($file15,$hours*60);
$file=$file1;

$maxscale=arraymax($data[1],$data[2],$data[3]);
$maxscale=int($maxscale*100)/100;
xtext($data[1],(stat($file))[9],$index,$req);

unless ($single) {
  $data[1]=$data[2] if ($req==5);
  $data[1]=$data[3] if ($req==15);
  delete $data[2];
  delete $data[3];
}

$graph->set(
  x_label => 'Time',
  y_label => 'Load',
  title => 'Load avg '.$req,
  y_max_value => $maxscale,
  y_tick_number => 10,
  y_label_skip => 2,
  x_label_skip => 2*$index,
) or die $graph->error;
$graph->set(
  marker_size => 1,
) or die $graph->error;

print header("image/$format");
binmode STDOUT;
print $graph->plot(\@data)->$format();

Mein Brief an "unseren" Bundestagsabgeordneten

Das Thema Leistungsschutzrecht (#LSR) ist leider ein sehr trockenes Rechtsgebiet, das von interessierten Gruppen sehr unterschiedlich, sehr subjektiv, sehr einseitig, und teilweise sachlich falsch in der Öffentlichkeit behandelt wird.

Dazu schrieb ich vor einiger Zeit einen Brief an den Bundestagsabgeordneten Peter Tauber (peter.tauber@bundestag.de), der nach dem Weggang von Lucia Puttrich die Wetterau kommissarisch mit vertritt (der Abgang von Fr. Puttrich in Richtung hessisches Ministeramt weniger als ein Jahr nach ihrer Wahl in den Bundestag ist ein anderes Thema, zu dem ich auch noch mal schreiben könnte ...).

Leider habe ich bis jetzt noch keine Antwort auf meinen Brief erhalten, nicht mal eine Eingangsbestätigung. So muss Politik!

ich wende mich als Wetterauer mit einer Bitte an Sie als
kommissarischen Vertreter von Lucia Puttrich, wenn ich das richtig
verstanden habe. 
Ich lese in Ihrem Blog, dass Sie dem Leistungsschutzrecht kritisch
gegenüber stehen. Das finde ich als sporadischer Blogger soweit gut
Bitte bewahren Sie Ihre kritische Haltung. Insbesondere halte ich im
Moment die schreckliche Einseitigkeit, mit der die Presse (FAZ, SZ,
Welt, Zeit, ...) arbeitet, für einer Demokratie mit einer "der
Wahrheit verpflichteten" Presse, wie es der BDZV so schön formuliert
hat, nicht angemessen. 
Nicht mal einen Leserbrief wollen manche Zeitungen zum Thema
abdrucken, wenn der in ihren Augen kritisch ist (siehe hier und hier).
Nebenbei würde ich gern wissen, wie Sie auf die beruhigende Formel
"Blogger sind vom LSR ausgenommen" gekommen sind. Ich lese das aus dem
Entwurf nicht heraus. Ein "manueller Aggregator" wie die Rubrik "6 vor
9" des Bild-Blogs kommt da dem Kreis der Betroffenen des LSR schon
ziemlich nah, würde ich denken. 
Schöne Grüße aus dem leicht verschneiten Berstadt... 
Thomas Seeling

Update 01.03.2013:
Peter Tauber hat mit "NEIN" gestimmt. Finde ich gut ;), vielen Dank.