19.05.2015

Avengers 2 - wow

Gestern war ich mit Kind 2 im Kino - seit einiger Zeit haben wir dieselben Vorlieben für Comic-Verfilmungen ;). Mutter und Kind 1 waren zu einem Konzert unterwegs und deshalb den ganzen Nachmittag und Abend abwesend. Also gab es analog zum Vater-Tochter-Tag mit Justin Bieber jetzt mal einen Vater-Sohn-Tag. Und der hat diesmal auch dem Papa richtig gut gefallen ;)

Ich bin ja eher der "alles vorher wissen"-Typ. Ich lese die letzten paar Seiten in Büchern zuerst, und ich lese auch Filmkritiken und Zusammenfassungen, bevor ich ins Kino gehe. Für mich ist die Überraschung dann die künstlerische Ausführung und nicht so sehr das Ergebnis. Ich mag eigentlich keine Überraschungen. Das ist dann genauso wie bei Harry und Sally ("ich lese das Ende zuerst, damit ich weiß, wie es ausging, falls ich vorher sterbe").

Deshalb hatte ich vorher ein bißchen im Netz gelesen, was andere schon über Avengers 2 geschrieben haben, und hinterher mache ich mir dann meine eigenen Gedanken.

Nicht unerwähnt lassen will ich auch den finanziellen Aspekt und die Marktmacht von Disney, die bei diesem Film versucht haben, kleinen Kinos eine höhere Filmmiete abzuverlangen. Das kann man hier sehr schön nachlesen - auch die Kommentare sind hochinteressant (manche).

Bei phantanews.de findet sich eine wunderbare, recht kurz geratene Schwärmerei, die mir voll aus der Seele spricht.

Der Film ist eine geniale Mischung aus Action und ruhigen Szenen, in denen die bisherige Handlung recht intelligent reflektiert wird. Besonders gut gefallen hat mir der "Wettbewerb", Thors Hammer hochzuheben, und keinem gelingt es. Allerdings wackelt der Hammer ein bißchen, als Cap es versucht, und man sieht im Hintergrund, wie Thor das Lachen aus dem Gesicht fällt ;)

Als eher paranoid denkender Software-Entwickler mit der Tendenz, zuviele Mailinglisten über Sicherheitsprobleme zu lesen, hat mich sehr gewundert, dass Tony Stark eine Software mit "künstlicher Intelligenz", deren Fähigkeiten er nicht abschätzen kann, ungefiltert mit seinen eigenen Rechnersystemen, mit Jarvis und mit dem Internet verbindet. Eigentlich sollte ihm als passionierten Hacker doch klar sein, dass nicht nur er in Regierungssysteme einbrechen kann (wie in Iron Man 2 schön gezeigt), sondern umgekehrt auch er Opfer werden könnte. Diese Idiotie hat mich schon bei James Bond in Skyfall gewundert, als der neue, junge Q eine ähnliche Dummheit begeht, einen unbekannten Laptop über Kabel ans interne Firmennetz anzuschließen.

Genau das passiert natürlich: Ultron "erwacht" (gewisse Ähnlichkeiten mit Skynet und Terminator sind natürlich rein zufällig ...), zerstört Jarvis und erzeugt erstmal jede Menge Sicherheitskopien seines Bewusstseins im Internet.

Andere Kritiken bejammern, dass Black Widow das Frauchen-Schema bedient, indem sie bei der Diskussion mit Banner (Hulk) über ihre Sterilisation spricht, als Banner erwähnt, dass er wegen seiner Gefährlichkeit Angst hat, eine Familie zu gründen. Ich finde, dass das Gespräch ziemlich gut abgelaufen ist und die gegenseitigen Geständnisse zusammen gepasst haben - Natascha wollte ihn trösten und ihm zeigen, dass er nicht allein Probleme hat. Ganz offensichtlich wollte sie ihm eine goldene Brücke bauen, damit er sich auf die Freundschaft einlässt. Leider hat's dann doch nicht geklappt, er flieht vor ihr, oder auch vor sich selbst, und am Ende sind die ursprünglichen Avengers wieder in alle Winde verstreut. Immerhin hat Thor jetzt eine Idee, dass das kurzfristige Auftauchen von gleich 4 der 6 Infinity-Steine kein gutes Omen ist, und er plant Nachforschungen in Asgard. Offensichtlich weiß er also davon, dass der "Star Lord" ebenfalls eines dieser Artefakte gefunden hat.

Die Entstehungsgeschichte von Vision finde ich außerordentlich gelungen: durch Thors Eingreifen wird Vision Leben eingehaucht und ich bin sicher, dass Mjölnir für ein Wesen mit hohem ethischen Standard gesorgt hat - immerhin kann er den Hammer auch heben und benutzen.

Das Auftauchen von Nick Fury war relativ überflüssig. Eigentlich ist ja nicht mehr er Boss von S.H.I.E.L.D., sondern Coulson (Finale von Staffel 1 der "Agents of S.H.I.E.L.D."). Aber naja, er darf halt mal wieder einen Heli-Carrier fliegen. Ich finde diese Dinger toll, und wenn ich mehr Zeit hätte, würde ich das Lego-Modell kaufen und bauen.

