Blog

Staatsbürger in Uniform

Derzeit läuft ja mal wieder die Debatte über die Wehrpflicht, eine Änderung die ich befürworte. Meine Vermutung: Bis 2020 ist sie weg, diese Legislaturperiode wird sie aber überleben. In der Debatte bis dahin tauchen aber viel die Phrasen “Staatsbürger in Uniform”, “Parlamentsarmee” und “Verankert in der Gesellschaft” von Wehrplichtbefürwortern und als ihr großes Feindbild der “Staat im Staat” auf. Was soll mir das eigentlich sagen?

Die Vorstellung, die hinter all dem steckt, scheint zu sein, dass ein ständiger Durchfluss von Menschen, die nicht von sich aus Soldat geworden wären, geeignet und sogar nötig ist um sicherzustellen, dass nicht plötzlich die Bundeswehr einen Putsch veranstaltet oder zu viel Einfluss erhält.

Damit drängen sich für mich zwei Fragen auf: Wie gefährlich ist die Bundeswehr, und wie gut ist die Wehrpflicht geeignet, diese Gefahr zu reduzieren? In Zeiten, wo die Terrorbekämpfung uns immer mehr Rechte wegschneiden will, man siehe z.B. das SWIFT-Abkommen, hat die Bundeswehr nun gerade nicht mehr Möglichkeiten erhalten, unsere Rechte einzuschränken. Das einzige, was nahe kam, war das gekippte Flugzeugabschussgesetz. Es sieht also augenblicklich nicht so schlimm aus für uns.

Statt dessen soll die Wehrpflicht aber auch vor Weimarer Verhältnissen und Wiederholungen des ersten und zweiten Weltkrieges schützen. Aber war dort das zu große Militär eine Gefahr? Die Unruhen der Weimarer Republik gingen zu großen Teilen auf das Konto von privaten rechts- und linksextremen Verbänden, die zwar besonders am rechten Ende der Wehrmacht nahe standen, aber keinesfalls dazu gehörten. Die Wehrmacht selbst war ja durch den Vertrag von Versailles gerade zu klein, um direkt Einfluss zu haben, egal wie radikal sie wahr.

Ein Vergleich mit jeweils Kaiser- und Nazi-Zeit macht natürlich keinen Sinn, denn dort gab es sehr wohl auch eine Wehrpflicht, die offensichtlich keinen Weltkrieg stoppen konnte. Auch waren dort (und im späteren Weimar) die starke Rolle der Armee durchaus politisch gewünscht und der Armee auferlegt. “Staat im Staate” passt kaum, wenn der ganze Staat, politisch gewollt, militarisiert ist.

Wie nun würde denn ein Wehrpflichtiger helfen, die Bundeswehr nicht zu mächtig werden zu lassen? Falls es das Ziel ist, die Bundeswehr wenig Leistungsfähig zu halten, in dem sie ihre Zeit mit der Ausbildung von Leuten, die eh bald wieder weg sind, verplempert, nun, es gibt ja Experten die meinen dass das funktioniert. Realistisch gesehen ist aber wohl eher gemeint, dass Wehrpflichtige Missstände eher anprangern als Leute, die sich auf Jahre verpflichtet haben. Ich würde aber eher erwarten, dass alle Bundeswehrangehörige das tun, und dass sich das vor allem daran entscheidet wie die Kultur insgesamt ist. Wenn allen Soldaten eingeprägt wird, sie sollen nicht aufmucken, wird es auch ein Wehrpflichtiger nur selten tun. Herrscht aber andererseits eine Kultur, wo alle sich beschweren können und sollen wenn etwas wirklich schief läuft, dann glaube ich kaum dass Wehrpflichtige aktiver sind. Im Rahmen des Full Disclosure muss gesagt sein, dass ich Zivi war. Wenn jemand also beim Bund komplett andere Erfahrungen gemacht hat als die, die ich mir hier ausdenke, dann würde ich mich sehr über einen Kommentar freuen!

