Licht, Light, Lumo

Soul of Wind

To the melody of Firesoul by Aryana. Text written around 2007 by Draketo (Arne Babenhauserheide).

  e                           G
I dance with the wind, for my soul needs to fly,  
  a                e             D
I move through the storm just to look at the sky  
  e                      D           e
I stay of my own will, I need to fly free,  
    a            e           D           e
and just one can bind me and that one is me.

I crave for the gusts, the wind on my wings,
In flight there’s no border, no queens and no kings,
I go where I want and you can’t keep me in,
I need to stay moving, leave friends and leave kin.

I know where I’m going, I’ve chosen my way,
Must heed only myself, whatever you say,
Don’t mourn for my passing, we might meet again,
just savor each moment, for struggling’s in vain.

I w̶a̶s̶ t̶a̶r̶g̶e̶t̶e̶d̶ got hit by an attack on GnuPG/PGP

Update: Might not actually be targeted. See Evil 32. Thanks to Ximin Luo for giving me more peace of mind!

Update: I’m not the only one hit by this. Here’s a conversation on GNU social with more people hit - though no one else reported yet having two keys faked and cross-signed.

Update: At the very least you should do this: echo keyid-format long >> ~/.gnupg/gpg.conf

On the 29th of August a colleague asked me “which key should I use to encrypt to you?” I was confused, because I only have one key for that email address. So he showed me the keys he saw:

$ gpg2 --list-keys --fingerprint arne.babenhauserheide
pub   2048R/A70DA09E 2011-10-07 [expires: 2016-10-05]
uid                  Arne Babenhauserheide <>
sub   2048R/39829E5F 2011-10-07 [expires: 2016-10-05]

pub   2048R/A70DA09E 2014-06-16 [revoked: 2016-08-16]
uid                  Arne Babenhauserheide <>


Manche Märchen können wahr werden, wenn genügend Leute an sie glauben und für sie kämpfen.

Märchen, Stenosiegel

(Frei skalierbare Fassung (SVG))

Das ist das erste einer Reihe Steno-Siegel, die ich im nächsten Jahr online stellen will (etwa eins pro Woche). Ich stelle es jetzt online, weil ich heute mit meinen Kindern die Löwenzahn-Sendung zu Schrift-Bildern gesehen habe. Nicht nur die arabische Schrift eignet sich für Bilder, sondern auch Stenographie.

pyFreenet 0.4.1 with auto-spawn support in fcpupload

I just put up a new pyFreenet release (github):

If you have Python3 and pip >= 8 you can get it with pip3 install -U --user --egg pyFreenet3. It provides a cleaned up fcpupload script with --spawn support (requires GNU/Linux):

pip3 install -U --user --egg pyFreenet3
echo 1 > testfile
fcpupload --spawn --fcpPort 9486 testfile 

If you do what you love doing, it becomes what you are good at

comment to You’re Not Meant To Do What You Love. You’re Meant To Do What You’re Good At. by Brianna Wiest, who arguments that the skills of people are "a blueprint of their destiny". For support she describes experience with people who try to do something they do not actually enjoy doing.

This whole argument sits on the assumption that skills develop somehow on their own.

Skills develop, because you use them. So if you do what you love doing (note the nuance!), then — except in rare cases — this becomes what you are good at.

Kampf gegen Online-Adblocker statt für Finanzierung von Journalismus

→ Die Taz schreibt über den Kampf einiger Verlage gegen Werbeblocker. Aber nicht über die schon praktizierten Lösungen.