Bis vor einigen Wochen lief die Fernsehserie der ersten Staffel in RTL2, und genau zeitlich passend dazu hatte ich die DVD von Captain America 2 beschafft, dessen Handlung genau das Ende dieser Staffel darstellt. Ähnlich hat Marvel die zweite Staffel von S.H.I.E.L.D. konzipiert, die exakt in Avengers 2 mündet. Leider bringen es die Sender nicht fertig, die Serien zeitnah auszustrahlen. In USA ist die zweite Staffel durch, und in Deutschland gibt es sie nicht gegen Geld und gute Worte - zumindest nicht, wenn das Internet über LTE mit Volumenquote zu mir kommt.

Wunderbar finde ich den "Running Gag" durch den ganzen Film hindurch, dass Captain America keine Kraftausdrücke wünscht. Dieser Spruch rutscht ihm zu Beginn des Films einmal heraus, und durch eine gezielte Indiskretion spötteln alle anderen Figuren bei guter Gelegenheit dann darüber. Diese kleinen Scherze halten den Film inhaltlich auf einem höheren Niveau, als es reine Action- und Ballerszenen könnten.

Aus den Zwillingen hätte man mehr machen können: ich finde es bedauerlich, dass der Charakter Quicksilver schon wieder aus der Handlung geschrieben wurde, und es ist auch ärgerlich, dass es hier zu Widersprüchen kommt: in der X-Men-Reihe hat Quicksilver einen ganz anderen Hintergrund (in "Days of Future Past") und bleibt am Leben. Dumm, dass Marvel hier die Franchise-Rechte aufgeteilt hat und daraus heftige Logikbrüche resultieren. In den Comics sind Quicksilver und Scarlet Witch die Kinder Magnetos und keine künstlich leistungsgesteigerten Geschöpfe, deren Eltern bei einem Raketenangriff starben (natürlich mit damals von Stark Industries gefertigten Raketen ..., ähnlicher Ablauf wie am Anfang von Iron Man 1). Schön immerhin, dass das frisch geschlüpfte Kind von Hawkeye "Pietro" als zweiten Vornamen bekommt, hat er doch Hawkeye mit seinem Opfer das Leben gerettet.

Auch Nataschas Gefangenschaft in Struckers ehemaliger Burg finde ich halbwegs plausibel: sie kann mit einem primitiven Funkgerät ihre Position im Morsecode melden und die restlichen Avengers rufen, um gemeinsam anzugreifen. Offensichtlich erkennt sie anhand der Maschinen wieder, wo sie ist. Hydra-Chef Strucker wollte offensichtlich ebenfalls Roboter herstellen lassen, als er mit Lokis Szepter Experimente durchgeführt hat.

Der übliche Nachfilm, um die Neugierde zu wecken, kommt diesmal unmittelbar nach dem Ende - der Oberbösewicht Thanos ist zu sehen, wie er den Handschuh anzieht und ankündigt, dass er sich ab jetzt selbst der Sache annehmen wird. Es ist nicht nötig, den ewig langen Abspann bis zum Ende auszusitzen. Schade, dass hatte ich nicht kommen sehen ;)

Man erkennt die "Halterungen" im Handschuh, in die die Infinity-Steine eingesetzt werden können. Offen bleibt noch, wie Thanos an den Handschuh gelangt ist - in "Thor 1" war der "Gauntlet" noch in Odins Schatzkammer in Aufbewahrung. Am Ende von "Thor 2" ist zu vermuten, dass Loki sich zurück nach Asgard geschlichen und Odin getötet hat, aber richtig offiziell ist diese Tatsache nicht. Insbesondere weiß Thor nicht, dass Loki ihm vorgetäuscht hat, er sei Odin, und ihm Befehle gegeben hat.

Vision ist tatsächlich ein toller Charakter - ich habe nur die Befürchtung, dass aus Spannungsgründen tatsächlich im Showdown alle 6 Infinity-Steine in den Handschuh eingesetzt werden, und das impliziert, dass der gelbe Gedankenstein aus Vision herausgerissen wird. Ob er das irgendwie wird überleben können? Ich bin gespannt.

Entgegen früheren Vermutungen ist das Ende des derzeitigen 2. Zyklus erst mit "Ant-Man" erreicht, der im Sommer ansteht. Die Vorschau sah schon mal sehr nett aus, ich freu mich drauf.

28.04.2015

Überraschender Leserbrief zum Thema Impfen

Am Samstag war ein Leserbrief von mir in der WZ, obwohl ich gar keinen geschrieben hatte - dachte ich.

Und was war nun wirklich passiert?

Eigentlich hatte ich eine Email an die Redaktion geschrieben und mich darüber gewundert, warum ein ausgesprochener Impfgegner in einem Leserbrief fast eine halbe Seite lang seine eigenen schlimmen Erlebnisse mit vermuteten Impfschäden aufgrund einer Tetanusimpfung ausbreiten durfte. Der Leserbrief gipfelte darin, dass er sich seit seiner Frühpensionierung 8 Jahre lang selbst zum Impfexperten ausgebildet habe und jetzt von Impfungen abrate, weil die Impfschäden viel zu riskant seien. Er hat viele Zahlen aus "Studien" zitiert und die üblichen Arien der Impfgegner verwendet.