Aber angenommen Wehrdienst würde funktionieren um die Bundeswehr schön demokratisch zu halten. Dann ist immer noch der Punkt, dass Wehrdienstleistende gerade nicht da hin dürfen, wo die Bundeswehr tatsächlich arbeitet, namentlich vor allem Afghanistan. Natürlich kann ein Wehrdienstleistender freiwillig verlängern und darf dann auch in den Sandkasten, aber ob und wie sehr sich so jemand letztlich “demokratisch” von einem Unterscheidet, der sich komplett freiwillig verpflichtet hat, kann ich nicht einschätzen.

Afghanistan zeigt aber ein ganz anderes Problem. Es gibt im Grundgesetz eine sehr effektive Schranke für die Macht der Bundeswehr. Sie darf eigentlich nur zur Verteidigung auf NATO-Gebiet eingesetzt werden. Das schränkt, mit voller Absicht, ihre Möglichkeiten stark ein. Zumindest theoretisch. Praktisch steht sie aber in Kabul. Es ist mir relativ egal was für Wortkonstruktionen die Bundesregierung erfindet, der Afghanistan-Einsatz, aber auch die meisten anderen internationalen, gehen an dem Geist der entsprechenden Verfassungsparagrafen meilenweit vorbei. Plötzlich haben wir eine Armee die kämpft, obwohl keiner Deutschland angreift, und deren Entscheidung echte, dramatische Konsequenzen haben, und die demnach auch die Zeit der Politik beansprucht. Hätte ich wirklich mehr Angst vor der Bundeswehr als vor Ursula von der Leyen, dann würde mich der Afghanistan-Einsatz deutlich mehr beunruhigen als eine Abschaffung der Wehrpflicht.

Kommentare gehen wieder

Ich habe mich jetzt endlich daran gemacht, den schon lange versprochenen Spam-Filter zu schreiben, was erstaunlich einfach ging. Daher könnt ihr jetzt wieder Kommentare schreiben.

Der Filter ist ein sogenannter naiver Bayes-Spamfilter, der die Wahrscheinlichkeit berechnet, dass ein Eintrag Spam ist, basierend darauf wie oft ein Wort in Spam- und Nichtspam-Kommentaren gesehen wurde. Die Implementierung folgt dabei ziemlich exakt dem englischen Wikipedia-Artikel, ohne weitere Heuristiken für seltene Wörter oder anderes.

Falls es jemanden interessiert, ich kann gerne den Code hochladen, es ist erstaunlich wenig. Der wichtigste Einzelpunkt, der mir aufgefallen ist: Der Spam-Filter spielt leicht verrückt wenn ein Wort entweder als Spam oder als “erlaubtes” Wort nie gesehen wurde. Um dies zu vermeiden, wird bei jedem neuen Wort erst mal eine Sichtung sowohl als Spam als auch als nicht-Spam eingetragen, bevor die echten Sichtungen beginnen. Natürlich verfälscht das Ergebnis etwas, aber nicht genug um echt zu stören.

In der jetzigen Form hat der Filter drei Stufen. Kommentare deren Spam-Wahrscheinlichkeit über 95% liegt werden gar nicht erst in die Datenbank geschrieben, sondernd sofort abgelehnt. Kommentare mit einer Spam-Wahrscheinlichkeit von 70% werden eingetragen, aber erst angezeigt sobald ich entschieden habe dass sie kein Spam sind. Diese Entscheidung trainiert den Spam-Filter weiter, so dass er in Zukunft immer genauer werden sollte. Natürlich kann es sein dass ich beide Grenzen noch anpassen muss.

Neues Auto

Eigentlich wollte ich wegen deswegen keinen neuen Blogpost machen, aber Björn sagte, dass ich sollte. Daher hier: Mein neues Auto!

Ein grauer dreitägiger Kompatkwagen

Der Hintergrund ist, dass mein vorheriges Auto in einem relativ kleinen Unfall1 einen Totalschaden erlitt. Das machte mich traurig, aber der neue Wagen lenkt sehr gut davon ab. Es ist ein Alfa Romeo 147, Baujahr 2004, mit dem 2.0 Liter TwinSpark-Motor (150 PS), normalem Getriebe und Extras wie Lederausstattung, Tieferlegung, Schiebedach, ESP, ASR und vielen anderen, die ich technisch nicht gesehen nicht brauche, aber doch sehr gerne habe.

