To see the full text of an article, click its title or the Link Weiterlesen.

Equal-Area Map Projections with Basemap and matplotlib/pylab

PDF (read as slides)

Org (reproduce)

Plotting global equal area maps with python, matplotlib/pylab and Basemap.

Table of Contents

information-disbalance creates a power-disbalance

→ a comment to You call it privacy invasion, I don't from Flameeyes.

What you state is a strong version of the “I’ve got nothing to hide” argument. If you’re interested in a thorough debunking, there is a very good article in the chronicle about that: Why Privacy Matters even if you have nothing to hide.

Thank you for your Flattr’s! | Danke für eure Flattr! | Dankon por vian Flattrn!

It’s always a great feeling to see a flattr - Thank you for your support!
You can find new free works for you enjoyment on (infrequent and bursty) and (currently weekly but mostly in German).

ArneBab on Flattr

Es ist ein tolles Gefühl, geflattrd zu werden - Danke für eure Unterstützung!

Wahlprogramm der „Alternative für Deutschland“, kritisch gelesen

Ich habe inzwischen von mehreren Leuten gehört, diese Professoren von der AfD wären ja gebildet und hätten ein gutes Programm.

PDF (drucken)

Org (bearbeiten)

Um nicht nur meine Meinung zu schreiben, sondern sie auch zu belegen, habe ich das Programm nochmal Schritt für Schritt gegengelesen und kommentiert.

Ich bin nicht auf viel gestoßen, dem ich zustimmen kann (dafür auf einige Horrorstellen) - abgesehen von Punkten, die eh schon Gesetz sind.

Jetzt aber zum Programm.

Basic usecases for DVCS: Workflow Failures

If you came here searching for a way to set the username in Mercurial: just edit $HOME/.hgrc and add
    username = YOURNAME <EMAIL>
If that file does not exist, simply create it.

Update (2013-04-18): In #mercurial @ there were discussions yesterday for improving the help output if you do not have your username setup, yet.

1 Intro

I recently tried contributing to a new project again, and I was quite surprised which hurdles can be in your way, when you did not setup your environment, yet.

So I decided to put together a small test for the basic workflow: Cloning a project, doing and testing a change and pushing it back.

I did that for Git and Mercurial, because both break at different points.

I’ll express the basic usecase in Subversion:

  • svn checkout [project]
  • (hack, test, repeat)
  • (request commit rights)
  • svn commit -m "added X"

You can also replace the request for commit rights with creating a patch and sending it to a mailing list. But let’s take the easiest case of a new contributor who is directly welcomed into the project as trusted committer.


A slightly more advanced workflow adds testing in a clean tree. In Subversion it looks almost like the simple commit:


Programm der „Alternative für Deutschland“

Belege für die Aussagen hier habe ich im Artikel Wahlprogramm der „Alternative für Deutschland“, kritisch gelesen geschrieben.

Ich wollte heute einen Artikel zum Programm der „Anternative für Deutschland schreiben und habe es geschafft, nach 3 Stunden Schreiben und Recherche den Artikel zu löschen. Aber die Nachdenkseiten treffen die Kritik in meinem Artikel zum Glück mit noch mehr Hintergrund, so dass ich stattdessen jetzt einfach auf den Artikel der Nachdenkseiten verlinke:

Hintergrund zur AfD von den Nachdenkseiten:
Können Markt­radikale und Nationalchauvinisten eine „Alternative für Deutschland“ sein?
— mit Unterstützerliste (und Hintergrund zu den Unterstützern).

Babcore: Emacs Customizations everyone should have

1 Intro

PDF-version (for printing)

Package (to install)

orgmode-version (for editing)

repository (for forking)

project page (for fun ☺)

Emacs Lisp (to use)

I have been tweaking my emacs configuration for years, now, and I added quite some cruft. But while searching for the right way to work, I also found some gems which I direly miss in pristine emacs.

This file is about those gems.

Babcore is strongly related to Prelude. Actually it is exactly like prelude, just with the stuff I consider essential.

But before we start, there is one crucial piece of advice which everyone who uses Emacs should know:

C-g: abort

Hold control and hit g.

That gets you out of almost any situation. If anything goes wrong, just hit C-g repeatedly till the problem is gone - or you cooled off far enough to realize that a no-op is the best way to react.

To repeat: If anything goes wrong, just hit C-g.

wisp: Whitespace to Lisp