Eigentlich wollte ich wirklich einen Leserbrief mit Fakten schreiben. Dann dachte ich mir, es wird ja wohl hoffentlich jemand mit medizinischer Ausbildung schreiben und den Leserbrief widerlegen.

Leider ist das fast zwei Wochen lang nicht passiert, deshalb schrieb ich dann folgendes:

vor knapp zwei Wochen gab es einen in meinen Augen sehr fragwürdigen Leserbrief von K. J., in dem er sich massiv gegen das Impfen ausgesprochen hat, weil er selbst - angeblich - durch das Tetanus-Impfen geschädigt und zum Frührentner wurde.

Abgesehen davon, dass er nicht die Kenntnisse hat, um seinen Rundumschlag gegen das Impfen fachlich und kompetent zu untermauern, sorgt so ein Leserbrief zu Verunsicherung unter Eltern, die dann vielleicht ihre Kinder nicht impfen lassen, wenn sie eine solche Horrorgeschichte lesen und das Verhältnis von Impfrisiko zu Impfschadenrisiko selbst nicht bewerten können.

Selbst wenn ursächlich die Impfung die Ursache war, ist wissenschaftlich hervorragend erforscht, dass Impfen generell sinnvoll ist - Einzelfälle sind immer tragisch, das streite ich auch gar nicht ab, aber sie dürfen nicht ohne Prüfung Grundlage für Entscheidungen werden.

Ich selbst bin kein Mediziner, meine Frau ist Tierärztin, aber als Elternteil finde ich beunruhigend, wenn die WZ einem radikalen Impfgegner auf diese Weise ein Forum bietet und dem überhaupt nichts entgegensetzt.

Ich hätte gehofft, dass Sie als Reaktion darauf - z.B. mit einem Kinderarzt zusammen - einen redaktionellen Beitrag veröffentlichen, der das Impfen und die jeweiligen Risiken sachlich beschreibt und die Irrationalität der Impfgegner auf's Korn nimmt.

Ansonsten verweise ich auf die Diskussionen, die z.B. beim Blog von Kinderdoc (das sind 3 Links!) und auf der Facebookseite von hr1 toben.

Und eine schöne Zusammenstellung der Mythen, mit denen Impfgegner gern argumentieren. 
Überraschenderweise hat die Redaktion sich aber nicht selbst als Adressaten empfunden und meine Email kurzerhand als Leserbrief veröffentlicht. Und dummerweise habe ich meine mitgeschickten URLs nicht bei goo.gl abgekürzt, und die WZ hat drei davon wirklich in voller Länge als Fußnote gedruckt. Natürlich tippt so etwas niemand ab. Deshalb hier alles nochmal bequem zum Anklicken ;)

22.04.2015

OpenOffice-Dokumente mit perl-Skript bearbeiten

Offene Dateiformate sind eine tolle Sache!

Das merke ich immer wieder bei lustigen Problemen, wenn mir z.B. jemand ein Office-Dokument schickt und ich damit irgendetwas total langweiliges erledigen soll.

Es macht viel mehr Spaß, dafür ein Programm oder ein Skript zu schreiben und den Computer die Arbeit machen zu lassen, statt selbst dröge Arbeiten zu erledigen, die nur aus Wiederholungen von Tastendrücken und Mausbewegungen bestehen!

Letzte Woche hatte ich so einen Auftrag: ein Kollege schickte mir eine Excel-Datei mit mehreren Tabellenblättern und bat mich, daraus mehrere Tables einer Datenbank zu befüllen.

Mein erster Ansatz war, jedes Blatt als Textdatei (CSV) abzuspeichern und mit ein wenig Skripting die SQL-Befehle pro CSV-Datei zu generieren.

Der nächste Gedanke war einiges cooler und hat mir deshalb noch viel besser gefallen: ich speichere die Excel-Datei im OpenOffice-Format (ODF=OpenDocumentFormat) ab und lasse ein Skript die ganze Arbeit machen! Die Datei enthält um die 15 Tabellenblätter - allein vor dem Abspeichern von 15 CSV-Dateien in Handarbeit grauste es mir schon!

Hinzu kommt, dass mein Arbeitgeber OpenOffice als Standardwerkzeug und Standardformat festgelegt hat und es somit vollkommen natürlich ist, mit dem OpenDocument-Format zu arbeiten. Erwähnte ich schon, dass mein Arbeitsplatz mit Linux ausgestattet ist?

Ein ODF-Dokument ist eigentlich ganz einfach aufgebaut: es ist im Wesentlichen eine zip-Datei und der Inhalt ist immer in der Datei content.xml zu finden. Alles andere ist Beiwerk (Stylesheets, Bilder, ...), das ich für meinen Zweck ignorieren kann.

