Alle Beiträge von Andreas Heß

Charakterbildend… am Arsch!

Im diesjährigen Sommerloch wird darüber diskutiert, die Aussetzung der Wehrpflicht rückgängig zu machen, und zwar für Männer und Frauen. Ich sehe da eine Luftnummer. Wenn es eine Wehrpflicht für Männer und Frauen geben soll, müsste man Artikel 12a des Grundgesetzes ändern, denn dort steht ganz eindeutig, dass Männer  zum Dienst in den Streitkräften verpflichtet werden können. Ich glaube kaum, dass es dafür eine Zweidrittelmehrheit gibt. Eigentlich hätte sich dieses Vorhaben damit schon wegen Aussichtslosigkeit erledigt, wenn nicht in der Union und auch der SPD nun die Befürworter des Pflichtdienstes wieder aus ihren Löchern kämen.

Zivildienst

In Wahrheit geht es aber gar nicht um die Wehrpflicht. Die Bundeswehr hat ganz andere Sorgen. Selbst der ehemalige Generalinspekteur der Bundeswehr, Harald Kujat, der sich 2014 noch stark für die Wehrpflicht ausgesprochen hat, kritisiert die aktuelle Debatte und meint, es werde hier nur „eine neue Sau durchs Dorf getrieben“.  Eigentlich geht es darum, über eine allgemeine Dienstpflicht den Zivildienst wieder einzuführen. Karl Lauterbach von der SPD spricht das aus und sagt, dass wegen des Wegfalls des Zivildienstes in vielen sozialen Einrichtungen diese Kräfte fehlten.

Doch das kann eigentlich nicht richtig sein.

Nach geltendem Recht darf ein Zivildienstleistender gar nicht für Tätigkeiten eingesetzt werden, in denen er regulär Beschäftigte ersetzt. Ein Zivildienstleistender durfte eigentlich nie in der Pflege, sondern nur für die Betreuung eingesetzt werden. Mit was wir es hier zu tun haben ist also nichts anderes als ein Eingeständis, dass über Jahre hin Rechtsbruch toleriert wurde.

Zwangsrekrutierte Billigarbeiter statt Fachkräfte

Wenn also der Ruf nach einer Dienstpflicht mit der Begründung laut wird, dass im sozialen Bereich Arbeitskräfte fehlen, bedeutet dass nichts anderes als dass ordentlich bezahlte und ausgebildete Kräfte durch zwangsrekrutierte Billigarbeiter ersetzt werden sollen.

Doch das wird hoffentlich schon deshalb nichts, weil es gegen das Verbot der Pflichtarbeit in der europäischen Menschenrechtskonvention verstößt. Artikel 1 des Grundgesetzes steht sowieso schon in Konflikt mit Artikel 12. Zwangsarbeit ist eine Missachtung der Würde des Menschen. In Zeiten des kalten Krieges war eine Ausnahme zur Landesverteidigung gerade noch hinnehmbar. Eine Zwangsverpflichtung junger Menschen, nur weil man billige Arbeitskräfte braucht, ist es nicht.

Charakterbildend? Nicht geschadet?

Und dann wäre da noch das Argument, dass dieses Dienstjahr charakterbildend ist und ja noch niemandem geschadet hat und bla bla bla…

Charakterbildend am Arsch. Aus persönlicher Sicht war mein Zivildienst nichts als Zeitverschwendung, vergeudete Lebenszeit. Mag sein, dass ich einigen kranken und behinderten Menschen geholfen habe. Vielleicht habe ich aber auch nur einer Fachkraft den Arbeitsplatz weggenommen. Es hat meinen Charakter nicht geprägt. Es hat mir nicht geschadet, es hat mir aber auch rein gar nichts gebracht.

Wer selbst gedient oder Zivildienst geleistet hat und etwas anderes behauptet, der verklärt die Vergangenheit oder lügt.

Es hat auch der Gesellschaft nichts gebracht. Wahrscheinlich hätte es der Gesellschaft mehr gebracht, wenn ich ein Jahr früher in den Beruf eingestiegen wäre und somit ein Jahr früher Steuern gezahlt hätte.

Ich hätte ein Jahr früher Forschung betreiben und Deutschland und Europa im Bereich des Machine Learning voranbringen können. Stattdessen war der Staat der Meinung, dass mein Zivildienst für die Gesellschaft wichtiger war. Da gehen unsere Meinungen wohl auseinander.

Ihr wollt doch nur andere leiden sehen!

Wer heute für eine Wiedereinsetzung der Wehrpflicht oder gar für eine allgemeine Dienstpflicht ist, will nur andere leiden sehen. Anders kann ich mir das nicht erklären.

