Code is Poetry

Das ist das Motto von WordPress.
Die Interpretation ist offenbar dem Leser überlassen, die Website erklärt es jedenfalls nicht, was natürlich auch ganz im Sinne guter Poesie ist.

Ich finde dieses Motto jedenfalls für die Softwareentwicklung sehr passend, denn:

  • Guten und schlechten Code gibt es ebenso wie gute und schlechten Poesie.
  • Gute Poesie ist elegant, guter Code ebenfalls.
  • Guter Code ist leicht zu lesen. Gute Poesie ist eingängig.
  • Gute Poesie transportiert einen verdichteten Sinngehalt. Guter Code ist kompakt.
  • Guter Code lässt sich auf einen Blick erfassen, gute Poesie ist eingängig.
  • Die Wirkung entzieht sich der Alltagssprache – eine Erfahrung, die Poeten wie Softwareentwickler immer wieder machen.

Thomas Herzog ist gegenteiliger Meinung.
Er hat natürlich ebenfalls Recht. Zum Beispiel immer dann, wenn die Semantik einzelner Programmanweisungen im Mittelpunkt steht.
Wenn andere Dinge im Mittelpunkt stehen, sieht es anders aus. Die Gesamtstruktur eines Softwaresystems hat eben doch poetische Qualitäten: innerer Zusammenhang, Verständlichkeit, Erfassbarkeit, Eleganz.

Facebook-Skepsis

Ich les mir grad so einen Artikel bei Technology Review durch und denk mir: Aha, Facebook schafft sich grad die Möglichkeit, für seine Werbekunden die Kommunikation seiner Benutzer zu verändern.

Viel braucht’s offenbar nicht, es reicht, ein paar Prozent der Timeline-Meldungen untergehen zu lassen.

Und jetzt frag ich mich, für was sowas gebucht werden könnte.
Produktwerbung, natürlich.
Parteiwerbung.
Hoch- oder herunterspielen wissenschaftlicher Erkenntnisse. Hatten wir ja schon: Zum Rauchen, zur Atomkraft, zum Klimawandel.
Meinungsbildung zur Gesetzgebung. Sagen wir, zu Arbeitsmarktgesetzen.

Und jetzt gruselt es mich.

JavaScript ist Böse™

Was bedauerlich ist – man kann damit einen Haufen wirklich sinnvolle Sachen anstellen.
Aber es gibt halt zu häufig zu gravierende Sicherheitslücken. Im Prinzip ist es eben so, dass jedes Programm, das man sich zur Ausführung auf den Rechner holt, bei entsprechender krimineller Energie sämtliche Barrieren durchbrechen kann. Und JavaScript ist eben genau so was.

Und was machen Websites? Sie bombardieren einen immer noch mit dem Wunsch, man möge doch JavaScript einschalten.
Denen ist wohl nicht klar, was die da verlangen:

  • Ich soll dem Website-Betreiber vertrauen, dass er auf meinem PC nichts anstellt, was mir nicht Recht ist. Damit fallen schon mal alle Websites weg, deren Betreiber ich nicht kenne und die auch nicht lange genug im Netz sind, dass sie einen guten Ruf zu verlieren hätten.
  • Ich soll dem Website-Betreiber vertrauen, dass niemand jemals seinen Webserver hackt und ihm so ein böswilliges JavaScript in die Webseiten einbaut. Dafür braucht man eigentlich ein Administratorenteam, dass die Webserver rund um die Uhr überwacht und bei jeder Unregelmäßigkeit sofort die betroffenen Server vom Netz nimmt. Damit fallen sämtliche Websites weg, deren Betreiber ich kenne, die haben nämlich allesamt keine Administratorenteams, sondern einen einzigen Administrator (wenn überhaupt).
  • Selbst da, wo ich denke, dass der Website-Betreiber sowohl vertrauenswürdig als auch kompetent ist – also, sagen wir, Google, Debian, vielleicht noch Amazon, Microsoft und Github: Ist mein eigenes Urteil denn überhaupt verlässlich? Ich vertraue gern anderen Menschen, und in 19 von 20 Fällen erweist sich das als gerechtfertigt, aber mit dem 20. Fall habe ich dann doch wieder einer Website vertraut, die eben doch nicht in Ordnung war.
  • Selbst hoch vertrauenswürdigen, hochkompetenten Website-Betreibern rutscht gelegentlich was durch.

Und dann kommen die Websites, die gleich JavaScript von fünfzehn verschiedenen Partner-Websites einbinden.
Oft alles ganz harmlos gemeint: Statistik, einheitliche Anmeldung, oder einfach auch nur Standard-Programmcode, den man nicht unbedingt auf jedem Server rumliegen haben muss.
Aber wenn ich schon einem Betreiber nicht vertrauen darf, selbst wenn ich’s gern würde, wird die Sache ja umso schlimmer, wenn noch mehr Websites im Bild sind.