Natürlich verwende ich perl zum Programmieren meiner Umwandlungsskripte, und natürlich gibt es ein Modul für jeden Zweck. Für die Verbindung zu OpenOffice gibt es sogar mehrere, und ich habe mir OpenOffice::OODoc ausgesucht. Mir ist nämlich in der Beschreibung aufgefallen, dass es eine ganz bestimmte Funktion gibt, die haargenau das erledigt, was ich mir als Lösungsweg überlegt hatte: den Tabelleninhalt als CSV-Text auszuliefern.

Damit war mein perl-Skript plötzlich fertig, kaum dass ich 20 Zeilen geschrieben hatte, wobei das meiste davon sogar ein fast fertiges Beispiel aus der man-page war! Ich musste nur ein wenig die Daten massieren, als ich mit einem Testskript anfing und die ersten Daten probeweise auf dem Bildschirm ausgeben ließ.

Das folgende Skript erledigt nun den ersten Teil meiner Aufgabe: es zerlegt ein OpenOffice-Spreadsheet in mehrere CSV-Dateien, eine pro Tabellenblatt.
Als Ziel schwebt mir vor, dass die temporären CSV-Dateien gar nicht mehr gebraucht werden und ich direkt den SQL-Code erzeuge, aber ich denke, die Umwandlung von .ods in .csv kann man immer mal brauchen.

Einzige Bedingung: der Name des Tabellenblatts sollte sinnvoll gesetzt sein, weil daraus nämlich der Name der CSV-Datei gebildet wird.  Wenn man das nicht macht, heißen die Dateien einfach "Sheet1.csv", "Sheet2.csv" usw.

#!/usr/bin/perl -w
use OpenOffice::OODoc;
sub out {
  my ($table,$data)=@_;
  my $f=$table->{'att'}->{'table:name'}.".csv";
  return unless (open(OUT,">",$f));
  print STDERR "# $f\n";
  print OUT $data;
  close(OUT);
}
my $file=shift||"file.ods";
my $doc = odfText(file => $file);
foreach my $table ($doc->getTableList()) {
  $doc->normalizeSheet($table);
  my $data = $doc->getTableText($table);
  $data=~s!(<<|>>)!!msgo;
  $data=~s!^[\s;]*$!!msgo;
  $data=~s!;$!!msgo;
  chomp($data);
  out($table,$data);
}
Die Ausgabe-Funktion bildet den Dateinamen aus dem Attribut table:name des Blatts. Die eigentliche Umwandlung findet in der Methode getTableText statt: hier wird ein gesamtes Tabellenblatt mit einstellbaren Trennzeichen für Spalten und Zeilen in CSV-Text zurückgeliefert. Manche Blattnamen werden von "<<" und ">>" eingerahmt, was ich natürlich in Dateinamen nicht brauchen kann, deshalb werden die Daten noch etwas gesäubert. Welche Blattnamen es gibt, kann man mit getTableList erfragen.

Natürlich kann man auch andere Methoden einsetzen, um einzelne Zeilen, Spalten oder Zellen zu adressieren, und man kann mit diesem perl-Modul auch Daten ändern und die Änderungen abspeichern. Ein geniales Modul! Wie gesagt, die bequemste Funktion war für mich die Umwandlung in CSV mit einem einzigen Aufruf.

[Update: OpenOffice optimiert die Tabellenstruktur in der internen Verwaltung (content.xml), wenn mehrere Zellen denselben Inhalt haben; deshalb muss man vor der Benutzung der Methode getTableText das XML wieder "entzerren". Dazu setze ich vor das Auslesen der Tabelle die Methode normalizeSheet ein. ]

Und zack!, schon ist der erste Teil der Aufgabe erledigt - das Auslesen einer ODF-Datei.

Den zweiten Teil - die Umwandlung von Text in SQL - gibt es bei der nächsten Märchenstunde.

Und jetzt am Schluss verrate ich noch ein Geheimnis: ich erzähle, wie man dieses Modul in sein eigenes perl integriert (Punkte zwischen [...] optional).
  1. Modul herunterladen
  2. Auspacken
  3. In das Directory wechseln
  4. perl Makefile.PL
  5. make
  6. [make test]
  7. make install
oder noch viel bequemer mit dem CPAN-Modul:
  1. perl -MCPAN -e 'install OpenOffice::OODoc'
[Update 20150521: Umbruch im perl-Skript repariert]
[Update 20180810: dito]

23.03.2015

Hardliner fordern immer wieder die Vorratsdatenspeicherung

Boah, ich find es schrecklich. Bei der WZ sitzt einer, der aufrecht für das Unbelehrbare steht und den aktuellen, erneuten Vorstoß richtig gut findet, eine Vorratsdatenspeicherung einzuführen. Grrr!
Natürlich schrieb ich einen Leserbrief ;) [veröffentlicht am 23.03.15]

Leserbrief zur Glosse Hr. Wais 17.03.15, "Vorratsdatenspeicherung"