Die Einstellung meiner Eltern und Großeltern war, dass es ihren Kindern besser gehen soll als ihnen selbst. Wer heute Achtzehnjährige zu einem Jahr Zwangsdienst verpflichten will, tut dies, weil er oder sie der Meinung ist, dass es die Jungen zumindest in diesem Punkt nicht besser haben sollen. Das ist nicht in Ordnung!

Wenn heute die Dienstpflicht mit dem Argument gefordert wird, sie würde den gesellschaftlichen Zusammenhalt stärken, verkennt die Realität. Der gesellschaftliche Zusammenhalt wird sicher nicht dadurch gesichert, dass man Achtzehnjährige zum Dienst verpflichtet. Er wird umgekehrt auch nicht dadurch gefährdet, dass sie das gegenwärtig nicht tun müssen.

Der gesellschaftliche Zusammenhalt wird dadurch gefährdet, dass heute alles schön billig sein muss. Dadurch, dass es haufenweise Menschen gibt, die schlecht bezahlt werden. Und jetzt soll also der gesellschaftliche Zusammenhalt dadurch hergestellt werden, dass man alle jungen Menschen dazu zwingt, noch schlechter bezahlt die Arbeiten zu tun, für die sich auf dem Arbeitsmarkt niemand findet. Wie bescheuert ist das denn!?

 

Fake Science und Verlage

Derzeit berichtet die Tagesschau unter dem Titel „Fake Science“ über pseudowissenschaftliche Verlage, die ohne Peer Review gegen Bezahlung alles veröffentlichen. Am Montag soll dazu im Ersten die volle Reportage laufen.

Neu ist das Phänomen nicht. Schon 2005 haben drei MIT-Studenten ein computergeneriertes Fake-Paper bei einer Konferenz untergebracht und vor etwas über einem Jahr hat es die gewagte These, dass der konzeptuelle Penis Schuld am Klimawandel hat, nicht nur in eine Fachzeitschrift der Sozialwissenschaften, sondern auch in die Medien geschafft.

Im Interview mit der Tagesschau – siehe dazu weiter unten das eingebettete Video –unterscheidet die Journalistin Svea Eckert, die im Rahmen ihrer Recherchen selbst eine solche pseudo-wissenschaftliche Konferenz besucht hat, zwischen drei Gruppen von Teilnehmern. Zum einen ernsthafte Wissenschaftler, die die Pseudowissenschaftlichkeit der Konferenz oder Zeitschrift im Vorfeld nicht erkannt haben, denen schlicht das Geld aus der Tasche gezogen wurde und die danach nie wieder dort auftauchen. Zum zweiten Wissenschaftler, die unter hohem Publikationsdruck stehen und diesen Weg nutzen, um die Zahl ihrer Publikationen künstlich in die Höhe zu treiben.

Die dritte Gruppe dagegen, deren Existenz mir in der Tat so noch nicht bewusst war, ist gefährlich. Sie nutzt diese Veröffentlichungsmethode, um ihre eigenen Interessen durch scheinbar wissenschaftliche Studien zu untermauern und so zum Beispiel wertlose „Medikamente“ zu verkaufen.

<update>

Hintergrund GcMAF

Einer der Auslöser für die Recherchen war offenbar der Tod der an Krebs erkrankten Moderatorin Miriam Pielhau, die auf Basis von falschen Studien über das Mittel GcMAF darauf gesetzt hatte. Pikant ist an dieser Stelle allerdings, dass über dieses Mittel zuerst in eigentlich als seriös eingestuften Zeitschriften zum Beispiel aus dem Wiley-Verlag veröffentlicht wurde, die Studien dann aber später zurückgezogen wurden, wie ich über einen Tweet mitbekommen habe.

</update>

Die komplette Reportage anzuschauen könnte durchaus lohnen. Allerdings lenkt diese „Fake Science“-Reportage zu diesem Zeitpunkt den Blick von einem anderen, weniger öffentlich diskutiertem, aber für Wissenschaftler mindestens genau so wichtigem Schauplatz ab: den gescheiterten Verhandlungen des Projekt DEAL, einer Bestrebung zur bundesweiten Lizenzierung von Angeboten großer Wissenschaftsverlage, mit Elsevier.

Gierige Wissenschaftsverlage