Aber wenn man merkt, dass eine Website ihr JavaScript von vielen, vielen anderen Websites lädt, dann heißt dass, dass der Websitebetreiber diese Sorte Risikovermehrung gar nicht merkt.Und damit ist er in punkto Sicherheit schon mal als inkompetent einzustufen. Oder es ist Desinteresse, was es nicht wirklich besser macht: Ich geb meinen Haustürschlüssel ja auch niemandem, der ihn in eine löchrige Hosentasche steckt.

Abschied

Lang hat Salome uns begleitet.
Sie war eigenwillig und doch den Menschen zugetan.
Es war Liebe auf den ersten Blick…

salome

Heute abend haben wir sie fortschicken müssen, der Krebs hat unerbittlich das Leiden eingeläutet.

Wir haben geliebt, wir wurden geliebt.
Es war eine wunderschöne Zeit.

Nun hat die Zeit mit dir ein Ende, so wie jede Zeit ein Ende hat.
Adieu.

Eclipse-Fonts in Ubuntu

(See English version below)

Eclipse legt die Fonts seiner GUI seit Juno in CSS-Dateien ab.

Ich weiß nicht, ob ich das verstehen will.
ENTWEDER hält man sich an die Design-Richtlinien des Window Managers. Dann braucht man kein CSS – jedenfalls nicht für die Fonteinstellung.
ODER man belässt es im Dialog. Der Fontdialog von Eclipse ist eigentlich wunderbar – und er hat sogar für die Fonts, bei denen es Systemeinstellungen gibt, einen wunderbaren Knopf mit der Aufschrift “Use System Font”.
Aber CSS? Warum, um aller Götter willen?

Nun ja. Für mich und alle, die es hierher verschlägt: Die Datei  $ECLIPSE_HOME/plugins/org.eclipse.platform_*/css/e4_default_gtk.css bearbeiten und in .MPartStack unter font-size den gewünschten Wert einstellen.Für mich hat 6 am besten funktioniert.

UPDATE: In Kepler klappt das nicht mehr. Es gibt ein schönes Theme bei https://github.com/jeeeyul/eclipse-themes/ , bei dem man die Fontgröße über Appearance in Preferences einstellen kann.

ENGLISH VERSION:

Eclipse configures its GUI fonts in CSS files.

I don’t know whether I even want to understand that.
EITHER you apply the design guidelines of your window manager. Then you don’t need CSS – not for fonts anyway.
OR you leave the setting in the font dialog. The one in Eclipse is actually a fine piece of usability – for those settings where it’s applicable, it even enables a nifty “Use System Font” button.
CSS? Why, for the sake of any gods?

Anyway. For me and anybody who finds his way here: Edit the file
  $ECLIPSE_HOME/plugins/org.eclipse.platform_*/css/e4_default_gtk.cssand change the font-size setting for .MPartStack. A size of 6 worked fine for me.

This is a variation of Jean-Baptiste Onofré’s blog entry at http://blog.nanthrax.net/2012/07/change-tab-font-in-eclipse-juno/ .

UPDATE: This may not work in Kepler. I’m now using the theme in https://github.com/jeeeyul/eclipse-themes/ , it has a nice Appearance page in Preferences.

Lagerdenken

Grad erst wieder im Heiseforum erlebt: Da liefert wer nicht die richtigen Stichworte und wird mit an den Haaren herbeigezogenen Argumenten angegriffen. Immer schön feste druff, der ist Feind und gehört angegriffen, ob man seine Argumente entkräften kann oder nicht.

Diese Argumente zu lesen und zu verstehen ist ja auch riskant, man könnte sie nachvollziehen und riskiert, die eigene Position revidieren zu  müssen.
Lagerdenken eben, und der Lagerdenkende verzichtet auf die Nutzung der eigenen Intelligenz.

Das ist dann wohl auch der Grund, warum immer wieder ausgerechnet die Politiker gewählt werden, die die dümmsten Sprüche klopfen. Statt denen, die die intelligenteste Politik machen.
Und dann wird immer wieder öffentlich beklagt, dass ausgerechnet solche Populisten gewählt werden. Und die Dummheit der Wähler wird beklagt, ironischerweise auch von Leuten, die gern das Lagerdenken pflegen.

Interessantes Verständnis vom Rechtsstaat

Diesmal in der Schweiz.

Didier Burkhalter, schweizer Außenminister: “Aus unserer Sicht ist das Abkommen vor allem gerecht, weil es eine Lösung für alle Steuerpflichtigen gleichermaßen bedeutet und nicht einzelne Fälle herausgreift, die zufällig ins Blickfeld der Justiz geraten sind.”