Hr. Wais, Sie zeigen sich schon wieder als Hardliner und treuer Gefolgsmann von Politikern wie Uhl, Schily, Gabriel, de Maizière und von BKA-Polizisten wie Ziercke.
Sie alle fordern, dass die Vorratsdatenspeicherung wieder eingeführt wird. Dabei ignorieren Sie nach wie vor, dass nicht nur das Bundesverfassungsgericht, sondern in noch viel schärferer Form sogar der Europäische Gerichtshof die anlasslose Speicherung verboten haben. Die EU plant deshalb keine Neuauflage dieser Big-Brother-Idee mehr, andere EU-Länder haben schon oder sind gerade dabei, die Vorratsdatenspeicherung komplett abzuschaffen.
Derzeit stemmt sich Justizminister Maas noch tapfer gegen die Wiedereinführung in Deutschland - mal schauen, wie lange er durchhält.

Gabriel schreckt nicht einmal vor Unwahrheiten zurück: er behauptet, dass Breiviks Morde in Norwegen wegen der Vorratsdatenspeicherung besonders schnell aufgeklärt werden konnten. Dumm nur, dass es 2010 in Norwegen gar keine Vorratsdatenspeicherung gab! Genauso gern wird behauptet, dass in Frankreich dank der umfassenden Überwachung die Mörder der Charlie-Hebdo-Zeichner so schnell gefunden werden konnten. Kunststück, sie haben ja auch eine blutige Spur hinterlassen, dazu brauchte man keine VDS.

Besonders erschreckend finde ich, wenn nach einem Anschlag ganz stolz behauptet wird, dass die Täter schon in irgendeiner Datenbank gespeichert waren. Ganz offensichtlich hat aber niemand diese Daten rechtzeitig auswerten können; damit fällt das Argument der Prävention völlig in sich zusammen. Auch die Auswertung nach einem Anschlag ist möglich, ohne anlasslos jeden unter Verdacht zu stellen: die Staatsanwaltschaft kann in Eilfällen schon heute quasi auf Zuruf das Kommunikationsverhalten Tatverdächtiger speichern lassen. Die von der Bundesregierung nun geplante unterschiedslose Jedermannspeicherung würde dagegen hochsensible Daten Millionen unverdächtiger und ungefährlicher Bürger dem ständigen Risiko von falschem Verdacht, Datenklau oder Datenmissbrauch aussetzen. Das droht freie Kommunikation zu ersticken. Wenn Menschen nicht mehr ohne Furcht vor Nachteilen durch Anrufe oder im Internet Hilfe suchen können, verhindert dies eine sinnvolle Prävention und kann sogar Leib und Leben von Unbeteiligten gefährden.

Auf der anderen Seite rüsten Staaten, die man nicht mehr als Demokratie bezeichnen kann, technisch weiter auf. In der Türkei hat Erdogan gerade im Präsidentenpalast ein landesweites Überwachungszentrum bauen lassen, das Kameras, Drohnen und andere Daten von Polizei, Geheimdienst und Katastrophenschutz vereint. Sehr bequem, ist Erdogan doch auch gleichzeitig oberster militärischer Befehlshaber. Ich denke, Orwells "1984" ist wieder einen Schritt näher gerückt.

Es ist keine gute Idee, anlasslos Daten zu speichern, zumal die amtierende deutsche Regierung offensichtlich nicht in der Lage ist, handwerklich so zu arbeiten, dass ihre Gesetze vor dem Bundesverfassungsgericht bestehen. Wie oft musste in letzter Zeit das Gericht eingreifen, um die schlimmsten Fehltritte zu stoppen? Viel zu oft!

17.03.2015

Terry Pratchett lebt weiter ... im Netz

Hach, das ist eine schöne Idee, und genauso absurd wie die Scheibenwelt, die sich Sir Terry Pratchett ausgedacht hat!

Terry Pratchett ist leider am 12.03.2015 von uns gegangen, aber es gibt Fans, die eine Petition an den TOD gestartet haben, und andere Fans, die ihn im Internet weiterleben lassen wollen, indem sein Name nicht in Vergessenheit gerät. Hier ist noch ein wunderschöner Nachruf.

In einigen der neueren Bücher, in denen langsam, aber sicher, die Industrialisierung einzieht, gibt es ein System namens "Clacks", das eine Mischung aus Fax, Telex und Internet darstellt. Es wird verwendet, um Nachrichten auszutauschen, und verwendet dazu Relaisstationen, die zueinander in Sichtweite stehen müssen, die "Clacks Tower".

Adora Belle Dearhart, eine der Hauptpersonen in "Going Postal" und die Angebetete von Moist von Lipwig, verlor ihren Bruder John Dearhart durch üble Machenschaften einer Teilhaberfirma, als er sich weigerte, die Clacks Tower den Geschäftspraktiken der Firma anzupassen, um mehr Geld zu verdienen.

Seit seinem Tod wird zum Andenken immer wieder von einem Ende der Türme zum anderen die Nachricht "GNU John Dearhart" verschickt.
His name is in the code, in the wind, in the rigging and the shutters. Haven't you ever heard the saying “A man's not dead while his name is still spoken”?'