Es gibt fünf Gruppen:

  • Verlage, die Werbeblocker angreifen und Lesende mit Werbeblocker ausschließen.
  • Verlage, die Lesenden mit Werbeblocker ein Online-Abo anbieten (z.B.

Are there 10x programmers?

→ An answer I wrote to this question on Quora.

Software Engineering: What is the truth of 10x programmers?
Do they really exist?…

Let’s answer the other way round: I once had to take heavy anti-histamines for three weeks. My mind was horribly hazy from that, and I felt awake only about two hours per day.

Wer glaubt noch, dass Google neutral ist? An Europa sägen.

Ich bin zur Zeit von Google Plus abgemeldet, um mir die ständige Ablenkung durch aufpoppende Nachrichten zu ersparen. Gerade habe ich kurz auf die Videos auf Youtube geschaut, um 5 Minuten Pause zu machen.

Das hat mich daran zweifeln lassen, dass der Youtube Algorithmus für Empfehlungen auch nur ansatzweise politisch neutral ist.

Ohne Anmeldung wurde dort nach einem Video mit Rudolf Drechsler (Alt-SPDler kritisiert seine Partei) auf der Startseite ein Video empfohlen (unter „empfohlene Videos“), in dem übelste Meinungsmache gegen kulturelle Vielfalt und Einwanderung betrieben wird, unterlegt mit reihenweise Scheinargumenten.

Wer kommt auf die dämliche Idee, frühere Einwanderer von der Zahl der Deutschen abzuziehen? (Bis wohin rechnen wir zurück? Ziehen wir auch Franzosen, Niederländer, DDRler, usw ab1? Oder frühere Römer?) Und das dann noch mit dem Militär zu vergleichen?

Jemand, der „völlig vernünftig“ zusammen mit „wenn sich der Trend fortsetzt“ sagt.

  1. Für die Aufnahme der DDRler in diese Liste habe ich schon jetzt Hassmail bekommen.2 Da hat jemand gemerkt, dass sobald man selbst genannt wird, die Definition von Einwanderung plötzlich nicht mehr so klar ist — auch wenn es sicher Leute in Westdeutschland gibt, für die es sich wie Einwanderung anfühlt, wenn sie in der Bahn von einem Schaffner mit Sächsischem Dialekt angesprochen werden (oder auch auf Hochdeutsch). Oder in einer neuen Bevölkerungsgruppe gemeinsame kulturelle Werte wie Toleranz gegenüber Andersdenkenden weniger vertreten zu sein scheinen. 

  2. Ja, das war Absicht — dass sich jemand aufgeregt hat, zeigt, dass ich ins Schwarze getroffen habe ☺. Natürlich ist es Unsinn, DDRler als Einwanderer zu bezeichnen. DDRler und Römer miteinzubeziehen ist beabsichtigter Unsinn, um den Unsinn der anderen Definitionen zu entblößen: Die Definition ab wann jemand Einwanderer ist (wer legt das fest?). Trotzdem ist es anstrengend, mit der Antwort umzugehen. 

Hinter der EM 2016

Bevor die EM anfing haben wir gesagt „was die große Koalition wohl diesmal im Schatten der EM durchdrücken will“1. Was davon bereits eintritt (wird aktualisiert):

  1. Ich würde es sehr begrüßen, wenn es ein Gesetz gäbe, das Parlamentsbeschlüsse während Großereignissen verbietet. Sie können sich dabei gerne beraten. Etwas im Schatten von Großereignissen zu beschließen sollte verboten sein. 

letterblock passwords: secure, memorable, easy to type

Do you want to have secure passwords which are memorable and easy to type? Did you use diceware just to find out that the rate of typos when writing 6 words with 30 letters in total without seeing what you type can be aggravating — especially when you have to enter your password several times a day?

The algorithm here generates secure Letterblock passwords which are easy to type and to remember. Try it:

Length:   Password:
Get this code via npm install securepasswords
There is also a version in Python and one in wisp Scheme.


A major part of this article is concerned with a security estimate of the generated passwords, but firstoff, here’s an example of a password which should survive an attack leveraging all smartphones on the planet until at least 2021 at the current development speed of technology:


And here’s one which should outlast a type II civilization:


Let’s ramp up security of passwords while making them easier to remember.

Update Also see Keylength - ECRYPT II report on key sizes. The report provides a clean overview of several different recommendations. In short: Use 128 bits. With the method shown here this is equivalent to using 5 blocks of 4 letters (length 20).

Conveniently merge a NEWS file without conflicts

Writing a NEWS file (a list of changes per version, targeted at end-users) significantly reduces the effort for doing a release: To write your release notes, just copy the latest entries from the NEWS file into a message. It is one of the gems in the GNU coding standards: Simple yet extremely useful. (For a detailed realization, refer to the Perl Specification for CPAN Changes files.)

However when you’re developing features in parallel, for example by using a pull-request workflow and requiring contributors to update the NEWS file, you will often run into merge conflicts. Resolving these takes time, though the resolution is trivial: Just use the lines from both heads.

To resolve the problem, you can set your version tracking system to use union-merge for NEWS files.

Why Python 3?

At the Institute we use both Python 2 and Python 3. While researching the current differences (Python 3.5, compared to Python 2.7), I found two beautiful articles by Brett Cannon, the current manager of Python, and summarized them for my work group.

The articles:

  1. Why Python 3: Why Python3 exists
  2. Why use 3: How to pitch Python 3 to Management

The relevant points for us1 are the following:

  1. I have summarized them because I can not expect scientists (or other people who only use Python) to read the full articles, just to decide what they do when they get the channce to tackle a new project. 

How to run your own GNU Hurd (in 140 letters)

Don’t want to rely on other’s opinions about the Hurd? How to run your own GNU Hurd, in 140 letters:

wget; tar xf de*hu*gz; qemu-system-x86_64 -hda de*hu*g -m 1G

This is the GNU Hurd

Which language is best, C, C++, Python or Java?

My answer to the question about the best language on Quora. If you continue reading from here, please stick with me to the end. Ready to read to the end? Enjoy the ride!

My current answer is: Scheme ☺ It gives me a large degree of freedom to explore ways to program which were much harder hard to explore in Python, C++ and Java. That’s why I’m currently switching from Python to Scheme.1

But depending on my current step on the road to improve my skills2 and the development group and project, that answer might have been any other language — C, C++, Java, Python, Fortran, R, Ruby, Haskell, Go, Rust, Clojure, ….

Claudia als Präsidentin!

Gauck hört auf — JA! Dann ist endlich das Kriegs-Verantwortungs-Gauckeln vorbei.

Jörg Rupp schlägt Kretschmann vor (wohl, um ihn in BW loszuwerden). Ich halte das für gefährlich: Der nimmt das noch ernst!

Daher schlage ich Claudia Roth vor — wenn sie wieder Punk-Konzerte veranstaltet!

Erben der Scherben, Die Toten Hosen und Früchte des Zorns im Schloss Bellvue zur Begrüßung von Trump/Clinton, das wäre stilvoll.

Kopieren rettet Wissen


PDF (drucken)

Org (ändern)

Ich habe heute meinen Kindern vorgelesen, wie früher Bücher geschrieben wurden. Über Syrien, wo die erste Schrift erfunden wurde, und dann über Mönche, die Bücher von Hand abschrieben.

Meine Tochter war schon eingeschlafen, als ich von der Bibliothek von Alexandria erzählt habe. Tränen schossen mir in die Augen und mein Hals verengte sich. Ich brauchte einige Zeit, bis ich wieder sprechen konnte.

„In der Bibliothek von Alexandria gab es viele tausend Bücher, doch sie sind zerstört.“

Mein Sohn fragte, „Wieso können die Leute sie nicht einfach wieder schreiben?“

Muttertag und Vatertag für Emacs Org-Agenda, Deutsch und Spanisch

Um den Deutschen und Spanischen Muttertag in der Org-Agenda angezeigt zu bekommen, nutzt einfach

M-x customize-variable calendar-holidays

Und fügt die folgenden Zeilen ein:

(holiday-fixed 3 19 "Dia del Padre")
(holiday-float 5 0 2 "Muttertag")
(holiday-float 5 0 1 "Dia de la Madre")
(holiday-easter-etc 39 "Vatertag")

Dann nur noch C-x C-s zum Speichern, und die Org-Agenda zeigt euch die richtigen Mutter- und Vatertage für Deutschland und Spanien an.

Dia de la Madre, Vatertag

Warum Python3?

Im Institut verwenden wir sowohl Python 2 als auch Python 3. Bei Recherche zu den aktuellen Unterschieden (Python 3.5 im Vergleich mit Python 2.7) habe ich zwei schöne Artikel von Brett Cannon gefunden, dem aktuellen Verwalter von Python, und sie für meine Arbeitsgruppe zusammengefasst.

Die Artikel:

  1. Warum Python 3: Why Python 3 exists
  2. Warum 3 nutzen: How to pitch Python 3 to Management

Die für uns relevanten1 Punkte sind:

  1. Ich habe sie zusammengefasst, da ich nicht erwarten kann, dass Wissenschaftler (oder andere Leute, die Python nur verwenden) die ganzen Artikel lesen, nur um zu überlegen, was sie machen, wenn sie mal wieder ein neues Projekt angehen wollen. 

I finally got the Freenet junit testsuite to run on Gentoo

Blindfolded Dog1

For years I developed Freenet partially blindfolded, because I could not get the tests to actually run on my Gentoo box.

As of today, that’s finally over: The testsuite runs successfully. My setup is still unclean, but it finally works. No more asking other contributors to run the tests for me.

To reproduce:

Transition to a stronger GnuPG key

I am transitioning my GnuPG key1 from an old 1024-bit key to a stronger 4096-bit key. The old key will continue to be valid for some time, but I prefer all new correspondance to be encrypted in the new key, and will be making all signatures going forward with the new key.

The old key, which I am transitioning away from, is:

sec   1024D/FE96C404 2002-02-04
  Key fingerprint = 6B05 41F0 94FF 2163 6FBA
                    2433 3307 469B FE96 C404

The new key, to which I am transitioning, is:

sec   4096R/2403C3EB 2016-01-04
  Key fingerprint = F34D 6A12 35D0 4903 CD22
                    D5C0 13EF 8D45 2403 C3EB

The transition document below is signed with both keys to validate the transition.

If you have signed my old key, I would appreciate signatures on my new key as well, provided that your signing policy permits that without reauthenticating me.

Welche Positionen hat die AfD abseits Asyl?

Aus Wahlprogramm und Parteivorstand:

  • Mindestlohn abschaffen
  • Arbeitszwang für Langzeitarbeitslose
  • Halbierung des Spitzensteuersatzes
  • Kulturelle Inhalte staatlich verordnen
  • „natürliche Geschlechterordnung“
  • Verbot von Abtreibung
  • Pressefreiheit der Öffentlich Rechtlichen einschränken, wenn es um Familie geht
  • Nazizeit als „Unglücksjahre“ in Schulen weniger lehren
  • Festschreiben der Anteile von Atomstrom, und Energie aus Kohle und Öl in Baden Württemberg und verneinen der Auswirkung von CO₂ auf das Klima.

Die Zusammenstellung stammt von Campact und aus dem Wahlprogramm der AfD BW. Die Formulierungen sind von mir.

Der Abmahnwahn ist unethisch, egal ob bei Flüchtlingen oder Deutschen

Kommentar zu Massenabmahner nehmen Flüchtlinge ins Visier in der c't.

Es ist für Flüchtlinge normal, Medien entgegen urheberrechtlichen Begrenzungen zu genießen?

Das gleiche gilt auch bei Deutschen — nur dass viele hier auf Streamingseiten ausgewichen sind, bei denen nur die Seiten illegal (und noch dazu kommerziell) sind, die Nutzer aber nicht gegen das Urheberrecht verstoßen (seit 2014, dank Europäischem Gerichtshofabc1).

  1. Ich warte darauf, dass Gerichte erkennen, dass bei Torrents die Uploads auch ein “Integral and essential part of a technological process and carried out for the sole purpose of enabling either efficient transmission in a network between third parties by an intermediary…” sind, also ebenfalls keinen Urheberrechtsverstoß darstellen können.

    Gibt es außer der weit höheren Effizienz von Popcorn time aus dieser rechtlichen Sicht einen echten Unterschied zwischen Popcorn time und regulären Streamingseiten?

    “efficient transmission in a network between third parties by an intermediary” — ja, genau das ist BitTorrent. 

BitBucket got big on Mercurial — until they got bought by Atlassian

A comment on largefile support missing in BitBucket, despite being a much-requested feature since 2012.

Note that it’s not Atlassian which got big with Mercurial. It’s Bitbucket which got big with Mercurial, and it was later bought by Atlassian.

I agree with just one of the 10 commandments of judaism and christianity

Many christians and many people who talk about “western christian values” like to say that the 10 commandments are universal: everyone can agree with them. So I checked that. I take them by their name: are they suitable as commandments? Not as a fuzzy general guideline, but as binding rules and a foundation for a shared culture?

(1.0) I am god who lead you from slavery in egypt → uhm, no?

(1.1) You shall not have other gods → uhm, why?

The Freenet social trust graph

Are trust relationships different in anonymous networks? This article should give you the tools to find out.

Update 2017: Now available from figshare with DOI 10.6084/m9.figshare.4725664

Recently we were asked in the #freenet IRC channel, whether we have a copy of the trust graph in the Web of Trust plugin (which provides service discovery and spam protection).

Freenet for Journalists, funding proposal

This is a funding proposal I sent to Open Technology Fund to make Freenet suitable for Journalists and their sources. Sadly it got rejected, but maybe it helps future proposals.

Project name: Freenet for Journalists
Duration: 24 months
Amount: 800000
Contact name: Arne Babenhauserheide
Contact email: arne_bab -ät- web -punkt- de


  • Status: It's basically done.

Anna Mack — Tränen von Zorn und der Gauckler ruft wieder nach Krieg

Ich höre das Lied und denke an den Gauckler, der wieder nach Krieg ruft, und Tränen von Zorn fließen über meine Wangen.

Und ich denke an die AfDer, wie sie die Wut der Menschen auf die Schwächsten lenken, und die Tränen versiegen und der Ärger verwurzelt sich.

Und dann denke ich daran, dass ich heute Mittag Übungsgruppe gebe und vorm Rechner schreibe statt zu kämpfen, und ich hasse mich dafür.

Mitigate the Pitch Black attack (the simulation works)

I fixed a small bug in the simulator of thesnark. With that, the simulator shows that the defense against the Pitch Black Attack works: A small number of attackers can no longer kill parts of the keyspace and can also no longer make certain parts of the keyspace inaccessible.

Attackers can still limit the convergence of the network towards a reproduction of the small world network, but since we know that Opennet works quite well with 30% backoff, this limited convergence should suffice for efficient routing.

peer distances under attack

90% der Ankommenden hatten ein Recht auf Asyl — ein Blick in die Quellen

Ein Artikel der Deutschen Wirtschafts Nachrichten behauptet, im Dezember 2015 seien 60% der Asylbewerber keine Flüchtlinge gewesen. Obwohl die genannten Quellen sagen, dass 90% der Ankommenden im Dezember 2015 ein Recht auf Asyl hatten — also Flüchtlinge waren.

Der Artikel ruft in der Überschrift:

EU gesteht…60%…! Ein Frontex-Bericht belegt…

Dabei beruft der Artikel sich auf einen unveröffentlichten Bericht von Frontex. Allerdings hat inzwischen Frontex die Zahlen veröffentlicht.

Und wer die Seite von Frontex liest, also die angebliche Quelle, bekommt ein völlig anderes Bild. Darin wird klar, dass 90% der Ankommenden ein Recht auf Asyl haben. Eine ehrliche Schlagzeile wäre also:

Frontex-Bericht: Mindestens 90% der Ankommenden haben ein Recht auf Asyl.

Python chooses Github, therefore I’m releasing the py2guile PDF for free

py2guile book

Python is the first language I loved. I dreamt in Python, I planned in Python, I thought I would never need anything else.

  Download “Python to Guile” (pdf)

You can read more about this on the Mercurial mailing list.

 - Free: html | pdf
   preview edition

Yes, this means that with Guile I will contribute to a language developed via Git, but it won’t be using a proprietary platform.

Inhalt abgleichen
Willkommen im Weltenwald!

Beliebte Inhalte news


This question is for testing whether you are a human visitor and to prevent automated spam submissions. This is pretty hard (also for me), but any easier and I drown in spam.
Enter the characters shown in the image.