Wie unterscheidet sich denn eigentlich das Geschäftsmodell eines Verlags wie Elsevier von dem der „Fake Science“-Verlage? Erschreckenderweise ist die Antwort: Fast gar nicht. Beide kassieren für die Veröffentlichung von Papieren von den Autoren, also den Wissenschaftlern. Elsevier verlangt aber zudem noch Geld von den Wissenschaftlern, die die Artikel ihrer Kollegen hinterher lesen wollen, und zwar nicht zu knapp. Weil Elsevier an dieser Stelle die Hand ein wenig zu weit aufhält, sind die Verhandlungen erst einmal auf Eis gelegt, teilt die Hochschulrektorenkonferenz mit. Natürlich findet bei seriösen Wissenschaftsverlagen eine Begutachtung durch Kollegen, ein Peer Review, statt, dies geschieht aber ehrenamtlich durch andere Wissenschaftler. Unterm Strich zieht also ein Verlag wie Elsevier den Forschern das Geld noch schlimmer aus der Tasche als die „Fake Science“-Verlage und die öffentliche Hand zahlt dreifach: Die Forschung selbst wird meistens öffentlich gefördert, der Verlag wird für die Veröffentlichung bezahlt und die Bibliotheken der Hochschulen zahlen nochmal dafür, dass ihre Wissenschaftler die Veröffentlichungen dann auch lesen dürfen.

Dass es auch anders geht, zeigen Open-Access-Journale wie z.B. das Journal of Machine Learning Research. Dieses Magazin ist ein Beispiel, das eindrucksvoll zeigt, dass die Wissenschaftsverlage nichts, aber auch gar nichts leisten, was nicht auch von Wissenschaftlern in Eigenregie erledigt werden kann.

In der Informatik scheint man generell schon etwas weiter zu sein als in den Naturwissenschaften. Ich habe beim Schreiben meiner Doktorarbeit praktisch alle von mir gelesenen Aufsätze frei im Netz finden können, weil sowieso die allermeisten Papers in diesem Bereich von ihren Autoren zusätzlich auf ihren eigenen Homepages oder denen der Universität zugänglich sind. Und wenn nicht, würden sicher viele Autoren auf Nachfrage ihre Papers auch direkt rausrücken, schließlich wollen die ja zitiert werden. Bei den Informatikern spielt Elsevier glücklicherweise so gut wie keine Rolle und die Bedingungen des Springer-Verlags (der Wissenschaftsverlag, nicht der von der Bildzeitung), der im Informatikbereich viele Konferenzbände veröffentlicht, sind weniger restriktiv. Da hieß es damals, dass es von Seiten des Verlags wünschenswert sei, dass man mit der Veröffentlichung auf der eigenen Homepage bis ein Jahr nach Veröffentlichung bei Springer warten soll. Ich dachte mir dann immer, dass es von meiner Seite wünschenswert ist, das nicht zu tun. Das war dann auch ok.

Wenn die Verhandler des Projekts DEAL hart bleiben, kommt vielleicht auch Elsevier irgendwann zu der Erkenntnis, dass die Wissenschaftler sehr wohl ohne die Verlage leben können, aber die Verlage nicht ohne die Wissenschaftler. Immer mehr Forscher lehnen es inzwischen ab, für Elsevier ehrenamtlich Peer Review zu betreiben oder bei Elsevier zu veröffentlichen. Und wer von dort was lesen muss, der wird sich jetzt, da den deutschen Universitätsbibliotheken der Zugang gesperrt wurde (bis vor kurzem hatte den Elsevier in seiner unendlichen Güte auch nach Auslaufen der alten Lizenz noch zur Verfügung gestellt), vielleicht das „umstrittene“ Sci-Hub für sich entdecken…

Amazon Prime Video und Netflix auf dem Raspberry Pi

Um einem nicht so smarten TV ein wenig Grips einzutreiben, bietet sich ein kostengünstiger Raspberry Pi mit dem Media Center KODI an. Es empfiehlt sich aus Performance-Gründen ein Raspberry Pi 3.

Es sind allerdings ein paar Sachen zu beachten, wenn man auch Netflix und Amazon Prime Video schauen will, weswegen ich hier einmal zusammentragen will, was ich dafür konfigurieren musste.

KODI, LibreELEC und NOOBS

Zunächst einmal ist zu beachten, dass die für Amazon und Netflix nötigen Add-Ons nur mit der neuesten Version 18 von KODI laufen und die aber nicht auf dem „normalen“ Raspbian-Betriebssystem. Es ist daher angezeigt, LibreELEC zu installieren. Mit dieser Linux-Distribution kann man nicht viel anderes machen als KODI laufen zu lassen, das aber dafür gut. LibreELEC kann zunächst wie die meisten anderen Raspi-Betriebssysteme ganz bequem über NOOBS installiert werden.

„Milhouse 9.0“-Builds