Jeder, der eine Website betreibt, hat nun die Möglichkeit, etwas Vergleichbares für Terry Pratchett zu tun:
  • entweder die folgenden Zeilen in die httpd.conf des Apache eintragen (wenn man Zugang hat), dann muss man das "Headers" Module noch einschalten mit
    LoadModule headers_module modules/mod_headers.so
  • oder eine .htaccess-Datei mit diesen Zeilen im / ablegen (dann braucht man noch vom Betreiber des Servers die Erlaubnis für das fettgedruckte)
    <Directory />
      AllowOverride All
    </Directory>

Und genau diese drei Zeilen muss man dann einbauen:



<IfModule headers_module>
    header set X-Clacks-Overhead "GNU Terry Pratchett"
</IfModule>
Mit normalen Mitteln kann man diese zusätzliche HTTP-Header-Zeile nicht erkennen, aber mit Hilfsmitteln wie "wget" auf der Kommandozeile oder seit kurzem auch mit einer Extension für Chrome kann man sehen, ob ein Webserver diesen Header ausliefert.

Für die Praxis meiner Frau hab ich das soeben getan, und die Antwort finde ich sehr schön:

# wget -O/dev/null -Sv http://www.tierarzt-berstadt.de
--2015-03-17 15:38:07--  http://www.tierarzt-berstadt.de/
Resolving www.tierarzt-berstadt.de (www.tierarzt-berstadt.de)... 81.169.145.86
Connecting to www.tierarzt-berstadt.de (www.tierarzt-berstadt.de) |81.169.145.86 |:80... connected.
HTTP request sent, awaiting response...
  HTTP/1.1 200 OK
  Date: Tue, 17 Mar 2015 15:38:14 GMT
  Server: Apache/2.2.29 (Unix)
  Last-Modified: Fri, 05 Jul 2013 12:49:50 GMT
  ETag: "334cd49-4c5-4e0c3215f9780"
  Accept-Ranges: bytes
  Content-Length: 1221
  X-Clacks-Overhead: GNU Terry Pratchett
  Keep-Alive: timeout=3, max=100
  Connection: Keep-Alive
  Content-Type: text/html
Length: 1221 (1.2K) [text/html]

13.03.2015

Flash-Update auf Version 17

Mir fehlen langsam die Worte, wie die Versionsnummern inflationär in Höhen klettern. Google hat es mit Chrome vorgemacht, aus irgendwelchen Gründen macht es Mozilla mit Firefox und Thunderbird nach, und jetzt beschleunigt Adobe die Nummerierung des Flashplayers genauso.

Und weil mir die neuen Worte fehlen, nehme ich immer den alten Blogartikel, nur die Versionsnummern ändern sich ;)

Grade erst Version 16 (siehe meinen älteren Blogartikel von November), jetzt schon 17 und gleich mit Warnungen, dass die älteren Versionen unsicher sind. Wer sich selbst auf dem Laufenden halten will, kann das Blog des Security-Teams bei Adobe lesen oder als RSS abonnieren.

Wie üblich in ihrem freundlichen Service-Blog die passende Automation zum Herunterladen und Installieren. Falls ein Proxy verwendet wird, das "rem" bzw. "#" entfernen.

Das Tool wget wird bei Windows noch benötigt wie hier beschrieben. Bei Linux sollte es schon vorhanden sein, da es von vielen anderen Programmen intern verwendet wird.

Für Windows wie üblich beide Varianten, ActiveX und Netscape Plugin.
@echo off

rem set http_proxy=http://192.168.100.100:3128/
set VNP=
17.0.0.188
set VAX=17.0.0.188
set V=17
set H=fpdownload.macromedia.com
set P=/get/flashplayer/current/licensing/win
set AX=install_flash_player_%V%_active_x.exe
set NP=install_flash_player_%V%_plugin.exe

wget http://%H%%P%/%AX% -O flash-%VAX%_ax.exe
.\flash-%VAX%_ax -install
wget http://%H%%P%/%NP% -O flash-%VNP%_np.exe
.\flash-%VNP%_np -install

Für Linux 64 bit rpm (als root ausführen oder "sudo rpm" schreiben) gibt es nach wie vor "nur" Version 11, aber zur Abwechslung haben sich der Downloadlink und der Dateiname für .rpm geändert. Für .tar.gz-Format ist immer noch der erste Downloadlink gültig, deshalb belasse ich beide im Skript.
#!/bin/sh

# http_proxy=http://192.168.100.100:3128/

VL=11.2.202.460
H=fpdownload.macromedia.com

PL1=/get/flashplayer/current/licensing/linux
PL2=/get/flashplayer/pdc/${VL}


DL() { wget -N "$1/$2"; mv "$2" "$3"; }

echo Linux 64 bit rpm ...
DL http://${H}${PL2} \
   flash-plugin-${VL}-release.x86_64.rpm \
  
flash-${VL}.x86_64.rpm
rpm -F --force
flash-${VL}.x86_64.rpm

[Hier ist noch der Verweis auf die Anleitung für Version 16, 15, 14 und 13]

[Update 20150114: Versionsnummern angepasst - heise-Meldung]
[Update 20150122: Versionsnummern angepasst - Adobe-Meldung]
[Update 20150126: Versionsnummern angepasst - heise-Meldung]
[Update 20150205: Versionsnummern angepasst - heise-Meldung]
[Update 20150415: Versionsnummern angepasst - Adobe-Meldung]
[Update 20150513: Versionsnummern angepasst - Adobe-Meldung]