Das Auto braucht ein neues Radio, da das jetzige keinen Eingang für iPods hat (Ich verwende einen Radiotransmitter, aber das ist nicht wirklich ideal). In allen anderen Bereichen ist das Auto einfach nur toll.


  1. Niemand verletzt. Der Unfall war auch nicht meine Schuld, ich war nicht mal im Auto als es passierte. Bei diesem Auto werde ich jetzt doch vorsichtiger sein, wenn ich es verleihe. 

Spambekämpfung

Bisher habe ich Kommentarspam auf dieser Seite immer durch eine einfache Blacklist bekämpft, auf der verbotene Wörter standen. Das funktionierte auch ganz gut. Derzeit aber kämpfe ich mit einem Spambot, der zwar immer sehr ähnliche Posts erzeugt, aber dabei ein erstaunlich breites Repertoire verschiedenster Ausdrücke verwendet und so immer wieder durch den Filter rutscht.

Daher habe ich mich entschieden, einen etwas intelligenteren Spamfilter, der automatisch lernen kann, zu schreiben, so wie ihn auch viele E-mail-Programme heute haben. Das ist nicht so schwierig wie es klingt, da es auch entsprechende Tutorials gibt. Um diesen aber zu trainieren brauche ich Trainingsdaten, das heißt echten nervigen Spam.

Um an diese zu kommen habe ich jetzt erst mal den alten Spamfilter komplett deaktiviert. Damit aber kein Mist auf dieser Seite erscheint werden keine neuen Kommentare mehr angezeigt. Sie werden zwar gespeichert, aber erscheinen nie. Wie lange ich das machen muss weiß ich nicht (unter Umständen hört der Spambot auch auf wenn er sieht dass seine Posts nicht erscheinen, weil er denkt die Seite sei kaputt), also vorerst bitte nicht wundern wenn keine neuen Kommentare erscheinen!

Nebenbei: Ich habe hier in letzter Zeit keine Bahnbilder gepostet. Das liegt vor allem daran, dass ich diesen Teil der Seite gewaltig umgestalten will. Derzeit sind alle meine neuen Eisenbahnfotos nur unter http://zcochrane.deviantart.com/gallery/ verfügbar, aber ich plane sie dann später auch hier zu posten.

Sensoren

Zuerst einmal: Eine PDF-Version der Folien von meinem Vortrag am 27. März 2010 ist jetzt endlich online. Der Film drin läuft in der PDF nicht, aber das ist eh nur dass, was im letzten Blogeintrag zu dem Thema auch schon drin war, minus dem “echt” Teil, weil das einfach zu schlecht für eine Vorführung mit Beamter aussah.

Nun zum aktuellen Stand. Es gibt eine Reihe von offiziellen Zwischenschritten, die auch auf der vorletzten Folie der PDF-Datei erwähnt werden, aber für mindestens genauso wichtig halte ich die informellen Meilensteine. Einen der wichtigsten davon hat der Simulator gerade geknackt: Es macht mir persönlich Spaß, damit zu spielen. Dieser Meilenstein ist für mich sehr wichtig, denn “das stört mich” ist weit präziser und hilfreicher als Aussage “theoretisch könnte man das auch so machen”, und man erhält die erste Art Aussage nur durch rumspielen.

Entscheidend dafür war es, Sensoren zu implementieren, was nun geschehen ist. Hier mal ein kurzer Überblick:

Im ersten Teil folgt der Roboter der schwarzen Linie, in dem er geradeaus fährt so lange der Lichtsensor (der hier nach unten gerichtet ist, man kann ihn auch geradeaus richten) schwarz sieht und sich nach links dreht wenn der Lichtsensor weiß sieht. Im zweiten Teil fährt der Roboter geradeaus bis er gegen eine Wand stößt, dann setzt er zurück und dreht sich von der Wand weg. Im letzten Teil schließlich versucht der Roboter einen konstanten Abstand bis zu einem Hindernis vor seinem Ultraschallsensor zu halten.