Für die Amazon- und Netflix-Plugins braucht man die neueste Version. Hierzu geht man nach dem ersten Hochfahren von KODI aus auf die LibreELEC-Einstellungen und stellt unter „System“ die Aktualisierungen auf manual und bei den benutzerdefinierten Kanälen die URL http://milhouse.libreelec.tv/builds/master/RPi2 ein (auch wenn man einen Raspi 3 hat). Unter Update-Kanal stellt man dann auf „Milhouse 9.0“ und wählt dann unter „Verfügbare Versionen“ einen der aktuellen Nightly-Builds aus.

Achtung, diese sind nicht immer so stabil! Versionen vom Mai liefen bei mir nicht so gut, jetzt habe ich mich mehr oder weniger willkürlich für die Version 0421 vom 21. April entschieden und damit läuft es gut.

Amazon Prime Video

KODI ist nur nicht viel ohne Add-Ons. Viele gute offizielle Add-Ons findet man im gewöhnlichen Repository, nicht so die Netflix- und Amazon-Plugins. Dazu installiert man zuerst aus dem normalen Repository ein neues Repository, nämlich „Kodinerds“. Das findet man unter All Repositories ➜ Add On Repositories ➜ Kodinerds Add-ons und vom Kodinerds Repository installiert man dann wieder zwei andere Repositories, nämlich erst mal „Sandmann79s Repository“ für die Amazon-Add-Ons und das „Netflix“-Repository für das Netflix-Add-On (siehe zu Netflix unten).

Bei den angebotenen Amazon-Add-Ons scheint das internationale „Amazon VOD“ besser zu funktioniert als das andere, das nur für Deutschland gedacht ist. Letzteres lädt die Playlisten des eigenen Accounts in eine lokale Datenbank, was aber unnötig lange dauert.

Für die Wiedergabe von DRM-geschützten Material, die es von Amazon oder Netflix kommt, braucht man die „Widevine“-Libraries. Das Amazon-Plugin installiert die automatisch, das dauert aber etwas.

In den Einstellungen des Add-Ons sollte man noch bei der Wiedergabemethode „Input Stream“ einstellen. Ein gültiger Prime-Account ist natürlich Pflicht, die Zugangsdaten gibt man auch in den Einstellungen des Add-Ons ein.

Netflix

Bei Netflix hat bei mir die Installation aus dem Repository nicht funktioniert, daher habe ich die aktuelle Version des Netflix-Add-Ons von Github heruntergeladen („Clone or download“ auswählen und als ZIP runterladen, siehe Anleitung) und in KODI über „Installation aus ZIP“ installiert. Damit das funktioniert, muss man evtl. in KODI noch die Installation von Add-Ons aus Fremdquellen explizit zulassen. Über die Samba-Dateifreigabe von KODI/LibreELEC findet das ZIP-File den Weg auf die SD-Karte des Raspi. Auch für Netflix ist selbstverständlich ein gültiger Login erforderlich.

Podcasts

Zu beachten ist noch, dass die Version des beliebten „Apple iTunes Podcasts“-Add-On (das keinen iTunes-Account braucht, sondern nur so heißt, weil es die Liste der Podcasts von Apple zieht) aus dem KODI-Repository nicht mit dieser Konfiguration läuft. Im KODI-Forum wird erklärt, wie man das Add-On trotzdem zum Laufen bekommt.

Alternativ kann man aber seine Podcasts auch anders über KODI abspielen. Man trägt dazu die URL des RSS-Feeds seines Podcasts über Musik- bzw. Video (je nachdem, ob es ein Audio- oder Video-Podcast ist) als Quelle ein, allerdings nicht beginnend mit „http://“, sondern mit „rss://“.

Nutch und Solr einrichten

Wer selber Suchmaschinenbetreiber werden und dem Großen G Konkurrenz machen will, kann das mit dem Webcrawler Nutch und dem Suchserver Solr tun. Leider ist das Tutorial von Nutch nicht ganz so deutlich, enthält ein paar unnötig komplizierte Sachen und zudem in einer nicht ganz logischen Reihenfolge.

Das hier gezeigte Vorgehen wurde mit Ubuntu 16.04 getestet, sollte aber genau so mit anderen Linuxen oder macOS funktionieren.

Unter Windows laufen die Nutch-Skripte nicht. Da das eigentliche Nutch selbst aber genau wie Solr in Java implementiert ist, ließe sich das mit Cygwin lösen. Die Frage ist nur, ob man das auch will…

Für die Beispiele wird davon ausgegangen, dass sich Nutch im Verzeichnis „apache-nutch-1.14“ und Solr im Verzeichnis „solr-6.6.3“ jeweils direkt unterhalb des Home-Verzeichnisses befinden.