04.03.2015

Das iPhone 5 bekommt ein neues Display

Wer hätte das gedacht? Nach langem (sehr langem!) Gequengel hat sich Kind 1 den größten Wunsch aller Zeiten(TM) erfüllt und ein iPhone gekauft. Das Konfirmationsgeld und ganz viele zugedrückte Hühneraugen haben es möglich gemacht - obwohl ich als Elternteil und Finanzier das geschlossene Öko-System von Apple ziemlich ablehne.

Wer hätte das gedacht? Es hat kein ganzes Jahr gedauert, und das iPhone hat den ersten Schaden. In einer öffentlichen Toilette ist aus einem Seifenspender ein Schwall Flüssigseife auf das Display getropft. Dummerweise hat das Abwischen nicht ausgereicht - das iPhone 5 ist halt nicht wasserdicht, nicht mal spritzwasserfest. Ein kleiner Rest Seifenlotion ist nach und nach ins Innere gekrochen, und ausgerechnet ins Display. Dort hat es sich dann im Lauf der letzten Tage immer weiter ausgebreitet.

Das ist natürlich ein unhaltbarer Zustand - ich kann keine defekten Geräte in meinem Umfeld ansehen, das widerstrebt mir. Außerdem hatte ich die Befürchtung, dass sich der Rest Seifenlauge immer weiter ins Gerät hinein verteilt und dann irgendwann auch die Elektronik im Inneren angreift.

Zunächst die Nagelprobe: wie kompliziert ist der Austausch eines Displays bei einem iPhone 5? Videos bei youtube gesucht und angeschaut und überrascht festgestellt: es scheint ganz einfach zu sein! Entgegen meinen Erwartungen und Vorurteilen lässt sich das Gerät leicht öffnen, und der Tausch des Displays besteht nur aus wenigen Handgriffen, wenn man eine ruhige Hand für die superkleinen Schrauben im Inneren hat.

Also musste ein Ersatzdisplay her. Zu meiner extrem großen Überraschung finden sich bei ebay Angebote für komplette Ersatzdisplays schon ab ca. 40 €. Da ich das Gebastel vom Nexus 7 noch in schlechter Erinnerung hatte, dort das Display von der Bezel (dem Rahmen) zu trennen, habe ich mich für ein komplett montiertes Modul entschieden, in dem Kamera, Knopf und Hörer schon fertig montiert waren. Ansonsten hätte ich vom alten Displaymodul noch die Einzelteile ab- und ummontieren müssen. Das hat den Spaß zwar nochmal 5 € teurer gemacht, aber soviel ist die gesparte Arbeitszeit auf jeden Fall wert.

Die Bestellung trudelte recht schnell ein, und der Austausch des Displays war tatsächlich so einfach, wie es im Video ausgesehen hat. Alle benötigten Werkzeuge waren im Paket mit drin, auch der Mikro-Mini-Torx-Schraubenzieher.

Die zwei Schrauben neben dem Lightning-Anschluss lösen, mit dem mitgelieferten Saugnapf das Display vorsichtig ablupfen ...


... dann mit dem Plastikhebelwerkzeug gleichmäßig von unten nach oben auf beiden Seiten aus dem Unterteil heben, nach oben klappen ...






... dann im Inneren drei noch kleinere Schrauben lösen, die einen Blechdeckel festhalten ...






... drei Platinenstecker lösen (von rechts außen im Uhrzeigersinn beginnen) und schon ist das Display ab!





Beim neuen Display war auf der Innenseite noch eine Schutzfolie aufgeklebt, danach musste ich in der umgekehrten Reihenfolge die Stecker wieder aufstecken und festdrücken, den Blechdeckel festschrauben und das war's eigentlich schon. Der letzte Schritt ist dann schon, das neue Display vorsichtig in das Unterteil zu drücken und die beiden Schrauben festzuziehen.


Wer hätte das gedacht? Display und Touchscreen funktionieren einwandfrei nach dem Einschalten.

Kind 1 wieder glücklich - und um 50 € Schulden "reicher" ;)

Wer hätte das gedacht? Unglaublich!

25.02.2015

Nebelkerzen über TTIP - Leserbrief

Am 11.02.2015 hat die WZ eine Glosse von Hr. Gillies veröffentlicht, in der er vehement für das TTIP-Abkommen eintritt und pauschal alle TTIP-Gegner als "amerikafeindlich" abwatscht. Das fand ich journalistisch so daneben, dass ich (nicht als einziger) einen Leserbrief dazu geschrieben habe (veröffentlicht am 18.02.2015).

Wenn ich richtig gezählt habe, gab es inzwischen vier (!) Leserbriefe, die die Glosse genauso unterirdisch fanden wie ich.

Dazu fällt mir das außerordentlich wichtige Zitat von Hanns Joachim Friedrichs ein: "Einen guten Journalisten erkennt man daran, dass er sich nicht gemein macht mit einer Sache - auch nicht mit einer guten Sache".