Alle drei Programme laufen auch auf dem richtigen Roboter. Noch nicht eingebaut ist die Unterstützung für den Sound-Sensor (d.h. das Mikrofon), da noch überhaupt kein Sound drin ist. Auch werde ich nicht den Farbsensor extra einbauen, da es eh nur Graustufen gibt (Meine Idee ist aber, dass der Lichtsensor korrekt reagiert wenn er als Farbsensor im Lichtsensormodus angesprochen wird, was nicht so verrückt ist wie es klingt). Der nächste Schritt ist jetzt, Sound einzubauen.

Bildungsstreik Aachen - April 2010

Heute war mal wieder Bildungsstreik in Aachen. Wie auch letztes Mal war ich wieder dabei um vom Rand Fotos zu machen. Ich würde schätzen dass es weniger Leute waren als letztes Mal, aber sicher kann ich das nicht sagen (es waren doch sehr viele). Hier, mit nur minimalem Kommentar, die Bilder. Draufklicken liefert eine größere Version, falls das wen interessiert.

Eine Menschenmenge auf dem Aachener Theaterplatz, inklusive einiger Polizisten und einiger Schilder mit Aufschriften wie &ldquot;MIt Studiengebühren sanieren wir die Hochschule&rdquot; Am Theaterplatz, bevor es losging. Der WDR Aachen war auch da.

Zwei Personen mit gelben T-Shirts halten ein kleineres Banner mit dem Logo des Bildungsstreiks Mit dem Loslaufen ließ man sich doch etwas Zeit. Die beiden Jungs mit dem Miniplakat hier waren davon offensichtlich etwas genervt und informierten so lange erst mal die Passanten.

Der Protestzug läuft vom Theaterplatz Richtung Elisenbrunnen, angeführt von Leuten die ein gelbes Transparent mit Aufschrift &ldquot;Bundesweiter Bildungsstreik&rdquot; tragen. Sie laufen los, diesmal andersherum, am Elisenbrunnen und dann über den Marktplatz. Das Licht für Fotos war heute deutlich besser als letztes mal.

Verschiedene große Plakette nebeneinander, unter anderem eines dass Revolution fordert und eins mit Aufschrift &ldquot;Zusammen Streiken. Schwänzen. Kämpfen!&rdquot; Viele Transparente wurden vom November wiederverwendet, wie zum Beispiel das pro-Revolution im Hintergrund. Das vordere, dass mich irgendwie sehr an Monty Python erinnert (“We are struggling together!”), ist mir dagegen neu.

Der Protestzug, eskortiert von einem Polizeimotorrad und zwei Polizisten zu Fuß, zieht den Berg hoch zum Marktplatz. Via Elisenbrunnen (alles im Schatten) ging es hoch zum Marktplatz. Auf dem Weg gab es ein paar gute Fotogelegenheiten.

Auf dem Marktplatz setzt sich der gesamte Protestzug kurz hin. Ein andere Fotograf steht im Vordergrund. Schon beim letzten Mal war eine Hinsetzaktion sehr populär, und diese Demo setzt doch viel auf Wiederholung. Der Herr in Schwarz darf mir gerne ins Bild laufen, denn ich erkenne die Autorität der größeren Kamera an, aber dann muss er auch damit rechnen dass er auf meinem Bild ist.

Der Rest war dann relativ uninteressant, aber ich hoffe die Fotos haben so einen kleinen Eindruck von dem Even vermittelt. Ich möchte noch erwähnen, dass ich kein Bildungsstreiker bin oder war, ich war dort nur als interessierter Bürger mit etwas Zeit und einer Kamera.

Bachelorarbeit: Lego Mindstorms simulieren

Lange her, dass ich hier was geschrieben habe, nicht wahr? Na ja, jetzt wird es besser, da ich ein neues Thema gefunden habe: Meine Bachelorarbeit, mit der ich vor kurzem begonnen habe. Hier mal eine kleine Einführung.