I love the syntax of Python, but crave the simplicity and power of Lisp.
display "Hello World!"      ↦    (display "Hello World!")
define : factorial n             (define (factorial n)            
    if : zero? n            ↦        (if (zero? n)                
       . n                              n                      
       * n : factorial {n - 1}          (* n (factorial {n - 1}))))
Update (2015-03-18): wisp v0.8.2 released with reader bugfixes, new examples and an updated draft for SRFI 119 (wisp). For more info, see the NEWS file.To test it, install Guile 2.0.x or 2.2.x and Python 3 and bootstrap wisp:
tar xf wisp-0.8.2.tar.gz ; cd wisp-0.8.2/;
./configure; make check;
guile -L . --language=wisp tests/factorial.w; echo
If it prints 120120 (two times 120, the factorial of 5), your wisp is fully operational.
That’s it - have fun with wisp syntax!
Update (2015-02-03): The wisp SRFI just got into draft state: SRFI-119 — on its way to an official Scheme Request For Implementation!
Update (2014-11-19): wisp v0.8.1 released with reader bugfixes. To test it, install Guile 2.0.x and Python 3 and bootstrap wisp:
tar xf wisp-0.8.1.tar.gz ; cd wisp-0.8.1/;
./configure; make check;
guile -L . --language=wisp tests/factorial.w; echo
If it prints 120120 (two times 120, the factorial of 5), your wisp is fully operational.
That’s it - have fun with wisp syntax!
Update (2014-11-06): wisp v0.8.0 released! The new parser now passes the testsuite and wisp files can be executed directly. For more details, see the NEWS file. To test it, install Guile 2.0.x and bootstrap wisp:
tar xf wisp-0.8.0.tar.gz ; cd wisp-0.8.0/;
./configure; make check;
guile -L . --language=wisp tests/factorial.w;
If it prints 120120 (two times 120, the factorial of 5), your wisp is fully operational.
That’s it - have fun with wisp syntax!
On a personal note: It’s mindboggling that I could get this far! This is actually a fully bootstrapped indentation sensitive programming language with all the power of Scheme underneath, and it’s a one-person when-my-wife-and-children-sleep sideproject. The extensibility of Guile is awesome!
Update (2014-10-17): wisp v0.6.6 has a new implementation of the parser which now uses the scheme read function. `wisp-scheme.w` parses directly to a scheme syntax-tree instead of a scheme file to be more suitable to an SRFI. For more details, see the NEWS file. To test it, install Guile 2.0.x and bootstrap wisp:
tar xf wisp-0.6.6.tar.gz; cd wisp-0.6.6;
./configure; make;
guile -L . --language=wisp
That’s it - have fun with wisp syntax at the REPL!
Caveat: It does not support the ' prefix yet (syntax point 4).
Update (2014-01-04): Resolved the name-clash together with Steve Purcell und Kris Jenkins: the javascript wisp-mode was renamed to wispjs-mode and wisp.el is called wisp-mode 0.1.5 again. It provides syntax highlighting for Emacs and minimal indentation support via tab. You can install it with `M-x package-install wisp-mode`
Update (2014-01-03): wisp-mode.el was renamed to wisp 0.1.4 to avoid a name clash with wisp-mode for the javascript-based wisp.
Update (2013-09-13): Wisp now has a REPL! Thanks go to GNU Guile and especially Mark Weaver, who guided me through the process (along with nalaginrut who answered my first clueless questions…).
To test the REPL, get the current code snapshot, unpack it, run ./, start guile with $ guile -L . (requires guile 2.x) and enter ,language wisp.
Example usage:
display "Hello World!\n"
then hit enter thrice.
Voilà, you have wisp at the REPL!
Caveeat: the wisp-parser is still experimental and contains known bugs. Use it for testing, but please do not rely on it for important stuff, yet.
Update (2013-09-10): wisp-guile.w can now parse itself! Bootstrapping: The magical feeling of seeing a language (dialect) grow up to live by itself: python3 wisp-guile.w > 1 && guile 1 wisp-guile.w > 2 && guile 2 wisp-guile.w > 3 && diff 2 3. Starting today, wisp is implemented in wisp.
Update (2013-08-08): Wisp 0.3.1 released (Changelog).

Wirtschaftsaufsicht für legale Prostitution

→ Antwort auf die Aussage „Es gäbe so viel Sinnvolleres anzuprangern als legale Prostitution“ von Antje Lang-Lendorff in der Taz.