Wer möchte, kann das Nutch-Tutorial parallel öffnen. Ich orientiere mich hier am Stand des Tutorials vom Mai 2018 und weise jeweils auf Stellen im Tutorial hin.

1. Voraussetzungen: Java und Solr

Siehe Abschnitt Requirements im Tutorial.

Nutch 1.14 setzt Java voraus. Von mir wurde Nutch mit Java 1.8 getestet.

Ant ist nicht nötig, wenn Nutch als Binary geladen und nicht selbst kompiliert werden soll.

Damit Nutch die gecrawlten Webseiten direkt zum Indexieren an Solr weiterreichen kann, muss die passende Solr-Version laufen. Nutch 1.14 läuft mit Solr 6.6

Die Installation von Solr ist denkbar einfach, es ist lediglich ein Archiv herunterzuladen und zu entpacken.

(Im Tutorial wird Solr erst später erwähnt, es ist meiner Ansicht nach aber empfehlenswert, schon an dieser Stelle Solr zum Laufen zu bringen und zu testen.)

2. Nutch herunterladen

Siehe Option 1 im Abschnitt Install Nutch im Tutorial.

Die Installation von Nutch läuft erst mal fast genau so: Downloaden von http://nutch.apache.org/ und in ein Verzeichnis nach Wahl entpacken.

Siehe nun Verify your Nutch installation im Tutorial.

Aus dem Nutch-Verzeichnis heraus sollte jetzt ein „bin/nutch“ schon funktionieren und Nutch sollte zumindest mal ein Lebenszeichen von sich geben.

Wenn Nutch wie oben angegeben ins Verzeichnis „apache-nutch-1.14“ entpackt wurde, sind folgende Befehle einzugeben:

cd apache-nutch-1.14/
bin/nutch

Es sollte eine Meldung erscheinen, die die möglichen Nutch-Kommandos auflistet.

Achtung: An der /etc/hosts herumzufummeln, wie es im Tutorial steht, sollte im allgemeinen nicht notwendig sein!

3. JAVA_HOME setzen

Wir sind immer noch bei Verify your Nutch installation im Tutorial.

Möglicherweise ist die Umgebungsvariable JAVA_HOME nicht gesetzt. Ob das so ist, erfährt man durch Eingabe von

echo $JAVA_HOME

Wenn nichts ausgegeben wird, war JAVA_HOME nicht gesetzt. Dann ist unter Ubuntu (oder Debian) folgendes zu tun:

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

Damit beim nächsten Neustart des Terminals die JAVA_HOME gleich gesetzt ist, empfiehlt es sich, diese Zeile ans Ende der .bashrc im Home-Verzeichnis anzufügen:

cd

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' >> .bashrc

Unter macOS setzt man die JAVA_HOME wie folgt auf den korrekten Wert (Achtung, die Angabe im Nutch-Tutorial stimmt für neuere macOS-Versionen nicht!):

export JAVA_HOME=$(/usr/libexec/java_home)

Bei macOS würde man die JAVA_HOME wohl eher in der .profile setzen:

cd

echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> .profile

4. Crawler-Properties

Wir sind im Tutorial nun bei Customize your crawl properties.

Der Crawler meldet sich bei den Web-Server, die gecrawlt werden, mit seinem Namen. Es ist aber standardmäßig nichts voreingestellt. Ohne dass wir hier etwas konfigurieren, verweigert Nutch seinen Dienst.

In die Datei apache-nutch-1.14/conf/nutch-site.xml muss folgendes rein (der fette Teil ist neu):

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>http.agent.name</name>
<value>Der Test Nutch Spider</value>
</property>
</configuration>

Statt „Der Test Nutch Spider“ sollte man natürlich selber irgendeinen Namen wählen.

5. Solr konfigurieren

Wir überspringen einiges im Tutorial und gehen nun direkt zu Setup Solr for search.

Im Tutorial wird als zu Nutch 1.14 zugehörig die Version Solr 6.6.0 angegeben. Im Test funktionierte es aber auch mit 6.6.3. Mit Solr 7 dagegen könnte es Probleme geben.

Die von Nutch gecrawlten Webseiten sollen in einen eigenen Solr-Core. Zum Setup des Schemas für diesen Core nehmen wir die Standard-Beispielkonfiguration von Solr und kombinieren sie mit einer schema.xml, die von Nutch geliefert wird.

Die Schritte im einzelnen:

1. Das Configset basic_configs kopieren und neu nutch nennen.

2. Die managed_schema im Configset nutch löschen.