Das Thema: Lego Mindstorms Roboter.

Lego sollte ja noch allgemein bekannt sein. Seit einigen Jahren gibt bietet Lego ein System an mit dem man Roboter bauen kann, bekannt als Mindstorms. Die neueste ersinn ist Lego Mindstorms NXT 2.0. Es ist toll und hat auch einen Platz im Informatik-Unterricht gefunden. Insbesondere wird es vom go4IT!-Projekt der Computer Supported Learning Research Group der RWTH Aachen verwendet, um Schulkindern in der 6. und 7. Klasse die Grundzüge des Programmierens in Workshops zu vermitteln.

Das funktioniert wohl auch prima, bis der Workshop vorbei ist. Dann stellt sich das Problem, dass die Mindstorms-Kästen wieder weggenommenwerden, und ein neuer eine unverbindliche Preisempfehlung von 300€ hat. Man kriegt ihn natürlich auch billiger (Ich habe meinem bei Amazon bestellt, mehr weil ich ihn haben wollte als weil ich ihn für diese Arbeit brauchte), aber unter 250€ für einen neuen halte ich für unwahrscheinlich. Das heißt dass die meisten dieser Kinder nicht zu Hause oder in der Schule weiterprogrammieren können. Dort setzt meine Arbeit an.

Ja, die Qualität ist Mist. Meine Kompaktkamera ist wohl gerade in Goslar und meine Spiegelreflexkamera war nicht teuer genug, um Video aufnehmen zu können, weswegen, der “Vorbild”-Teil von meinem iPhone kommt.

Ich entwickle einen Simulator für Lego Mindstorms NXT 2.0 Roboter1. Die Idee ist, dass man sein Programm schreibt und kompiliert wie für den richtigen Roboter. Statt es aber auf das Stück Plastik zu laden, wird es dann vom Simulator auf dem eigenen Windows-Rechner oder Mac ausgeführt. Es wird noch besser: Die fertige Version wird auch Netzwerkunterstützung bieten, so dass meine seine Roboter von verschiedenen Rechnern mit- oder gegeneinander arbeiten lassen kann, wie bei einem Mehrspielerspiel. Das wird wohl der schwierigste Teil, aber sicher nicht unmöglich.

Und bis jetzt funktioniert es gut. Vieles ist noch nicht drin, und es wird auch nie alles unterstützen was das richtige Mindstorms kann (es soll ja nur ein Hilfsmittel für Kinder sein), aber man kann die Landschaft leicht ändern, es gibt funktionierende Kollisionserkennung, einen 3D-Roboter und vor allem können einfache Programme direkt ausgeführt werden.

Ich mag dieses Projekt sehr, denn ich kann so ziemlich alles weiterverwenden, was ich je übers Programmieren gelernt habe. Immerhin ist es in vielen Aspekten ein Computerspiel mit schlechter Grafik, meine persönliche Spezialität. Komische Binärdateiformate, Plattformübergreifende Programmierung mit C++, 3D-Grafik mit OpenGL, Netzwerkspiele, alles drin. Natürlich darf ich keinen alten Code weiterverwenden, aber alte Kenntnisse sind kein Problem, weshalb ich mich sehr freue dies machen zu können. Oh, und ich bin auch ein großer Lego-Fan. Ich werde hier in Zukunft mehr über den Verlauf posten.

Nächsten Dienstag um 10:00 gebe ich einen Startup-Vortrag im Seminarraum des Lehrstuhls, wo ich weitestgehend dies hier erzählen werde, aber mit mehr technischen Details. Ich weiß allerdings nicht, ob Externe da auch erlaubt sind. Ich habe auch ein offizielles Proposal, welches ebenfalls mehr Detail enthält. Der Vollständigkeit halber sei auch noch die Webseite für die Arbeit erwähnt, die aber praktisch keine Informationen enthält, die nicht schon hier oder im Proposal sind.


  1. Nur ein Roboter. Es geht hier nicht darum virtuelle Lego-Modelle zu bauen.