Leserbrief zur Glosse Hr. Gillies "TTIP"

Hr. Gillies schreibt über das "Transatlantische Freihandels- und Investitionsschutzabkommen" TTIP und seine Vorteile.
Leider versteigt sich die Glosse zu Allgemeinplätzen, wie toll doch dieses Abkommen für die Wirtschaft sein wird, insbesondere für die in Deutschland heilige Autoindustrie.
Um den Widerstand gegen den Vertrag lächerlich zu machen, wird das "Chlorhühnchen" als Beispiel gebracht. Aber das Chlorhühnchen ist nur ein Symptom, nur die Spitze des sprichwörtlichen Eisbergs.
Wer glaubt denn ernsthaft daran, dass der jeweils "beste" Standard im Sinne des Verbrauchers sich durchsetzen wird? Der billigste und einfachste Standard wird es sein!

Das TTIP-Abkommen soll weltweit Standards vereinheitlichen und damit den Handel vereinfachen. In dieser Schlichtheit hört sich das richtig gut an. Allerdings steckt wie üblich der Teufel im Detail: eine Vereinheitlichung bedeutet im Allgemeinen, dass immer der niedrigste Standard aus allen Partnerländern angenommen wird. Dieses Abkommen wird weltweit zwischen USA, EU, Kanada, Mexiko, Schweiz und vielen anderen Ländern abgeschlossen. Leider stammen die Entwürfe nicht von den Parlamenten, sondern von Lobbyvertretern der Industrie unter Ausschluss der Öffentlichkeit, ohne Beteiligung der nationalen Parlamente oder des EU-Parlaments, und damit faktisch ohne demokratische Kontrolle. Es steht zu befürchten, dass durch das Abkommen Umwelt- und Gesundheitsstandards untergraben und Arbeitnehmerrechte aufgeweicht werden. Die Vertragstexte dürfen nicht einmal von den Parlamentariern oder anderen Organisationen eingesehen, geschweige denn von ihnen Änderungen vorgeschlagen werden! Auffällig ist z.B. auch, dass Gewerkschaften, die ja die Arbeitnehmer repräsentieren, zur Arbeitsgruppe für Arbeitsplatz und Wachstum keinen Zugang haben.

In Deutschland sprechen sich nicht nur "amerikafeindliche" Menschen, wie Hr. Gillies sie polemisch tituliert, gegen dieses Abkommen aus! U.a. haben sich Gewerkschaften, NGOs und Umweltschutzorganisationen wie ver.di, ATTAC, BUND, DNR uvm. dagegen positioniert. ver.di bezeichnet TTIP als "Angriff auf Löhne, Soziales und Umwelt". Die wirtschaftsfreundliche Bertelsmann-Stiftung, die übrigens an diesem Abkommen mitschreiben darf, schreckt nicht vor methodisch unsauberen Studien zurück, die schon widerlegt wurden.

Nach meiner Meinung schafft dieses Abkommen nationale Regierungen und demokratisch verabschiedete Gesetze so gut wie ab. Wenn einem internationalen Konzern ein Gesetz nicht passt, wird dagegen geklagt. Würden Staaten also gegen die TTIP-Vertragsregelungen verstoßen, könnten hohe Entschädigungen an Unternehmen fällig werden. Darüber würden Schiedsgerichte entscheiden, die keiner nationalen Gesetzgebung und Kontrolle unterworfen wären. Diese Entscheidungen von Schiedsgerichten könnten dann nicht mehr gerichtlich angegriffen werden. "Transparenz" und "Berufungsmöglichkeiten" wird es auch nicht geben, wie der Spiegel bereits berichtet hat. Der Staat ist immer der Beklagte, und es gibt für ihn keine Möglichkeit, die Entscheidung des Gerichts anzufechten. (Quelle: Spiegel Online).

Ein weiterer Verhandlungsgegenstand von TTIP ist z.B. die Rücknahme von Kontrollen und Regeln für den Finanzsektor. Wollen wir die Konzerne weiter entfesseln und unsere Souveränität privatisieren?

Dies sind reale Beispiele, was mit diesen Regelungen auch auf uns zukommen könnte:

Die kanadische Provinz Québec hat ein Moratorium für das Fracking von Schiefergas und Öl erlassen. Deshalb klagt das US-Unternehmen Lone Pine, welches zuvor eine Probebohrungslizenz erworben hatte, vor einem internationalen Schiedsgericht gegen den Staat Kanada und fordert 250 Millionen Dollar für den zu erwartenden Gewinnausfall. Wohlgemerkt, es geht nicht um die Rückzahlung von Gebühren oder Entschädigung für schon getätigte Ausgaben, sondern um den entgangenen Gewinn!

Der Tabakkonzern Phillip Morris klagt auf Entschädigung in Milliardenhöhe gegen Australien aufgrund entgangener Gewinne durch strengere Gesetze zum Tabakkonsum.

Trotz rechtswidrigen Handelns wurde dem US-Ölriesen Oxy in Ecuador von einem Schiedsgericht eine Entschädigung von fast zwei Milliarden Dollar zuerkannt.