Für ein allgemeineres Wahlrecht
September 25, 2009
Vor einem Jahr sorgte Gottfried Ludewig kurz einmal für Schlagzeilen, als er über doppeltes Stimmrecht für die Leistungsträger unserer Gesellschaft nachdachte. Das Problem dieser Idee ist natürlich, dass sie den Gedanken des allgemeinen und gleichen Wahlrechts krass verletzt. Im Kern finde ich es allerdings gar nicht so abwegig, einmal über die Problematik nachzudenken — Nachdenken kann ja nicht schaden.
Es sollte allseits bekannt sein, dass Deutschland eine demographische Veränderung durchläuft: wir altern. Dabei steht außer Zweifel, dass diese Entwicklung die Fundamente unseres Sozialstaates stark belastet. Dabei muss man nicht gleich unser System der sozialen Marktwirtschaft in Frage stellen, man sollte es nur an die Gegebenheiten anpassen. Das klingt irgendwie logisch, denn bei immer weniger Leistungsträgern (jungen Leuten) und immer mehr Leistungsnehmern darf Solidarität keine Einbahnstraße sein.
Die Realität sieht leider anders aus.
Nehmen wir da zum Beispiel die Rentenversicherung. Sie beruht auf dem gesellschaftlichen Konsens, den wir “Generationenvertrag” nennen. Meines Erachtens wurde dieser seit mehreren Jahrzehnten schleichend verletzt. Denn der Konsens beruhte darauf, dass die “Leute sowieso Kinder kriegen” (Adenauer). Haben sie aber nicht und sie tun’s auch weiterhin nicht. Darüber muss man jetzt nicht groß lamentieren, es ist nunmal so. Doch eines sollte klar sein: Wenn die Voraussetzungen des Generationenvertrages heutzutage nur noch bedingt erfüllt sind, sollte es doch klar sein, dass auch seine Umsetzung nur noch bedingt erfolgen kann. Umso unverständlicher ist deswegen zum Beispiel die Rentengarantie, die kürzlich von der großen Koalition beschlossen wurde. Sie besagt, dass die Renten nicht gekürzt werden dürfen, selbst wenn die Löhne der arbeitenden Bevölkerung sinken. Natürlich steigen die Renten, wenn die Löhne wieder ansteigen. Soweit zur solidarischen Einbahnstraße, die mit der schleichenden Verletzung des Generationenvertrages Einzug erhalten hat.
Es gibt noch weitere solidarische Einbahnstraßen in unserer Gesellschaft (Stichwort Staatsverschuldung) und es stellt sich die Frage, wie sich diese korrigieren lassen. Das entscheidende Problem scheint mir dabei zu sein, dass die Leistungsträger ein demokratisches Handicap besitzen. Ihre Zahl wird immer geringer gegenüber den Leistungsnehmern, was sich langfristig nur negativ auf ihren Einfluss in die Politik auswirken kann. Zukünftige Leistungsträger, Kinder und Jugendliche also, sind sogar völlig ohne Mittel, denn ihnen fehlt das Stimmrecht, um politischen Einfluss zu nehmen. Ihre Eltern stehen dabei auch nicht besser da, denn sie haben auf materielle Werte verzichtet, um die künftige Generation großzuziehen, stehen jedoch nicht besser da. Unter diesen Umständen scheint es mir nicht verwunderlich, wenn die Politik als jugendverdrossen bezeichnet wird.
Mein Vorschlag zur Auflösung des demokratischen Handicaps berührt in der Tat das Wahlrecht. Aber anstatt wie Ludewig die Renter und Arbeitslose zu diskriminieren, sollte man lieber Kinder und Jugendliche mit den Erwachsenen gleichstellen. Jeder deutsche Bürger, gleich welchen Alters, kriegt dann genau eine Stimme. Bis zum Erreichen der Volljährigkeit wird diese Stimme formal von den Erziehungsberechtigten ausgeübt (wer seine Kinder früher frei entscheiden lassen will, kann dies natürlich immer tun). Damit wäre der Proporz der Gesellschaft auch in Wahlen erhalten und die Leistungsträger von morgen wären genauso repräsentiert wie die von gestern.
Twitter tracks what links you click on
September 9, 2009
I don’t really remember when they switched it on, but for a few days now I’ve been noticing Twitter has been tracking what links you click on. When you log onto twitter and click on a link somebody has posted in a tweet, instead of being taken to the location right away, it first takes you to Twitter’s link counter.
For instance, take this tweet by Stephen Fry:
stephenfry Autumnal miniblog http://bit.ly/3KBonC
When clicking on the link, you will first be taken to this location:
http://twitter.com/link_click_count?url=http%3A%2F%2Fbit.ly%2F3KBonC &linkType=web&tweetId=3860514781&userId=15659603 &authenticity_token=dd850f0d1631afa8f8b8a22d9b070366a2bc7373
As you can see, this URL contains a number to identify the tweet that the URL appeared in as well as an ID to identify you as a user. In other words, they might not only count how often a link has been clicked but also who clicks on what.
What I find fascinating (in a bad way) about this is that firstly they never announced this new “feature” and secondly that they’re being secret about it. Because at first sight, the links in tweets seem immaculate. They actually inject this behaviour using JavaScript, so that when you click on a link you’re taken to http://twitter.com/link_click_count first. The code in question is loaded from http://a1.twimg.com/a/1252448032/javascripts/twitter.js. It’s all cramped into the last line, I’ve cleaned it up here for your convenience:
twttr.countClick = function(){
var A = twttr.createTrackingParameters(this);
if (A.linkType=="hashtag") {
twttr.ajaxClickCount(A)}
else {
twttr.redirectToTracker(this,A)
}
setTimeout(twttr.resetLink,100,this);
return true};
twttr.resetLink = function(B){
var A = $(B).attr("original-href");
if (A) {
B.href=A
}
};
twttr.ajaxClickCount = function(A){
jQuery.get("/link_click_count",A)
};
twttr.redirectToTracker = function(A,B){
$(A).attr("original-href",A.href);
A.href = "/link_click_count?"+$.param(B)
};
twttr.createTrackingParameters=function(F){
var B=$(F);
var A=function(){
var K=B.attr("class");
var I=["hashtag","profile-pic","username","web"];
for(var J in I){if(K.indexOf(I[J])!==-1){return I[J]}}
}();
var E=B.closest(".status").find(".meta").children("a").get(0).href.split("/");
var G=E[E.length-1];
var H=$('meta[name="session-userid"]');
var D=H.attr("content")||-1;
var C=twttr.form_authenticity_token||$('input[name="authenticity_token"]').attr("value");
return{url:F.href,linkType:A,tweetId:G,userId:D,authenticity_token:C}
};
$(document).ready(function(){
var A=$("#content a.tweet-url");
A.live("click",twttr.countClick)}
);
If you’re JavaScript-literate, you’ll see that the last block activates the behaviour by having the functions above called whenever a link in a tweet is clicked.
I’m pretty sure I don’t like my link clicking behaviour logged. Fortunately you can stop it by switching off JavaScript. Or not using the Twitter web interface. Or using a free Open Source alternative such as Identi.ca.
Digitizing books to DjVu with free tools
July 23, 2009
While I love books — enough that I’ve written one myself — they’re often cumbersome to work with: finding things without a good index is very difficult, you can rarely take more than a few with you at a time and if it’s a particularly nice/expensive/rare one, you’d rather leave it in the shelf altogether.
The answer is, of course, to create a digital copy. One possible format for that would be PDF. Problem is: for its image data it has to resort to conventional compression algorithms. That means that scanned documents can turn out to be quite large. A file format that’s much more suited for this is DjVu. One of its tricks is a lossy algorithm that recognizes recurring shapes such as characters. As a result, DjVu encoded books are typically a quarter of the size of PDF encoded books.
Given the need to digitize a couple of books at work, I investigated whether it’s possible to create high-quality digital copies using freely available tools.
It’s not as easy as it sounds
If you already have a high-quality PDF document or a series of scanned images, there are a number of ways for you to end up with a decent DjVu document. The manual one involves calling the cjb2 command line tool from the DjVuLibre project, a more automatized one would be through the pdf2djvu tool. Problem is, when you scan a book, you rarely have high-quality scans to begin with. You typically have something like this:

Fortunately there’s an excellent tool that can help here. It’s called unpaper and what it does is, among others, remove the ugly black borders and other noise, rotate the pages and split double pages in half. It works with PNM type images, so if your scanning program spits out a PDF, simply use ImageMagick to do the conversion. On a large document it’s most memory-efficient to make individual calls to the convert program, one per page:
for i in `seq 1 $NUMBER_OF_PAGES`; do convert -density 600 scan.pdf[`expr $i - 1`] pages`printf %03d $i`.pbm done
This converts page N of the PDF to pages00N.pbm. Now unpaper can be invoked with the necessary options:
unpaper -v --layout double --pre-rotate -90 --output-pages 2 \ pages%03d.pbm singlepages%03d.pbm
The result is separate image called singlepages00N.pbm that are nicely cleaned up:


Extracting the text
At this point you might think that we’re done, given that cjb2 can easily convert the resulting pages to DjVu and djvm can create a multi-page document from them. However, the result wouldn’t be searchable for text, one of the reasons why one would want to digitize in the first place.
The solution here obviously is to apply some OCR technology. There are several free OCR tools available: tesseract, GOCR and ocropus. They all work more or less well, but ocropus has a trick up its sleave: It can not only extract the text from an image but also annotate the text with pixel coordinates. This means that a text search in a DjVu viewer will not only navigate to the right page but also to the right line (unfortunately, ocropus can’t resolve individual words, just lines). Installing ocropus on OS X is a bit of a pain in the neck, but if you follow these instructions to the word, it works. The following commands will then perform the OCR analysis:
ocropus book2pages outdir singlepages*.pbm ocropus pages2lines outdir ocropus lines2fsts outdir ocropus fsts2text outdir ocropus buildhtml outdir > hocr.html
As you can see, the result is an HTML file in the hOCR format. It contains the text gathered by ocropus in <span> elements, annotated with pixel information. In order to apply this information to DjVu documents, it needs to be transformed into a format that the DjVuLibre tools, specifically the djvused tool, understand. To do that, I hacked a little Python script together:
import sys
import os.path
from elementtree import ElementTree
from PIL import Image
hocrfile = sys.argv[1]
imgfiles = sys.argv[2:]
et = ElementTree.parse(hocrfile)
for page in et.getiterator('div'):
if page.get('class') != 'ocr_page':
continue
if not imgfiles:
continue
imgfile = imgfiles.pop(0)
txtfile = os.path.splitext(imgfile)[0] + '.txt'
out = open(txtfile, 'w')
image = Image.open(imgfile)
print >>out, "(page 0 0 %s %s" % image.size
for line in page:
linetitle = line.get('title')
if not linetitle.startswith('bbox '):
continue
x0, y0, x1, y1 = [int(x) for x in linetitle[5:].split()]
imgheight = image.size[1]
y0 = imgheight - y0
y1 = imgheight - y1
text = line.text.strip().replace('"', '\\"')
print >>out, ' (line %s %s %s %s "%s")' % (x0, y0, x1, y1, text)
print >>out, ")"
out.close()
It’s evidently very crude and makes lots of assumptions specific to the ocropus output. For it to work you need the optional but fairly standard PIL and ElementTree packages installed. The script is invoked like so:
python hocl2djvu.py hocr.html singlepages*.pbm
It will spit out a singlepages00N.txt file for every page it finds text information for.
Putting it all together
Finally the image files for the individual pages can be converted to individual DjVu files:
for i in singlepages*pbm; do
cjb2 -clean $i `basename $i pbm`djvu
done
Before combining the pages to a compound document, the djvused tool can then be used to apply the text annotations:
for i in singlepages*txt; do
djvused `basename $i txt`djvu -e "select 1; set-txt $i" -s
done
Lastly, the following command creates the resulting book file:
djvm -c book.djvu singlepages*.djvu
And here’s what the result looks like:

Conclusion
It’s easily possible to digitize books using free tools. Some rough edges remain, however. For instance, the unpaper program isn’t completely reliable. I haven’t fiddled with the settings yet, though, so perhaps the output can be improved. The same goes for the OCR machinery which still produces lots of erroneous words. Also, it’d be nice if the pixel annotations would work for individual words, too (like on Google book search). Perhaps a linear approximation could work — certainly seems feasible for monospace fonts.
Große Koalition — großer Unfug
July 4, 2009
In wenigen Monaten wird vielleicht die zweite Große Koalition der bundesdeutschen Geschichte zu Ende gehen. Ich werde Ihr keine einzige Träne nachweinen. Denn wir haben unter Merkel, Münte & Co. die meiner Meinung nach schlechtesten Gesetze seit langem bekommen:
Der “Hackerparagraph” des Strafgesetzbuches verbietet die Herstellung und Verbreitung von Computerprogrammen, die Zugang zu gesicherten und nichtöffentlichen Daten ermöglichen. Zwar steht natürlich das Abhören bzw. Beschaffen von nichtöffentlichen Daten schon selbst unter Strafe, aber der Gesetzgeber sah es wohl als Notwendigkeit an, schon das Erstellen und Verbreiten sogenannter “Hackertools”, die z.B. auch von Systemadministratoren zur Sicherheitsüberprüfung des eigenen Netzwerkes benutzt werden könnten, zu verbieten. Nachträglich hieß es von Seiten des Justizministeriums, dass dies nicht illegal sei, sondern nur, wenn o.a. Aktivitäten ausgeführt würden mit der Absicht, eine Straftat zu begehen. Es bleibt also ein vager Gesetzestext und die Hoffnung auf die richtige Auslegung vor Gericht.
Online-Durchsuchungen mit dem “Bundestrojaner” sollen es dem Staat hingegen erlauben, Hackertools einzusetzen, um Privatcomputer auszuspionieren. Zum Glück hat das Bundesverfassungsgericht mittlerweile sehr strenge Auflagen dafür erlassen. Wie so oft musste also der Quatsch aus Berlin erstmal in Karlsruhe nachgebessert werden. Zumal bekleckerte sich die Bundesregierung, allen voran Bundesinnenminister Schäuble, in der öffentlichen Diskussion nicht unbedingt mit Ruhm: IT-Experten zweifelten von Anfang an an der Machbarkeit und dem Erfolg einer solchen Maßnahme.
Die Erweiterung des BKA-Gesetzes vom Dezember 2008 gesteht dem BKA nun zu, auch ohne konkreten Tatverdacht tätig zu werden und sich dabei der Kontrolle der Staatsanwaltschaft zu entziehen. Die eben schon erwähnten Online-Durchsuchungen bilden dabei nur ein erlaubtes Werkzeug. Video- und Audioüberwachung in der Wohung, auch von dritten Personen, sind nun ebenfalls möglich.
Eine weitere Präventivmaßnahme bildet die Vorratsdatenspeicherung, die Telekomunikationsanbietern vorschreibt, sämtliche Verbindungsdaten für sechs Monate zu speichern. Hier wird also nicht nur ohne konkreten Tatverdacht ermittelt, sondern schon gänzlich grundlos eine Überwachung aller Bundesbürger durchgeführt. Das schlimme daran ist nicht nur, dass nur ein winziger Anteil der so überwachten Personen überhaupt straffällig werden, sondern dass sich die Daten auch zum Missbrauch gegen rechtschaffene Bürger eignen.
Ebenfalls missbrauchgefährdet ist die Kinderporno-Zensur, wie sie von Ursula von der Leyen (“Zensursula”) kürzlich ausgedacht wurde. Wie beim Bundestrojaner schlugen auch hier wieder IT- und Rechtsexperten Alarm. Aber auch diesmal ließ sich das Kabinett nicht beeindrucken. Das Ergebnis ist ein eigenständiges Gesetz (anstatt eines weiteren Passus im Telekommunikationsgesetz), das unter dem Vorwand der Kinderpornographie eine Zensurinfrastruktur schafft, die sich leicht auf andere Bereiche ausdehnen lässt. CDU-Politiker beeilten sich dann auch, gleich nach der Verabschiedung des Gesetzes die Ausweitung auf “Killerspiele” zu fordern. Das schlimme ist, dass das Gesetz Kinderpornographie nicht bekämpfen wird, dem eigentlich Zweck also nicht zuträglich ist, sondern nur das Fundament weiterer Zensur darstellt.
Diese Zensur könnte z.B. auch beim Urheberrecht (2. Korb) umgesetzt werden: Diese Novelle des UrhG schränkt den Umgang mit digitalen Medien erheblich ein (z.B. innerhalb ein und derselben universitären Einrichtung) und verbietet die Umgehung von Kopierschutz (es sei denn, dies wird ausschließlich für den privaten Gebrauch gemacht).
Zwar zementiert das “Antidiskriminierungsgesetz” (AGG) nicht den Polizeistaat in Deutschland wie die vorhergehenden Gesetze, dafür ist es eine herrliche Bürokratieschleuder. Allein wer sich seit seinem Inkrafttreten einmal eine Stellenanzeige angeguckt hat, wird wissen, wovon ich rede. Dabei halte ich den eigentlichen Nutzen des Gesetzes für äußerst fragwürdig. Im Gegenteil: Das Gesetz kehrt die Beweislast für Diskriminierung um und schreibt sogar Privatleuten vor, wie sie nicht zu diskriminieren haben. Meiner Meinung nach führt das nur zu vorgefertigen Vorwänden und Lügen, nicht aber zu weniger Diskriminierung.
Bei all diesen neuen und geänderten Gesetzes ärgert mich besonders, dass die historische Chance der Großen Koalition, nämlich die Föderalismusreform durchzuführen, völlig vernachlässigt wurde. Dabei brauchen wir sie dringender denn je. Überhaupt wurden sämtliche dringende Reformen vernachlässigt. Schröders Agenda 2010 war eine der wichtigsten Reformen der letzten zehn Jahre, eine Folgereform (“Agenda 2020″?) wäre längst überfällig.
Was mich an all dem aber am allermeisten ärgert: ich habe damals auch noch mitgeholfen, Gerd Schröder abzuwählen. Nun gut, selbst wenn er an der Macht geblieben wäre: durch den Linksrutsch der SPD, der die vorgezogenen Neuwahlen 2005 provoziert hatte, wäre es fraglich gewesen, ob er überhaupt so hätte weitermachen können. Dennoch wünsche ich es mir manchmal. Allerdings sollte man dabei nicht vergessen, dass wir auch unter Schröder Bürokratie- und Überwachungsmonster wie die Autobahnmaut (und damit die systematische Erfassung sämtlicher Nummernschilder auf deutschen Autobahnen) bekamen. Seinem Innenminister Otto Schily haben wir außerdem biometrische Reisepässe zu verdanken, wiederum trotz heftiger Kritik von IT-Sicherheitsexperten. Schily spendierte der Bundesrepublik zudem eine zweite Spiegelaffäre, indem er die Büroräume des Cicero-Magazins durchsuchen ließ.
Die beiden großen Parteien sind also nun endgültig unwählbar geworden, zumindest auf Bundesebene. Zum Glück gibt es Alternativen (die leider in Sachsen zur kommenden Bundestagswahl nicht antreten).
Update: Thomas Stadlers gestriger Blogeintrag zählt noch ein weiteres Gesetz auf, das in meiner Liste nicht auftaucht: das Luftsicherheitsgesetz. Dessen § 14 Abs. 3 räumt den Streitkräften die Möglichkeit ein, Waffengewalt gegen Flugzeuge anzuwenden, sofern diese gegen Menschenleben eingesetzt werden sollten (z.B. wie beim 11. September 2001). Trotz etlicher rechtlicher und ethischer Bedenken verabschiedete die Große Koalition das Gesetz, das Bundespräsident Köhler nur unter großen Bedenken unterschrieb. Das Bundesverfassungsgericht kippte schließlich den umstrittenen § 14 Abs. 3 — ein weiteres Beispiel, wie der Pfusch aus Berlin in Karlsruhe behoben werden musste.
Altenrepublik Deutschland
June 19, 2009
Willkommen in Deutschland! Sie werden sich hier sehr wohlfühlen. Bei uns herrscht nämlich noch Sitte und Ordnung. Bei uns regieren die Alten.
Ja, unsere Entscheider sind diejenigen, die noch wissen, was sich gehört und was nicht. Die gutes Benehmen eben nicht nur als Floskel kennen, sondern vor allem andere darin gerne belehren, anstatt sich selber zu benehmen. Zumal längst vergessene Tugenden wie Tischmanieren auch wichtiger sind als Vertrauen und Ehrlichkeit. Es sind diejenigen, die bei gesellschaftlichen Missständen nicht zögern, ein Gesetz gegen ebendiese zu fordern anstatt wirklich etwas zu unternehmen. Die ihren jüngeren Mitmenschen gerne vorschreiben, welche Vergnügung sittlich ist und welche nicht. Diejenigen, die ja eh nichts zu verbergen haben.
Ja, hier regiert die Generation, die Deutschland weder mit aufgebaut noch reformiert hat, aber dafür wenigstens keine lärmenden, ungezogenen Kinder bekommen hat. Es sind diejenigen, die den Generationenvertrag gebrochen haben und dennoch uneingeschränkt einfordern — aus Solidarität. Diejenigen, die wider Expertenwissen für eine Politik sind, die volkswirtschaftlich bedenklich, aber dafür vermeintlich gerecht ist. Diejenigen, die sich eben noch von der Ideologie leiten lassen.
Ja, willkommen in Deutschland! Bei uns regiert das Volk.
What I did last year
April 30, 2009
So I handed in my Diplom thesis last week, five days ahead of schedule! It was actually due today. This means that exactly twelve months have gone by since I joined the Institut für Kern- und Teilchenphysik (IKTP) to do elementary particle research. Because it has been such an amazing year, I can’t help but reminisce a little.
The Diplom thesis marks the end of a five year university course in physics. Unlike other majors, physicists get a whole year for it because that’s how long it typically takes to get acquainted with a topic, do meaningful research and write it all down. For me it was the best year out of the five and a half I’ve spent in university. That’s because the IKTP is an awesome place to work at. Mostly however I’m glad they managed to hire Dominik Stöckinger as a professor for particle theory. Because that meant I didn’t have to become an experimentalist
. Dominik has been a great mentor and is probably partially responsible for my decision to carry on with research after my degree.
Looking at the log of my revision control system, here’s how I’ve mostly spent my time:
- Studying Quantum Field Theory and Supersymmetry: 3 months
- Learning Mathematica and related software: 1 month
- Preparing and teaching the Quantum Field Theory tutorial: 2 months
- Writing applications for PhD programmes and scholarships: 1 month
- Vacation (in total): 1 month
- Doing the actual research: 2 months
- Visiting the DPG Spring Conference: 1 week
- Writing down the thesis: 6 weeks
- Printing, binding, handing in thesis and partying: 1 week
Here are some mostly unrelated thoughts and insights from the past year:
- It feels like I’ve learned more Physics in this one year than I have in the four years before. This might not actually be true. All I know is I have gained an enormous amount of insights. Actually being able to understand what the professors are talking about is gives me lots of satisfaction. Being able to ask semi-smart questions even more.
- The reason why I think I learned so much is the environment. I realized that I don’t get much from lectures and even tutorials aren’t that effective for me. Sharing an office with other Diplom and PhD students, however, as well as the numerous discussions with professors were much more insightful. Teaching a tutorial has also helped a lot because I was forced to work out every detail myself. But since I co-taught it with someone else, I also got to discuss the problems verbally a lot.
- Mathematica is a great language. It borrows a lot from other functional and pattern-matching languages such as Lisp or Haskell. The notebook interface is a bit hard to get used to at first, especially as a software developer. In the end it’s quite alright, I guess, even though sometimes “using it still feels like unprotected sex with an HIV positive, nobel prize winning hooker that looks like Meatloaf“.
- Even though they do a lot of software development, many scientists are lousy developers. Commenting is typically unheard of (unless it’s for commenting out code, then it’s used way too often) and only well-organized collaborations seem to use version control and enforce coding standards. Most code is written so that they understand it (maybe), but rarely written so that other people can work with it (which will eventually happen once you have students work for or with you, for instance).
Religion und Freiheit
April 22, 2009
Nach einer kleinen Diskussion zum Thema Relgionsunterricht auf Twitter habe ich das Bedürfnis, meine Gedanken ein wenig zu sortieren. Ein Blogartikel scheint mir die geeignete Form zu sein. Die meisten meiner gestarteten Blogeinträge sind bislang im Draft-Nirvana geendet. Vielleicht schaffe ich es ja, diesen hier zu Ende zu bringen
.
In Berlin steht am Wochenende ein Volksentscheid zum Thema Religionsunterricht an. Bislang gibt es für alle Schüler das Fach “Ethik” als Pflicht. In dem Volksentscheid geht es darum, Schülern die Wahl zwischen Ethik und Religion zu ermöglichen. Wie so oft in der deutschen Politik ist leider die Diskussion zu diesem Thema rein von Ideologie und so gar nicht von Pragmatismus getrieben. Gerade in puncto Religion scheinen gewisse Parteien so fürchterlich verunsichert zu sein, dass eine sachliche Behandlung der Dinge kaum mehr möglich erscheint.
Integration
Betrachten wir den Fall einmal. Eine nicht unerhebliche Anzahl Berliner Bürger (genug, um einen Volksentscheid ins Leben zu rufen) möchte gerne die Wahl zwischen Ethik und Religion in der Schule sehen. Warum möchten SPD und Linke ihnen diese Wahl verweigern? Als Argument wird meist die Integration genannt und die fatalen Folgen für die Integration, die diese Wahlmöglichkeit hätte. Nicht, dass es um die Integration in Deutschland momentan gut bestellt wäre und es um die Zerstörung eines Erfolges ginge, denn das ist nun wirklich nicht der Fall.
Nennen wir das Kind doch endlich mal beim Namen. Es geht doch um den Islamunterricht, vor dem die Leute so panische Angst zu haben scheinen. Man fürchtet wohl eine Isolation der Muslime in Deutschland, weil sie sich alle in den islamischen Religionsunterricht flüchten. Und paff, die Integration ist dahin! So ist einfach ist es zum Glück nicht. Denn mit dem Integrationsproblem ist ja nicht die Isolation gemeint. Im mulit-kulti Berlin ist das sowieso eh nicht das Problem: Murat und Christian spielen schon längst zusammen im selben Fußballverein und verknallen sich in die selben Mädels (trotz Unterschiede in der Religion).
Das Problem ist doch die geringe Qualifizierung der Migrantenkinder. Und bislang hat der Zwang zu Ethik die Zahl der Schulabschlüsse in diesem Teil der Gesellschaft nicht zu heben vermocht. Ich kann mir nur schwer vorstellen, dass eine zusätzliche Wahlmöglichkeit die Zahl noch weiter nach unten drückt. Ich lasse mich allerdings durch Erfahrungswerte gerne belehren. Von reinen Spekulationen halte ich aber nichts.
Religion = suspekt
Noch ein weiteres Kind sollte beim Namen genannt werden. Es ist schwer zu verkennen, dass heutzutage immer weniger Leute religiös sind. Das ist prinzipiell kein Problem, allerdings scheint es mir so, dass von Seiten der Atheisten (man verzeihe mir die Benutzung dieses Wortes als Sammelbegriff für alle Nicht-Religiösen) ein immer größeres Misstrauen den Religionen entgegengebracht wird. Gerade beim Islam geht die Furcht vor religiösem Fundamentalismus um. Aber auch den anderen Kirchen ist man suspekt gegenüber eingestellt und möchte die Kinder lieber vor den Fängen dieser authoritären Organisationen fernhalten.
Diese Voreingenommenheit macht eine sachliche Diskussion nahezu unmöglich. Nicht nur das, ich finde es regelrecht anmaßend, den Religionsunterricht mit einer weltanschaulichen Indoktrination gleichzusetzen. Ich habe manchmal wirklich das Gefühl, dass die Gegner des Religionsunterrichts noch nie in den Genuss gekommen sind, einen selber besucht zu haben. Außerdem scheint gerne vergessen zu werden, dass der Religionsunterricht wie jedes andere Schulfach auch, einen Lehrplan bekäme. Im Übrigen stört die einseitige Sichtweise, denn auch der Ethik-Lehrer könnte seinen Unterricht zur Indoktrination dieser oder jener Weltanschauung benutzen.
Freiheit
Ein Bestandteil des Ethiklehrplanes ist doch sicherlich die Toleranz. Nun, wo bleibt die Toleranz gegenüber denen, die religiös sind und auch so ausgebildet werden wollen? Und überhaupt, indem wir den Muslime wie Christen die Möglichkeit zu konfessionellem Religionsunterricht geben, schaffen wir nicht eine viel größere Gleichbehandlung und Ebenbürtigkeit? Ist das nicht am Ende ein viel größerer Beitrag zur Integration, wenn diese Leute in die Gesellschaft eingebunden statt marginalisiert werden?
Diese Fragen sind wirklich ernst gemeint, denn ich weiß es auch nicht. Aber ich möchte denen, die es probieren wollen, den Versuch nicht verwehren. Das bedeutet nämlich das Zugeständnis einer Freiheit, die es momentan nicht gibt. Es ist die Freiheit, seine Weltanschauung ohne Einmischung des Staates leben zu können, insbesondere in der Ausbildung. Friedrich II. hat diese Freiheit meiner Meinung nach am schönsten formuliert:
Jeder soll nach seiner Façon selig werden.
Schade, dass sich einige Berliner an diese Freiheit ihres Stammlandes Preußen nicht mehr erinnern. Stattdessen nimmt man lieber Anleihen an der Gleichmacherei eines viel dunkleren Kapitels der ostdeutschen Geschichte. Schade.
Announcing the Zope 4 book
April 1, 2009
I know people have been eagerly waiting for an updated version of my Zope 3 book, Web Component Development with Zope 3. While the first edition targeted Zope 3.0, the second and third are targetting Zope 3.3, a release that is several years old now. Since then, Zope 3 technologies like the Component Architecture have equally found adoption among the Plone project and hatred among the rest of the Python web developers. Time then for an update of the most popular Zope book, right?
There were some original plans to base the fourth edition on Grok, the upstart project within the Zope world. With its developer-friendly attitude and pragmatism, it seemed like a viable path out of the Zope 3 complications. With the advent of Zope 4, however, this has completely changed. Zope 4 certainly makes Grok look old and used. Grok is so 2008 now. That’s why I’m happy to announce that the next edition of my book will target Zope 4:

I’m also happy to announce that the book will be available soon! Writing the 4th edition really was a breeze, thanks to Zope 4’s completely non-enterprisey approach, the adoption of interfacelets (which allow you to write the generally disliked Zope interfaces with much less code in much less time), and the automatic componentizer which turns any Spaghetti code (e.g. a Django webapp) into nice reusable components. Zope 4 also fixes some mistakes that were made in Zope 3, for instance by bringing back proven Zope 2 technologies such as DTML and Acquisition. This sped up the writing of the 4th edition tremendously as well, as I was able to simply cobble the relevant chapters together from all those $4.99 Zope 2 books on Amazon.
Right now I’m just finishing the last chapter. It’s about the Zope Stallion, a feature that was introduced to compete with the Django Pony. After this it shouldn’t take long for the book to go into print. I think Amazon will even be taking your preorders soon, so act … uhm … soon!
I dig git
February 13, 2009
Last Christmas I investigated some distributed revision control systems (so that I could keep on working normally despite the spotty internet connection over the holidays). Since then I’ve been using git on a daily basis for my research work and just love it. Thanks to git-svn I can still keep the original SVN backend. This has a number of advantages (sorry for reiterating a couple of points here):
- I access my SVN repositories via HTTPS. That means they’ll work even in the most ridiculously firewalled network as long as HTTPS connections are allowed. It also means that I can browse files with just a regular web browser (and nowadays even my phone has a web browser built-in!)
- While git’s Windows support is said to be getting better (I haven’t tried), SVN still has the best interoperability. When you’re not 100% sure what platforms have to access and commit to the project, SVN still is the best common denominator.
- Even with git you’ll sooner or later want to create a certain central repository that you or others can push to and pull from. Like with SVN, that too will require the server to have git installed, by the way. So that repo might just as well be in SVN, given the two points above.
So, I’m still using SVN for the backend and for the frontend where necessary. Otherwise I use git. I’m probably only using 10% of its features (which is fine by me), but boy I’m sold:
- git’s really well documented, I particularly like the insightful tips from gitready.com but the man pages and the online user manual are just as good. Compared to that, the Mercurial book is close to being useless.
- It simply makes sense. Lots of people say git is weird and compared to SVN, it sometimes really is. But the more time I spend using git, the more I feel that this is the way it should be done. Mercurial is conceptually very similar to git and both are increasingly popular which to me seems to indicate that both must be doing something right.
One thing that falls under the “the way it should be done” category is that you can just walk up to a directory and decide you want this stuff to be version controlled. The other day I realized I wanted to extend a piece of software. I couldn’t find out whether it was still maintained and where, so I just turned the directory into a git repository and started hacking away. Maybe it is still maintained, in which case I can always ask git to spit out my modifications as patches. Or the original author could pull my changes from the public repository I’ve set up. Come to think of it, I should probably tell the original author that
You may have noticed there, I’ve simply placed a bare git repository on a web server. I love how easy and low-tech this felt: just scp’ed it over. Just to make it a bit user friendly, I added an index.html explaining what it is. I wonder how other people deal with this. I suppose folks without SSH access to webspace prefer sites like github.com and bitbucket.org? What do you do?
Windows 7 is the best Windows so far. Or is it?
January 26, 2009
Virtual machines are a cheap commodity these days, so I thought I’d give Windows 7 beta a whirl. Before I dive into the details, though, a word of warning is in order: The last time that I used Windows on daily basis was ten years ago. I rarely used Windows 2000, occasionally use XP today (for tax software) and know virtually nothing about Vista. I do think that this makes for an excellent scenario, though, because I feel much like my mom when she’s using the computer: I have no idea how to do anything!
That said I have high standards when it comes to usability and OS X has been able to live up to some of them –not all– in the past years. So Windows has quite some big shoes to fill when I’m testing it. Especially because I’ve never really felt the pain that I’m told Vista users have to endure. I’m sure to them Windows 7 is a like fresh breeze of liberating spring air. And I agree, it’s the best Windows I’ve seen so far.
Things I like
I like the new Taskbar. Because it’s much like the Dock we’ve known in OS X since, ooh I don’t know, 2000. Actually in some ways it’s better than the Dock. The Taskbar spans over the whole screen so its size and the position of the icons in it are always the same, no matter how many icons you’ve got in it. Then again, it becomes all unusable again when it has to cope with more icons than Microsoft deems necessary. And when you want to switch back to a program that has more than one window open, it doesn’t just open all of them and shows the one you used last. It first needs you to decide which window you want to see. Listen, sweet cakes, people these days have 22″ or 24″ screens and can fit two windows next to each other (even though they don’t, due to a disease Windows users often have which I call maximizitis). The Taskbar’s biggest problem, however, is its sheer ugliness. It really looks as though I’ve drawn it. On an Etch’n'Sketch.
I also like the Start Menu that we first saw with Vista, in particular the Spotlight-like search function. I believe Microsoft didn’t nick this from Apple, even though OS X has had it first (it was launched with OS X Tiger in April 2005). I find search the single most important tool in a computer system and it’s highly underrated. It’s good to see that Microsoft puts it at a much more visible and accessible place than Apple.
I also like the ribbon menus that made their debut in Office 2007. They’re now fitted to some of the built-in programs like WordPad and Paint. It feels to me they make the sheer amount of stuff you can do with some of these programs these days more visible. Now if we could only get rid of duplicate ways of doing things (I’m looking at you, context menus!).
Test drive
To explore Windows 7 a bit further, I came up with a small test. This wasn’t supposed to be scientific in any way. I just thought I’d try to do what I do most of the time when I’m on the computer: surf the web, use web apps, read and write email, read and sometimes write documents, work with spreadsheets.
Well, it’s got a browser, the good old Internet Explorer. So Windows 7 won’t stop anyone from procrastinating on Twitter and Facebook. It’s got a text editor of sorts, WordPad, which to my delight supports the new OOXML format (docx) and the OpenDocument format (odt). Of course, what it doesn’t support is the old Word format (doc), not even read-only. Even Apple’s otherwise inferior TextEdit does!
Next I tried checking my email. That’s when things turned for the worse. There’s no built-in email client, at least in the public beta. Ok, I suppose in a world of webmail systems as good as Gmail, that may be acceptable to some people. But I just think they want me to buy Office.
This wasn’t anything compared to what came next, however. After failing to check my email I tried to do what any researcher does every day: read scientific articles. Like pretty much anything else that’s distributed in a printable fashion, these come in PDF form. So you’d think that the most popular operating system in the world would be able to deal with the de-facto standard of distributable document formats. But it isn’t. Even in its latest and greatest version, Windows fails to open PDF, let alone modify or produce PDFs.
I know I can install Adobe Reader for free at any time. But that’s not a solution because it’d be another thing I’d have to explain to my mom or granny, when it should really just be built in. I mean, seriously, is it so hard to include a half-decent PDF viewer program? Apple can do it just fine with Preview which can not only visualize pretty much any PDF, it’ll also let you delete pages and merge several PDF documents to one. And please don’t tell me that this is stuff nobody needs. As said, the de-facto standard for distributing printable documents is PDF and not Word’s stupid doc format. And definitely not Microsoft’s unilateral attempt called XPS. If Windows had the same PDF capabilities as the Mac, viz. being able to generate PDF out of pretty much any application, people would actually use PDFs even more often. By the way, I’m praising OS X a lot here, but the same goes for a modern Linux system: it too can generate and manipulate PDFs easily and pretty much any Linux distro out there will install some sort of PDF viewer by default.
Lastly I wanted to see whether Microsoft has finally fixed an old wart: USB storage media removal. You see, in previous Windows versions, in order to remove a USB stick you had to find a small and unfathomable icon in the system tray and click on it. Then a window would open and let you choose the device to remove and then click some button. The procedure was perhaps even more elaborate, I don’t remember. All I know is that it has always been a total failure in terms of usability. And have they fixed it in Windows 7? No. They’ve made it worse: that unrecognizable icon for external storage media is now hidden from the system tray. People then will bother even less about unmounting their USB sticks. Perhaps unmounting is not necessary anymore and I would gladly welcome that. But why is the icon then still there? I can only imagine that Microsoft has some secret plot playing against USB sticks, I couldn’t explain their total failure in this regard otherwise.
The verdict
I said earlier Windows 7 is the best Windows I have seen so far. But that’s not much to shout about, really, because previous Windows versions have been horrid. In terms of things I actually need every day, it can’t do anything except surf the web. I thus fail to see how Windows 7 is actually better than Windows 98.
Come to think of it, Windows 98 came with Outlook Express, an email client. So I’ll take back what I said previously. The best Windows I’ve ever seen is Windows 98.