3. Die schema.xml von Nutch ins neue Configset nutch kopieren.

4. Solr starten

5. Einen neuen Core unter Verwendung des soeben erstellen Configsets einrichten.

Die Befehle dazu:

cd
cd solr-6.6.3/
cd server/solr/configsets/

cp -r basic_configs nutch

cd nutch/conf

rm managed-schema

cd

cp apache-nutch-1.14/conf/schema.xml solr-6.6.3/server/solr/configsets/nutch/conf/

cd solr-6.6.3/

bin/solr start

bin/solr create -c nutch -d server/solr/configsets/nutch/conf/

6. Nutch klar machen zum Crawlen

Wir springen nun im Tutorial zurück zu „Create a URL seed list„.

Wenn man das Web crawlen will, muss man irgendwo anfangen. Diese Startseiten kommen in die Seed List.

Den Teil des Tutorials, wie man an eine schöne Seed List kommt, in dem man z.B. eine Liste von Webseiten von dmoz herunterlädt, ignorieren wir hier mal, wir machen das von Hand und setzen unsere Lieblingswebseite als Startpunkt.

Die Schritte im einzelnen:

1. Unterhalb von apache-nutch-1.14 ein Verzeichnis urls anlegen

2. Darin eine Datei seed.txt anlegen und da drin einfach eine Liste von URLs eintragen.

Konkret:

cd

cd apache-nutch-1.14/

mkdir urls

cd urls

echo 'http://hs-furtwangen.de/' > seed.txt

Jedenfalls sollte man das so machen, wenn die Webseite der Hochschule Furtwangen die Lieblingswebseite ist.

Den Regex-URL-Filter (siehe Tutorial) lassen wir so er ist. Wir müssten den ändern, wenn wir z.B. nur die Unterseiten einer Homepage crawlen und indexieren wollen, ohne externe Links zu verfolgen.

Den ganzen Abschnitt „Using Individual Commands“ überspringen wir mal getrost. Die Befehle, die dort stehen, sind zwar schön, wenn man mal sehen will, was im einzelnen passiert, aber zu kompliziert.

7. Crawl starten!

Wir gehen im Tutorial direkt zu Using the crawl script.

Den Aufruf des Crawl-Skripts ist im Tutorial erklärt, aber wir können selber das Skript von einem eigenen Skript aus starten, das direkt schon die gewünschten Parameter enthält. 🙂

Ich gehe hier davon aus, dass, wie hier im Beispiel, der Solr-Server auf dem selben Rechner läuft, der Core nutch heißt und die Seed-Liste dort liegt, wo wir sie in Schritt 4 gerade angelegt haben. Außerdem sind hier jetzt mal 50 Iterationen eingestellt. Das ist viel! Man kann den Crawl-Vorgang aber ruhig zwischendurch abbrechen.

cd

cd apache-nutch-1.14/

echo 'bin/crawl -i -D solr.server.url=http://localhost:8983/solr/nutch -s urls crawl 50' >> crawl.sh

chmod +x crawl.sh

./crawl.sh

8. Die Ergebnisse begutachten

Schon während der Crawl läuft, können wir in der Admin-Oberfläche von Solr den Index abfragen. Spätestens jetzt empfiehlt es sich, sich mit dem Schema des neuen Cores vertraut zu machen, um anschließend ein schönes Frontend programmieren zu können.

Viel Spaß!

@ oder die rechte und die linke Hand des Teufels

Normalerweise ist es auch bei einer Mac-Tastatur völlig egal, ob man die linke oder die rechte alt-Taste (beim Mac auch option-Taste) verwendet.

Böse Falle: Hat man ein Ubuntu-Linux in Parallels laufen, wird die linke alt-Taste das Menü der jeweiligen Anwendung öffnen, nur mit der rechten alt-Taste kann man zum Beispiel das @-Symbol (alt+L) eingeben.

Aber Vorsicht: Während das bei der internen Tastatur eines MacBook gilt, sieht es bei externen Tastaturen schon wieder anders aus und es kann sein, dass es dort genau andersherum ist…

Zu einfach

In der Katalonien-Frage machen es sich momentan leider alle Akteure viel zu einfach.

Das katalanische Parlament macht es sich zu einfach, in dem es die Unabhängigkeit erklärt, denn realistischerweise muss man sagen: Kaum ein anderes Land wird diese Unabhängigkeit anerkennen.

Die PP-geführte Zentralregierung macht es sich aber auch zu einfach, wenn sie glaubt, durch vorübergehende Aussetzung der Autonomie und das Ansetzen von Neuwahlen das Problem aus der Welt zu schaffen.