Also. Demnach ist es auch nicht fair, einzelne Fälle von Diebstahl herauszugreifen, die zufällig ins Blickfeld der Justiz geraten sind.

Gut, dass der Mann kein Justizminister ist.

nVidia mag immer noch nicht mitspielen

Und wenn doch, dann nur zu ihren eigenen Bedingungen.

Was war?

Linus Torvalds erklärt nVidia: “fuck you”. So aufgezeichnet auf einer Veranstaltung des Aalto Center for Entrepreneurship in Otaniemi (Finnland).
Die (inoffiziell zitierte) Antwort: “Eigentlich wollen wir uns lieber darauf konzentnrieren, unsere Treiber besser zu machen, als darauf, für Linux besser zu werden.” (Es gibt noch eine Menge Marketinggeblubber, aber das ist der Kern der Aussage.)

Eigentlich ist das ja in Ordnung.
Nur, dass das eben auch nicht stimmt. nVidia enthält den Linuxern sämtliche technische Unterlagen vor. Außer für wenige, ausgewählte Grafikchips – und dann auch nur für die aktuellsten. Wer was hat, was älter ist als ein paar Jahre, schaut eben doch in die Röhre.

Merke: Mit nVidia hat man (unbestritten) gute Grafikleistung sofort. Aber eben gar keine Grafikleistung mehr in ein paar Jahren.

Bedauerlicherweise verbauen Laptophersteller keine guten Grafikkarten anderer Hersteller. Die gibt’s ja schließlich auch.
Ich persönlich hätte jedenfalls kein Problem damit, 30% Grafikleistung einzubüßen, wenn ich dafür im Textmodus endlich eine Konsole mit höherer Auflösung hätte. Oder ein Dutzend andere Techniken, die im Linux-Kernel eingeführt werden, eben sofort da wären und nicht erst, wenn nVidia Zeit findet, die in ihre Treiber zu integrieren (was auch mal ein paar Jahre dauern kann oder ganz geschlabbert wird).

So gesehen kann ich mich Linus Torvalds nur anschließen: nVidia ist Mist.
Jedenfalls für mich.

Es sprach der Papst

Nicht nur vorm Bundestag, aber die habe ich hier vor mir.

Und was sagt er, als End- und Höhepunkt seiner Rede? “Von der Überzeugung eines Schöpfergottes her ist die Idee der Menschenrechte, die Idee der Gleichheit aller Menschen vor dem Recht, die Erkenntnis der Unantastbarkeit der Menschenwürde in jedem einzelnen Menschen und das Wissen um die Verantwortung der Menschen für ihr Handeln entwickelt worden.”

Stimmt, ist aber trotzdem falsch.

Stimmt, denn die Unabhängigkeitserklärung der USA begründet die Menschenrechte mit ihm: “We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.” (“Wir halten die folgenden Wahrheiten für offensichtlich: dass alle Menschen gleich geschaffen sind, dass sie von ihrem Schöpfer mit gewissen unveräußerlichen Rechten ausgestattet sind; dass dazu Leben, Freiheit und das Streben nach Glück gehören.”)

Ist aber trotzdem falsch, denn das Argument funktioniert auch, wenn man für “Schöpfer” auch “die Evolution” oder “die Natur” oder “zum Wohl der Gesellschaft” einsetzt.
Denn die Vorstellung universeller, nicht wegnehmbarer Menschenrechte ist so attraktiv, dass sie auch in der UNO eine Mehrheit gefunden haben. Auch die Chinesen und Japaner, die ihre ethischen und gesellschaftlichen Normen nicht aus einem Schöpfergott herleiten, haben diese Idee unterstützt.

Die Idee von einem Schöpfergott scheint mit der Menschenrechtsidee sogar ein Stück weit zu kollidieren. Wie sonst soll ich erklären, dass sich christliche Kirche und christliche Kultur massivster Menschenrechtsverletzungen schuldig gemacht haben? Damit meine ich nicht nur Hexenverfolgung und Kindesmissbrauch, sondern auch Geschichten wie die Colonia Dignidad, das Gemetzel des Ersten Kreuzzugs in Jerusalem, große Teile der Kolonialgeschichte und die immer noch anhaltende Diskriminierung gleichgeschlechtlicher Liebe.

Der Papst weiß das alles natürlich. Schließlich wird er allgemein als intelligent und gut informiert beschrieben.
Und dann erweckt er rhetorisch den Eindruck, die Menschenrechte seien das Verdienst der Idee vom Schöpfergott?

Ich weiß nicht, wie der Rest der Welt das beurteilt.
Ich beurteile das als Anmaßung, weil er den nichtchristlichen Anteil an der Idee der Kirche zuschreibt.
Als Heuchelei, weil er die angemaßten Anteile auch noch den Nichtchristen als Mangel vorhält.
Als Betrug, denn es ist bewusste Irreführung.