Bei legaler Prostitution gibt es sehr wohl etwas anzuprangern: Dass im Zuge der Legalisierung nicht gleichzeitig eine effektive Wirtschaftsaufsicht eingeführt wurde.

Für jede Masseurin, Psychologin oder Gastwirtin gibt es hierzulande klare Gesetze, und ein Verstoß dagegen führt zur Schließung.

Wir haben Gesetze dafür, wie Salat in Dönerbuden aufbewahrt werden muss, und ein Verstoß dagegen wird direkt geahndet. Wir dürfen nichtmal ein Soya-Getränk auf der Verpackung als Milch bezeichnen.

Warum haben wir dann keine geprüften Vorgaben, die regeln, wie ein Bordell geführt werden muss, damit die Rechte aller Beteiligten gewahrt bleiben? Und die Auskunftspflichten definieren, die natürlich geprüft werden?

Was wir dafür brauchen ist einfach eine Definition, was gute Prostitution ist und wie sie funktionieren kann.

Spaß mit import from in Python

→ Antwort auf Is it in this case : (see : [01:16]1 — Julien-Claude Fagot, die eine Antwort war auf One more reason why you should not use “from bla import foo”: print __import__(obs.__class__.__module__).__file__ — ArneBab


def foo():
    print "bla"

Interaktiver Test:

\>>> import bla
\>>> def fu():
...   print "fu"
\>>> fu()
\>>> from bla import foo
\>>> foo()
\>>> = fu
\>>> foo()

Profifrage: Was passiert, wenn du from bla import foo nach = fu ausführst?

  1. dsop: if you use '', then yes, you can assign to and you'll see the change. If you do 'from bla import foo', then your locally imported 'foo' will not 'see' changes to 

Going from a simple Makefile to Autotools

Table of Contents



I recently started looking into Autotools, to make it easier to run my code on multiple platforms.

Naturally you can use cmake or scons or waf or ninja or tup, all of which are interesting in there own respect. But none of them has seen the amount of testing which went into autotools, and none of them have the amount of tweaks needed to support about every system under the sun. And I recently found pyconfigure which allows using autotools with python and offers detection of library features.

Namespaces in Emacs Lisp - ohne den Interpreter zu ändern

» Adding namespace support to emacs lisp in a macro with just 15 lines of code - it’s things like this which make lisp feel like the mother of all languages.«1

(defmacro namespace (prefix &rest sexps)
  (let* ((naive-dfs-map
          (lambda (fun tree)
            (mapcar (lambda (n) (if (listp n) (funcall naive-dfs-map fun n)
                                  (funcall fun n))) tree)))
         (to-rewrite (loop for sexp in sexps
                           when (member (car sexp)
                                        '(defvar defmacro defun))
                           collect (cadr sexp)))
         (fixed-sexps (funcall naive-dfs-map
                               (lambda (n) (if (member n to-rewrite)
                                                (format "%s-%s" prefix n)) n))
    `(progn ,@fixed-sexps)))
(provide 'namespace)
(require 'namespace)
(namespace foo
           (defun bar ()
           (defun foo (s)
(foo-foo (foo-bar))

Disclaimer: This code is not perfect. It will likely fail in unpredictable ways, and the number of not supported corner-cases is probably huge - and unknown. But (and that’s the relevant result) you can do this right. Rainer Joswig gives pointers for that on Stackoverflow: “What you actually need is a so-called code-walker”. Also he shows examples where the code breaks.

(Der Hauptteil dieses Codes stammt von vpit3833 und konr und ich darf ihn verwenden. Er funktioniert dank einer Korrektur von Stefan. Er ist nicht perfekt, aber da er mir v.a. dazu dienen soll, meine eigenen Codeschnipsel besser zu organisieren, sollte ich das verschmerzen können)

Der Code mag schwer lesbar sein, hat aber riesige Implikationen: Du als einfacher Endnutzer des Lisp-Interpreters kannst Namespace-Support hinzufügen, ohne dass die Hauptentwickler dafür irgendetwas machen müssen.

  1. Der Code stammt größtenteils aus einer Diskussion auf Stackoverflow

Tail Call Optimization (TCO), dependency, broken debug builds in C and C++ — and gcc 4.8

TCO: Reducing the algorithmic complexity of recursion.
Debug build: Add overhead to a program to trace errors.
Debug without TCO: Obliterate any possibility of fixing recursion bugs.

“Never develop with optimizations which the debug mode of the compiler of the future maintainer of your code does not use.”°

UPDATE: GCC 4.8 gives us -Og -foptimize-sibling-calls which generates nice-backtraces, and I had a few quite embarrassing errors in my C - thanks to AKF for the catch!

1 Intro

Tail Call Optimization (TCO) makes this

def foo(n):
    return foo(n+1)

behave like this

def foo(n):
    return n+1
n = 1 while True: n = foo(n)

Test of the hg evolve extension for easier upstreaming

1 Rationale

PDF-version (for printing)

orgmode-version (for editing)

repository (for forking)

Currently I rework my code extensively before I push it into upstream SVN. Some of that is inconvenient and it would be nicer to have easy to use refactoring tools.

hg evolve might offer that.

This test uses the mutable-hg extension in revision c70a1091e0d8 (24 changesets after 2.1.0). It will likely be obsolete, soon, since mutable-hg is currently moved into Mercurial core by Pierre-Yves David, its main developer. I hope it will be useful for you, to assess the future possibilities of Mercurial today. This is not (only) a pun on “obsolete”, the functionality at the core of evolve which allows safe, collaborative history rewriting ☺

Steno: Eindeutig rekonstruierbare Piktogramme

Steno1 strukturiert den Prozess der Vereinfachung der Schrift, so dass sichergestellt ist, dass die für des Verständnis des Inhaltes notwendigen Teile der Schrift erhalten bleiben.

Mir ermöglicht es gleichzeitig entspanntes, schönes und schnelles2 Schreiben, das ich mein ganzes Leben lang verbessern kann.

Beispiel:   Steno Stufe 23
             „Wir danken dem Käufer des Essens“

In der Schule hatte ich immer Probleme mit der Schönschreibung. Die Schrift war für mich ein Werkzeug, um Informationen festzuhalten. Ich habe daher nicht eingesehen, warum ich Zeit darauf verwenden sollte, meine Buchstaben besonders rund, glatt oder verschnörkelt zu machen. Schließlich waren selbst grausig verstümmelte Buchstaben noch lesbar.

Beim Versuch den Aufwand beim Schreiben zu reduzieren habe ich meine Schrift verkleinert und die Formen der Buchstaben und Wörter reduziert (zum Beispiel wurde die Nachsilbe -ung einfach zu einem angehängten -g, erkennbar durch die Schleife unten).

Ein großer Teil der Schrift war für mich einfach nur Ballast.

  1. Steno steht für Stenografie (Kurzschrift) und ist nicht zu verwechseln mit Stego: Steganografie (der Kunst, Informationen in anderen Informationen zu verstecken). 

  2. Um meine eigene Geschwindigkeit zu testen, habe ich Testtexte mit im Deutschen häufigen Wörtern getippt und in Steno geschrieben. Beim Tippen komme ich auf 423 Zeichen pro Minute. Beim entspannten Schreiben in Steno auf 250 bis 3004. Allerdings verbrauche ich bei Steno immernoch viel Zeit mit Denken (vor jedem Wort), weil die Umsetzung von Wort in Druckschrift in ein Steno-Kürzel bei mir noch nicht komplett automatisch läuft. Und Steno fühlt sich deutlich entspannter und natürlicher an als Tippen. 

  3. Das Bild ist mit Inkscape erstellt. Dank Glättung der Pfade sieht man nicht so deutlich, dass ich die Zeichen mit der Maus gemahlt habe… ☺ 

  4. 250 Zeichen pro Minute sind etwa 100 Silben pro Minute. Professionelle Stenografen müssen mindestens 360 Silben pro Minute schreiben können, ich hätte also noch einiges an Weg vor mir, wenn ich mit Steno Geld verdienen wollte ☺ 

Frauenfeindlichkeit auf Hacker-Treffen

Ich lese gerade zum zweiten oder dritten Mal dieses Jahr von einer Frau, die sehr engagiert in die Hacker-Gemeinschaft eingestiegen ist und rausgedrängt und angegriffen wurde, ohne Hilfe zu bekommen.

Update: Asher Wolfs Seite wurde gehackt. Der Text ist auf pastebin gespiegelt. Ich habe ihn in freenet hochgeladen: asher-hacker-community-talk.txt.

The dynamics of free culture and the danger of noncommercial clauses

NC covered works trick people into investing in a dead end

Free licensing lowers the barrier of entry to creating cultural works, which unlocks a dynamic where people can realize their ideas much easier - and where culture can actually live, creating memes, adjusting them to new situations and using new approaches with old topics.

But for that to really take off, people have to be able to make a living from their creations - which build on other works.

Motivation and Reward

Debunking the myth that you can increase the performance of creative workers with carrot and stick.

Update: I sent this text to the gnu maintainers, and after the original article had been offline for several years, they now managed to convince Alfie Kohn to allow them to distribute the article again. So Studies Find Reward Often No Motivator is finally online again! →
My text might not have been included on the GNU websites, but it fullfilled its purpose - though in a different way than I had expected.

Update: I got the feedback that some messages in this article are still unclear. It should not implicate, that “in order to increase motivation in the free software world people need to be offered a high income and a long term contract”. Paying a good income in a long term contract is a way to avoid the harmful effect payment can have on performance while enabling someone to work full-time on the project. An empirical study found, that the source and intensity of motivation of free software developers does not differ significantly between people who work for hire and people who work without payment, so many companies employing free software developers seem to do it right (or only the companies who do it right can keep their free software programmers).1

A few months ago, the GNU project had to withdraw its article on motivation and monetary reward, because its author did not allow them to spread it anymore. So I recreated its core - with references to solid research.

Executive Summary

For creative tasks, the quality of performance strongly correllates with intrinsic motivation: Being interested in the task itself.

This article will only talk about that.

The main factors which are commonly associated with intrinsic motivation are:

  • Positive verbal feedback which increases intrinsic motivation.
  • Payment independent of performance which actually has no effect.
  • Payment dependent on performance which reduces the motivation on the long term.
  • Negative verbal feedback which directly reduces intrinsic motivation.
  • Threatening someone with punishment which strongly reduces intrinsic motivation.

To make it short: Anything which diverts the focus from the task at hand towards some external matter (either positive or negative) reduces the intrinsic motivation and that in turn reduces work performance.

If you want to help people perform well, make sure that they don’t have to worry about other stuff besides their work and give them positive verbal feedback about the work they do.

Note: In the paper »Why Hackers Do What They Do: Understanding Motivation and Effort in Free/Open Source Software Projects« from 2005, Karim R. Lakhani and Robert G Wolf showed empirically that the payment people get to work in free software projects has no detrimental effect on their intrinsic motivation. In their sample 40% of the developers were paid for their work on free software projects and their intrinsic motivation was as high as the motivation of unpaid developers.

  1. We find […], that enjoyment-based intrinsic motivation, namely how creative a person feels when working on the project, is the strongest and most pervasive driver. The source and intensity of motivation of free software developers does not differ significantly between people who work for hire and people who work without payment. From Why Hackers Do What They Do: Understanding Motivation and Effort in Free/Open Source Software Projects by Karim R. Lakhani* and Robert G Wolf** from the * MIT Sloan School of Management | The Boston Consulting Group and ** The Boston Consulting Group. 

Monitor bringt typischen Tauschbörsen-FUD: Fordere Richtigstellung

→ Offener Brief an die Redaktion von Monitor (Kontakt).

Sehr geehrtes Monitor-Team,

In der Urheberrechts-Sendung vom 26.04.2012 stellten Sie einige seltsame Aussagen auf:

„Wenn das geschieht wird das gesamte Musikalische Programm aus Tauschbörsen frei erhältlich sein“

Das ist doch schon seit Jahren so…

„und das wird dazu führen, dass nur noch sehr wenige Konsumenten aus legalen Quellen diese Musik erwerben“

Realitäts-Check: Die Musikverlage verdienen mehr Geld denn je.

Freie Software kann Geld bringen

→ Kommentar zum Artikel Open Source ist tot von Stefan Wienströer, in dem er sich über anmaßende Benutzer beklagt, die von ihm gratis Telefonsupport fordern….

Hi Stefan,

Lass dich bitte von so ein paar Idioten nicht unterkriegen. Wenn ich ein Programm geschrieben hätte, das so viele Leute toll finden, dass sogar Leute dabei sind, die Telefonsupport wollen, würde ich einfach antworten: „Du willst Telefonsupport? Kein Ding: 20€ die Stunde, dann machen wir das.

Amokläufer sind UNAUFFÄLLIG - die Ultimative Theorie des Spiegels

Der Spiegel hat heute die ultimative Theorie aufgestellt, wie man Amokläufer erkennt.[^link] Was alle Amokläufer vereint:


An Bildung sparen…wo wagen sie es nicht, zu sparen?

Die Grünen in BW wollen über 10 000 Lehrerstellen streichen. Nadine Michel aus der Taz nennt das richtigerweise einen Verrat am Bürger und an ihren Wahlversprechen. Aber es gibt eine ganz essenzielle Frage, die sie nicht stellt:

An welchen Stellen wagen sie es nicht, zu sparen?
Oder mehr Geld reinzuholen?

Das sind die Fragen, die jetzt wirklich wichtig wären!

Denn wer an Bildung spart, will damit in erster Linie vermeiden, woanders zu sparen - oder wo anders Geld zu holen.

SPD: Das Kernthema zurückgewinnen - oder untergehen

Die SPD hatte mal ein Kernthema: Soziale Gerechtigkeit. Oft als Kampf von unten gegen oben. Dann haben sie es mit Hartz 4 verraten. Und für den stichhaltigen Teil des Themas ist die Linke entstanden.

Bringt halt nichts, wenn man argumentiert, dass gut laufende Wirtschaft wichtig für Beschäftigte ist, wenn die Beschäftigten sehen, dass es ihren Firmen immer besser geht, sie aber immer weniger Lohn kriegen und immer weniger Beschäftigungssicherheit haben.

Umgekehrter Brückenzoll: Die Verlage laden Google ein — und fordern Geld dafür

Update (2014-10-01): Und jetzt machen die das: »Pressemitteilung der VG Media: "Google erpresst Rechteinhaber."«
Sie fordern den Umgekehrten Brückenzoll. Und natürlich kein Wort dazu, dass es auch Rechteinhaber gibt, die ein Leistungsschutzrecht gar nicht wollen, weil sie dessen idiotie erkennen.

Neither Humble nor Indie Bundle

Comment to New Humble Bundle Is Windows Only, DRM Games.

The new Humble Indie Bundle is no longer free, indie, cross-plattform or user-respecting.

How to make companies act ethically

→ comment on Slashdot concerning Unexpected methods to promote freedom?

Was it really Apple who ended DRM? Would they have done so without the protests and evangelizing against DRM? Without protesters in front of Apple Stores? And without the many people telling their friends to just not accept DRM?

That “preaching” created a situation where Apple could reap monetary gain from doing the right thing.

Taz verdreht 25.000 Protestunterschriften zu einem Misserfolg Googles

Die Taz nennt es einen Misserfolg Googles, dass an einem Tag 25.000 Leute gegen das Leistungsschutzrecht unterschrieben haben, weil kaum jemand zum Telefon gegriffen hat.

Ich habe ihnen daher das folgende geschrieben:

Wieso hätte ich anrufen sollen? Ich habe mich in die Petition eingetragen und darüber gebloggt.

Ich vermute, so haben es viele andere auch gemacht.

Und Googles Seite war auch so strukturiert, dass das Verhalten gefördert wird: Petition, dann optional noch die Möglichkeit anzurufen. Von „auf den Bundestag hetzen“ kann also keine Rede sein.

Google+ vs. Leistungsschutzrecht

→ Google hat eine Petition gegen das Leistungsschutzrecht gestartet - auf der Startseite und einer eigenen Kampagnenseite (die Taz berichtete - auch von 30min Besprechungszeit im Bundestag…). Ich habe unterschrieben - mit dem folgenden Kommentar:

Zukunft der Zeitung

Die Taz hat einen Artikel geschrieben, der bis auf das moralisieren am Ende echt schön war: Dieses Internet, das ist keine ungebändigte Bestie und keine Naturgewalt. Trotzdem soll es Schuld haben – an allem. — Untertitel: Nazi-Horror-Porno :)

An dem moralisierenden Ende des Artikels geht dessen Autorin Meike Laaff aber wieder den üblichen Irrweg:

„Haben Sie noch nie bei Amazon gekauft?“

Das ist die falsche Frage!

Genital-Verstümmelung ist der Fortpflanzung nicht dienlich, sondern hemmt sie

→ Kommentar zu einem Kommentar zu Religion vs. Kinderrechte in der Taz.

Nana behauptete, säkular aufgewachsene würden sich nicht vermehren und Verstümmelung würde der Fortpflanzung nutzen.

@Nana: Ich habe zwei Kinder und meine Frau will unserer Tochter Ohrlöcher stechen - in Spanischer Tradition.

Wir haben abgemacht, dass wir das machen, sobald sich die Kleine selbst dafür entscheiden kann (und das tut).

Inhalt abgleichen