Die EU macht es sich zu einfach, in dem sie mit dem Verweis, es handele sich um eine innere Angelegenheit, die Vermittlerrolle von sich weist. Offensichtlich funktioniert der Dialog zwischen Katalonien und der Zentralregierung nicht mehr ohne Vermittlung von außen und irgendjemand muss das übernehmen.

Diejenigen machen es sich zu einfach, die darauf verweisen, dass Spanien ein Rechtsstaat sei, ohne darauf zu schauen, dass es in eben diesem Rechtsstaat offenbar möglich ist, dass eine Partei das Verfassungsgericht als Instrument der Regierung missbraucht. Dass allein ein Einspruch ausreicht, um ein Gesetz erst einmal vorübergehend unwirksam werden zu lassen, wurde in der Vergangenheit zum Blockadewerkzeug.

Es machen sich diejenigen zu einfach, die jeden Dialog mit Katalonien ablehnen und dabei als einziges Argument anführen, dass eine Sezession gegen die spanische Verfassung ist. Auf der anderen Seite machen es sich auch diejenigen zu einfach, die dagegen mit dem Selbstbestimmungsrecht der Völker argumentieren und dass dieses über der Verfassung stehe. Und als letzte in dieser Reihe machen es sich wieder die zu einfach, die behaupten, das Selbstbestimmungsrecht der Völker gelte nicht, weil Katalonien nicht unterdrückt sei, ohne aber zu hinterfragen, warum ein Teil der Bevölkerung das offenbar doch so sieht.

Zu einfach ist es auch, zu behaupten, die Mehrheit sei doch gar nicht für die Unabhängigkeit, wenn man sich dabei auf Umfragen beruft, die in der El Mundo veröffentlicht wurden. Genau so wenig sollte man natürlich eine Umfrage kritiklos hinnehmen, wenn sie nur im katalanischen TV3 gezeigt wird.

Generell machen es sich die zu einfach, die „Katalonien“ und „katalanisch“ nicht richtig buchstabieren können und trotzdem kommentieren was das Zeug hält, und damit meine ich tatsächlich nicht nur Internetnutzer, die unter Presseartikeln kommentieren, sondern auch so manchen Artikel selbst.

Es machen sich auch die zu einfach, die behaupten, dass viele Katalanen ja nur aus wirtschaftlichen Gründen die Unabhängigkeit wollen, weil sie nicht solidarisch seien, anstatt nach den wahren Ursachen zu forschen. Wer die Unabhängigkeitsbewegung in Katalonien mit den (meist rechtspopulistischen) Nationalisten in anderen Ländern in einen Topf wirft, der macht es sich viel zu einfach, denn er verkennt, dass die (radikalen) Rechten auf der Seite der spanischen Unionisten mit laufen.

Ich habe es mir gestern auch mal einfach gemacht und mich vor der Paulskirche auf die Seite der Katalanen gestellt.

Demo auf dem Paulsplatz in Frankfurt
Demo auf dem Paulsplatz in Frankfurt

Sonderfahrt

Anlässlich einer Sonderfahrt 🙂 waren wir letzten Samstag mit dem Pt-Wagen 148 unterwegs.

Am Westbahnhof begegneten sich alte Straßenbahn und neue S-Bahn.

Pt-Wagen und S-Bahn am Westbahnhof
Pt-Wagen und S-Bahn am Westbahnhof

In Neu-Isenburg konnten wir ein wenig mit der Zielanzeige herumspielen, so dass wir mal als U5 nach Preungesheim…

U5 nach Preungesheim in Neu-Isenburg
U5 von Neu-Isenburg nach Preungesheim?

oder mit Bembel zum Oberforsthaus (wobei Pt-Wagen soweit ich weiß nie für das „Lieschen“ eingesetzt wurden)…

Lieschen?
Lieschen?

oder zur Messe.

Bahn zur Messe
Bahn zur Messe

Im weiteren Verlauf der Fahrt war noch von der Ignatz-Bubis-Brücke ein Blick auf die Skyline möglich.

Pt-Wagen vor der Skyline
Pt-Wagen vor der Skyline

In der Friedberger Landstraße nahmen wir Abschied von Wagen 148.

Wagen 148 in der Friedberger Landstraße
Wagen 148 in der Friedberger Landstraße

 

 

 

Das MySQL-Kuriositätenkabinett

Zusammengesetzte Fremdschlüssel

Zusammengesetzte Primärschlüssel kommen in der Datenbankwelt allerorten vor, z.B. in Beziehungstabellen. Zusammengesetzte Fremdschlüssel sind seltener, werden aber naturgemäß gebraucht, wenn auf eine Tabelle mit zusammengesetztem Primärschlüssel referenziert werden soll.

Die Syntax für die Erstellung von zusammengesetzten Fremdschlüsseln ist analog zu zusammengesetzten Primärschlüsseln.

Gegeben seien beispielhaft die folgenden Tabellen:

CREATE TABLE `raum` (
 `Buchstabe` char(1) NOT NULL,
 `RaumNr` decimal(3,2) NOT NULL,
 PRIMARY KEY (`Buchstabe`,`RaumNr`)
);

CREATE TABLE `findetstatt` (
 `Nr` int(11) DEFAULT NULL,
 `Belegnr` int(11) DEFAULT NULL,
 `Abk` varchar(5) DEFAULT NULL,
 `RaumNr` decimal(3,2) DEFAULT NULL,
 `Buchstabe` char(1) DEFAULT NULL
);

Ein zusammengesetzter Fremdschlüssel, der von von „findetstatt“ auf „raum“ verweist, wird nun erstellt mit:

alter table findetstatt add foreign key(buchstabe, raumnr) references raum(buchstabe,raumnr);

Falle: Error 1215

Zu beachten ist, dass die Reihenfolge, in der die Spalten des Fremdschlüssels angegeben werden, der Reihenfolge entsprechen muss wie sie in der Definition des Primärschlüssels, auf den sich der Fremdschlüssel bezieht, angegeben ist. Wird dies nicht beachtet, quittiert MySQL das mit einer nichtssagenden Fehlermeldung.

mysql> alter table findetstatt add foreign key(raumnr,buchstabe) references raum(raumnr,buchstabe);
ERROR 1215 (HY000): Cannot add foreign key constraint

Das gleiche passiert, wenn man auf die Idee kommt, nur die Spalte „RaumNr“ mit einem Fremdschlüssel-Constraint zu belegen, da sich dieser dann auf den zweiten Teil des Primärschlüssels in der Tabelle „raum“ bezieht:

mysql> alter table findetstatt add foreign key(raumnr) references raum(raumnr);
ERROR 1215 (HY000): Cannot add foreign key constraint

Wird nur der erste Teil eines mehrteiligen Primärschlüssels referenziert, ist das problemlos möglich, z.B.:

alter table findetstatt add foreign key(buchstabe) references raum(buchstabe);

 

Zwei Jordis und ein Josep

Am Montag wurden Jordi Sànchez vom katalanischen Nationalkongress (ANC) und Jordi Cuixart von der Organisation Òmnium Cultural in Untersuchungshaft genommen. Ihnen wird „Aufruhr“ vorgeworfen, weil sie am 20. September Demonstration dazu angestachelt haben sollen, Zivilgardisten in Büros der Regionalregierung, die von diesen durchsucht wurden, einzukesseln, so dass diese 20 Stunden lang das Gebäude nicht verlassen konnten.

Jordi Sànchez und Jordi Cuixart
Jordi Sànchez und Jordi Cuixart (am 1. Oktober in Barcelona)

Was in der deutschen Presse allerdings weniger prominent berichtet wurde ist, dass außer Sànchez und Cuixart auch der Chef der katalanischen Polizei Mossos d’Esquadra, Josep Lluís Trapero, vorgeladen war, allerdings nicht in Untersuchungshaft genommen wurde.

Es drängt sich der Verdacht auf, dass die Entscheidung Sànchez und Cuixart, aber nicht Trapero festzunehmen, politisch motiviert ist. Die Schlagzeile Separatistenführer inhaftiert lässt sich eben in der in- und ausländischen Presse besser verkaufen als Polizeichef inhaftiert, weil er befohlen hat, nicht auf Bürger einzuprügeln.

Außerdem wurde mehr oder weniger unbemerkt von der deutschen Presse diese Woche vom spanischen Verfassungsgericht festgestellt, dass das Referendum in Katalonien illegal war.

Wenn diese Woche erst entschieden wurde, wieso war dann bisher schon immer vom illegalen Referendum die Rede?

In Spanien gilt, dass ein Gesetz, gegen das beim Verfassungsgericht Beschwerde eingelegt wird, ausgesetzt ist, sobald die Beschwerde angenommen wurde. Es war also falsch, das Referendum schon vorher illegal zu nennen, weil das Gericht nämlich noch gar nicht über die Verfassungsmäßigkeit des Referendum-Gesetzes entschieden hatte, sondern lediglich die Beschwerde angenommen wurde.

Nicht nur deswegen ist übrigens umstritten, ob die oben erwähnten Durchsuchungen vom 20. September überhaupt rechtlich einwandfrei waren.