Licht, Light, Lumo

De-Orchestrating Freenet with the QUEEN program

So Poul-Henning Kamp thought this just a thought experiment …

In Fosdem2014 Poul-Henning Kamp talked about a hypothetical “Project ORCHESTRA” by the NSA with the goal of disrupting internet security: Information, Slides, Video (with some gems not in the slides).

One of the ideas he mentioned was the QUEEN program: Psy-Ops for Nerds.

I’ve been a contributor to the Freenet Project for several years. And in that time, I experienced quite a few of these hypothetical tactics first-hand.

“If you like what I do, why don’t you help me?”

Almost every free software developer made the experience that many people like his or her work, but very few actually provide help. If you experience this, don’t let it disheart you. Verbal support without practical help sounds inconsistent at first, but it actually is the result of limited time.

Most people who have the skills to help are already committed to other projects, so they cannot help you on yours. They can encourage you from the sidelines (“This is cool!

Huge datafiles in free culture projects under GPL

4 ways how large raw artwork files are treated in free culture projects to provide the editable source.1

In the discussion about license compatibility of the creativecommons sharealike license towards the GPL, Anthony asked how the source-requirement is solved for artwork which often has huge raw files. These are the 4 basic ways I described in my answer.

  1. The die was created by Trudy Wenzel (2013) and is licensed under GPLv3 or later. 

Turing-Test bestanden

Update 2016: Ich habe noch einmal das Originalpapier zum Turingtest (in Mind 1950) gelesen und gesehen, dass die Definition des Tests härter ist als der hier bestandene: Eigentlich müssen der Computer und ein Mensch (identifiziert als "ein Mann A und eine Frau B") beide im gleichen Raum sein, also aufeinander eingehen und gleichzeitig schreiben können, und der Prüfer C muss sie auch zu dem jeweils anderen befragen können (der Mensch könnte z.B.

Der Piratige Beißreflex

Dass Leute skeptisch sind, ist nach der ganzen Werbung für Impfstoffe gegen Gib-mir-Tiernamen-Grippen logisch. — @ArneBab Und nach dem ganzen 'Impfen verursacht Autismus' Bullshit

Ich sehe in den letzten Jahren immer häufiger einen Kommunikationsstil, bei dem Leute auf bestimmte Trigger sofort mit Aggressionen reagieren. Da dieser Stil mir vor allem bei Piraten begegnet ist, nenne ich ihn den „Piratigen Beißreflex“.1

  1. Natürlich tritt dieser Stil nicht nur bei Piraten auf. Es gibt auch den CDU-Beißreflex „Das ist Populismus!“, den Republikaner-Beißreflex „Mutierte Techno-Kommunisten-Nazis!“2, den Veganer-Beißreflex „Fleisch ist Mord!“, den Christen-Beißreflex „Das ist Gotteslästerung!“ und den Gegen-Kirche-Beißreflex „Da kommt Gott vor!“. Letzteren bemerke ich dann und wann an mir selbst. Der Piraten-Beißreflex ist allerdings der, der mir am häufigsten über den Weg läuft. Vielleicht weil ich selbst den Piraten zugeneigt bin und deswegen mehr Piraten sehe als CDUler. 

  2. OK, das mutiert habe ich erfunden geklaut. Aber ich wurde wirklich schon als Techno-Kommunisten-Nazi beschimpft, weil ich für freie Software bin. Es hat zwei schmunzelnde Antworten meinerseits gebraucht bis ich realisiert habe, dass das keine Ironie war. 

shell basics (bash)

These are the notes to a short tutorial I gave to my working group as part of our groundwork group meetings. Some parts here require GNU Bash.

1 Outline

1.1 Outline

  • user-output: echo
  • pipes: |, xargs, - (often stdin)
  • text-processing: cat/tac, sed, grep, cut, head/tail
  • variables (foo=1; echo ${foo})
  • subshell: $(command)
  • loops (for; do; done) (while; do; done)
  • conditionals (if; then; fi)
  • scripts: shebang
  • return values: $?
  • script-arguments: $1, $#, $@ and getopt
  • command chaining: ;, &, && and ||
  • functions and function-arguments
  • math: $((1+2))
  • help: man and info

AfD oder - Erkennst du die Parolen? — Zum Drucken und Dazukleben! nimmt der AfD die Maske ab und enthüllt ihre hässliche Fratze dahinter. Hilf mit, die Seite zu verbreiten!

AfD oder NPD? Plakatiert!

Wenn ihr die letzten 2 Tage vor der Wahl noch nutzen wollt, um Europa zu verbessern, dann werft einfach euren Drucker an und druckt ein paar Kopien von AfD oder NPD? Erkennst du die Parolen?. Dann noch etwas Tesafilm und deren dummdreiste Parolen zerbröseln im Nu!

AfD oder Zum Drucken!
(für das druckfertige PDF Bild oder Link anklicken, vielleicht Rechtsklick und „Speichern unter“)

Wenn ihr das hier seht und toll findet, dann gebt diese Seite bitte in allen Netzen und an alle Leute weiter, die es auch toll finden könnten.

Und dann druckt es und klebt es zu AfD-Plakaten!

The assisted brain and the chained brain

PDF (to print)

Org (to change)

Who serves whom? Our tools can be our allies or our masters. Do your tools assist or chain?

The exhaustive guide to German Streets

This is no absolute truth.

complex number compiler and libc bugs (cexp+conj) on OSX and with the intel compiler (icc)

Today a bug in complex number handling surfaced in guile which only appeared on OSX.

This is a short note just to make sure that the bug is reported somewhere.

Test-code (written mostly by Mark Weaver who also analyzed the bug - I only ran the code on a few platforms I happened to have access to):

Schick mir eine verschlüsselte E-Mail

Eine verschlüsselte E-Mail zu schicken ist einfach. Hier will ich dir in 3 Schritten zeigen, wie du mich erreichen kannst. Ich zeige die Schritte für eine Reihe verschiedener Programme, sowohl für Windows als auch für OSX und GNU/Linux.

Das Programm dafür ist GnuPG: Frei lizensiert und der langjährige Standard für sichere Verschlüsselung von E-Mails.

keep auto-complete from competing with org-mode structure-templates

For a long time it bothered me that auto-complete made it necessary for me to abort completion before being able to use org-mode templates.

I typed <s and auto-complete showed stuff like <string, forcing me to hit C-g before I could use TAB to complete the template with org-mode.

I fixed this for me by adding all the org-mode structure templates as stop-words:

;; avoid competing with org-mode templates.
(add-hook 'org-mode-hook
          (lambda ()
            (make-local-variable 'ac-stop-words)
            (loop for template in org-structure-template-alist do
                  (add-to-list 'ac-stop-words 
                               (concat "<" (car template))))))

Notizen zur Podiums-Diskussion mit Dorothea Wagner (DFG), Horst Hippler (HRK), Detlef Löhe (KIT) und Wilfried Porth (Daimler) auf dem YIN-Day 2013

PDF-version (zum Drucken)

Auf dem YIN-Day 2013 haben sich am 12.10.2013 die verschiedenen Nachwuchsforschergruppen des KIT vorgestellt. Zusätzlich gab es einige Vorträge, die von einer Podiums-Diskussion abgeschlossen wurden.

Diese Diskussion hat mir viel Hoffnung auf die Zukunft der Forschung in Deutschland gemacht, daher möchte ich meine Notizen dazu weitergeben.

Moderiert wurde die Diskussion von Heike Mund, die eine schöne Mischung aus provokanten Fragen und guten Vorlagen beigetragen hat - zu der ich allerdings außer auf Xing keine Informations-Seite gefunden habe.

Org-mode with Parallel Babel

Update 2017: a block with sem -j ... seems to block in recent versions of Emacs until all subtasks are done. It would be great if someone could figure out why (though it likely is the right thing to do). To circumvent that, you can daemonize the job in sem, but that might have unwanted side-effects: sem "[job] &"

Babel in Org

Emacs Org-mode provides the wonderful babel-capability: Including code-blocks in any language directly in org-mode documents in plain text.

In default usage, running such code freezes my emacs until the code is finished, though.

Up to a few weeks ago, I solved this with a custom function, which spawns a new emacs as script runner for the specific code:

; Execute babel source blocks asynchronously by just opening a new emacs.
(defun bab/org-babel-execute-src-block-new-emacs ()
  "Execute the current source block in a separate emacs,
so we do not block the current emacs."
  (let ((line (line-number-at-pos))
        (file (buffer-file-name)))
    (async-shell-command (concat 
                          "TERM=vt200 emacs -nw --find-file " 
                          " --eval '(goto-line "
                          (number-to-string line) 
                          ")' --eval "
     "'(let ((org-confirm-babel-evaluate nil))(org-babel-execute-src-block t))' "
                          "--eval '(kill-emacs 0)'"))))

and its companion for exporting to beamer-latex presentation pdf:

; Export as pdf asynchronously by just opening a new emacs.
(defun bab/org-beamer-export-new-emacs ()
  "Export the current file in a separate emacs,
so we do not block the current emacs."
  (let ((line (line-number-at-pos))
        (file (buffer-file-name)))
    (async-shell-command (concat 
                          "TERM=vt200 emacs -nw --find-file " 
                          " --eval '(goto-line " 
                          (number-to-string line) 
                          ")' --eval "
     "'(let ((org-confirm-babel-evaluate nil))(org-beamer-export-to-pdf))' "
                          "--eval '(kill-emacs 0)'"))))

But for shell-scripts there’s a much simpler alternative:

Praktische Erfahrungen mit einem Internet ohne Netzneutralität

Den folgenden Text habe ich dem EU-Abgeordneten Jürgen Creutzmann geschrieben, um ihm zu erklären welche Probleme ein Internet ohne Netzneutralität erzeugt. Ich habe dafür auf meine persönliche Erfahrung des letzten halben Jahres zurückgegriffen, in dem ich ungewollt den Rechner meiner Frau komplett blockiert hatte - durch Priorisierung eines kleinen Dienstes, der eigentlich kaum Leistung brauchte.

Sehr geehrter Herr Creutzmann,

Es tut mir Leid, dass ich Sie so spät abends noch störe. Ich hatte versucht, Sie telefonisch zu erreichen, musste aber vorher die Kinder ins Bett bringen - und brauchte einige Zeit, um diese E-Mail zu formulieren.

Ich schreibe ihnen, weil sie morgen an einer Abstimmung zu Netzneutralität teilnehmen und damit darüber entscheiden, wie das Internet hierzulande in Zukunft aussehen wird.

Die Telekommunikationsfirmen erzählen etwas von speziellen Diensten, die sie durch Ausnahmen von der Netzneutralität besonders gut anbieten können. Wie das Internet dann aussehen wird habe ich die letzten Monate ungewollt selbst erlebt:

Ich kann in unserem Heimnetz Dienstepriorisierung einstellen - also genau das, was Provider im gesamten Netz wollen. Ich hatte das genutzt, um sicherzustellen, dass ein bestimmter Dienst immer schnell verfügbar ist. Der Dienst hat nicht viel Bandbreite gebraucht, war aber priorisiert.

Die letzten Monate hat mir meine Frau immer wieder gesagt, dass ihr Rechner nicht mehr über WLAN ins Netz kommt, und unser Skype hatte völlig zerhackten Ton - was so weit ging, dass wir Skype nur noch für das Bild nutzten und nebenher telefonierten. Ich habe lange Zeit keinen Grund dafür gefunden.

Gerade letzte Woche habe ich mich dann daran erinnert, dass das alles angefangen hat, nachdem ich mit der Priorisierung experimentiert hatte. Ich war nie auf den Gedanken gekommen, das zu testen, denn was sollte WLAN mit Priorisierung des Netzes zu tun haben? Aber trotzdem habe ich versuchsweise auch den Rechner meiner Frau als priorisiert gesetzt. Und das WLAN funktionierte wieder. Als nächstes habe ich Skype auf priorisiert gesetzt, und es funktionierte wieder.

Das ganze passierte mit einem kleinen Dienst, der wenig Leistung braucht. Es war keine Filmplattform und keine Telefonie, sondern eine sehr einfache Anwendung, für die selbst die Geschwindigkeit eines 10 Jahre alten Modems genügen würde.

Recursion wins!

I recently read the little schemer and that got me thinking about recursion and loops.

After starting my programming life with Python, I normally use for-loops to solve problems. But actually they are an inferior mechanism when compared to recursion, if the language provides proper syntactic support for that. Since that claim pretty much damns Python on a theoretical level (even though it is still a very good tool in practice and I still love it!), I want to share a simplified version of the code which made me realize this.

Tutorial: Writing scientific papers for ACPD using emacs org-mode

PDF-version (for printing)

orgmode-version (for editing)

Emacs Org mode is an excellent tool for reproducible research,1 but research is only relevant if people learn about it.2 To reach people with scientific work, you need to publish your results in a Journal, so I show here how to publish in ACPD with Emacs Org mode.3

The translation of NSA is Stasi

Just to give you a short note, if you have been surprised by the NSA acting like the Stasi in former DDR (German Democratic Republic).

Here’s the translation of NSA:

  • N: National = Staatlich
  • S: Security = Sicherheit
  • A: Agency = Ministerium

Let’s put that together:

NSA = Staatliches Sicherheitsministerium
(in more regular German: Ministerium für Staatssicherheit)

Well, that’s long. Shorten it to Staatssicherheit. Still to long for casual discussions. So shorten it once more: Stasi.

NSA = Stasi

Do you still wonder why the NSA acts like the Stasi?

git vs. hg - offensive

In many discussions on DVCS over the years I have been fair, friendly and technical while receiving vitriol and misinformation and FUD. This strip visualizes the impression which stuck to my mind when speaking with casual git-users.

Update: I found a very calm discussion at a place where I did not expect it: reddit. I’m sorry to you, guys. Thank you for proving that a constructive discussion is possible from both sides! I hope that you are not among the ones offended by this strip.

To Hg-users: There are git users who really understand what they are doing and who stick to arguments and friendly competition. This comic arose from the many frustrating experiences with the many other git users. Please don’t let this strip trick you into going down to non-constructive arguments. Let’s stay friendly. I already feel slightly bad about this short move into competition-like visualization for a topic where I much prefer friendly, constructive discussions. But it sucks to see contributors stumble over git, so I think it was time for this.

»I also think that git isn’t the most beginner-friendly program. That’s why I’m using only its elementary features«

git vs. hg - offensive

To put the strip in words, let’s complete the quote:

»I also think that git isn’t the most beginner-friendly program.
That’s why I’m using only its elementary features«
<ArneBab> I hear that from many git-users…
»oh, maybe I should have another look at hg after all«

Why this?

Because there are far too many Git-Users who only dare using the most basic commands which makes git at best useless and at worst harmful.

This is not the fault of the users. It is the fault of the tool.

This strip is horrible!

If you are offended by this strip: You knew the title when you came here, right?

And if you are offended enough, that you want to make your own strip and set things right, go grab the source-file, fire up krita and go for it! This strip is free.1


If you feel that this strip fits Mercurial and Git perfectly, keep in mind, that this is only one aspect of the situation, and that using Git is still much better than being forced to use centralized or proprietary version tracking (and people who survive the initial phase mostly unscarred can actually do the same with Git as they could with Mercurial).

  1. All the graphics in this strip are available under free licenses: creative-commons attribution or GPLv3 or later — you decide which of those you use. If it is cc attribution, call me Arne Babenhauserheide and link to this article. You’ll find all the sources as well as some preliminary works and SVGs in git-vs-hg-offensive.tar_.gz or (whichever you prefer)

    cc by GPLv3

Factual Errors in “Git vs Mercurial: Why Git?” -- and corrections shown by example

Update 2016: Instead of fixing the article, the Atlassian web workers removed the comments which point out the misinformation in the article. *sigh*


In the Atlassian Blog, a Git proponent spread blatant misinformation which the Atlassian folks are leaving uncommented even though the falseness has been shown by multiple people and even in examples in the article itself.

The claims and corrections:

  • Claim: Git never loses unreferenced data. Mercurial needs special handling to retrieve unreferenced data. Reality: Due to automatic garbage collection, history editing in git unpredictably loses unreferenced history while Mercurial stores permanent backups which can be retrieved with core commands.
  • Claim: Only git branches are namespaced. Reality: Mercurial bookmarks are namespaced with bookmark@path, when there could be confusion. This is equivalent to git’s use of path/branch, but only used where it is needed, while git forces the user to always make that distinction.
  • Claim: Only git can provide a staging area. Reality: Activating mercurial queues (mq) and the record extension provides a staging area like the git index — for those who want it.
  • Claim: Git is more powerful. Reality: Both have the same raw power (as proven by transparent access with Mercurial to Git repos via hg-git), but
  • its “cuddly command line” gives Mercurial an efficiency during actual usage which most people do not find in Git.

2 years ago, Atlassian developer Charles O’Farrell published the article Git vs. Mercurial: Why Git? in which he claimed to show "the winning side of Git”. This article was part of the Dev Tools series at Atlassian and written as a reply to the article Why Mercurial?. It was spiced with so much misinformation about Mercurial (statements which were factually wrong) that the comments exploded right away. But the article was never corrected. Just now I was referred to the text again, and I decided to do what I should have done 2 years ago: Write an answer which debunks the myths.

“I also think that git isn’t the most beginner-friendly program. That’s why I’m only using its elementary features” — “I hear that from many git-users …” — part of the discussion which got me to write this article

Der Sicherheitstest des BSI: Wie man ein Botnetz findet

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat letztens einen Sicherheitstest vorgestellt, mit dem Leute prüfen können, ob ihre E-Mail-Adressen von dem Identitätsdiebstahl eines Botnetzes betroffen sind. Nehmen wir nun mal an, es gibt Leute beim BSI, die wissen, was sie tun…

Vorraussetzungen: Das BSI hat eine Liste von E-Mail-Adressen von Leuten, deren Rechner Teil des Botnetzes sind. Das Botnetz selbst ist schwer zu finden, aber irgendwie ist die Liste rausgeleaked.

Wicked Words! on Patreon

John Wick is entering the patreon arena with the Wicked Words! Magazine: Adventures, GM Advice, Little Games, Stories, The Works!

There’s an update with a Happy ending on!


This is really good news for online publishing, because it shows by example how roleplaying games and shortstories enter a new stage on the web: Fan-Funded periodicals.

Write multiple images on a single page in org-mode.

How to add show multiple images on one page in the latex-export of emacs org-mode. I had this problem. This is my current solution.

Ist das Internet kaputt? Ist die Politik kaputt? Strukturelle Probleme unserer Demokratie

Sascha Lobo, von der FAZ als Sprachrohr der Netzgemeinde bezeichnet (wer hat den gewählt?), beklagte sich letztes Wochenende in einem ganzseitigen Beitrag im Feuilleton der FAZ darüber dass das Internet kaputt sei - und gar nicht das, für das er es gehalten habe.

Thomas Stadler hält heute in seinem Blog Internet-Law dagegen, dass die Geheimdienste und unsere Politik kaputt sind.

Doch beide greifen zu kurz - sowohl Sascha Lobo mit seiner Verletzung durch das Internet, als auch Thomas Stadler mit seiner Kritik an der Netzpolitik der Regierenden.

Unsere Demokratie ist beschädigt, aber die Ursachen sind nicht in unseren Gesetzen zum Internet zu suchen.1 Vielmehr kann eine Demokratie nicht aufrechterhalten werden, wenn die Vermögens- und Einkommens-Ungleichheit zwischen Menschen so groß ist wie hierzulande (und noch vielmehr in den USA)2, auch wenn die Internetgesetze dazu beitragen, diese Ungleichheit noch weiter zu verschärfen.

  1. Natürlich ist die Rechtsprechung zum Internet Mist. Jegliche Gesetze, die 30% der Bevölkerung zu Schwerkriminellen machen, obwohl deren Handlungen erwiesenermaßen niemandem schaden, haben schön längst den Bereich der Legitimität verlassen. Aber die Gesetze sind nicht die Ursache der Probleme, und nur die Gesetze zu ändern, wird die Probleme nicht lösen, sondern höchstens etwas verschieben. 

  2. Zu große Vermögensungleichheit zerstört jede Demokratie: Wer die Informationskanäle der Menschen kontrolliert, kontrolliert auch ihre Wahlentscheidung. 

Unicode char \u8:χ not set up for use with LaTeX: Solution (made easy with Emacs)

For years I regularly stumbled over LaTeX-Errors in the form of Unicode char \u8:χ not set up for use with LaTeX. I always took the chickens path and replaced the unicode characters with the tex-escapes in the file. That was easy, but it made my files needlessly unreadable. Today I decided to FIX the problem once and for all. And it worked. Easily.

Firstoff: The problem I’m facing is that my keyboard layout makes it effortless for me to input characters like ℂ Σ and χ. But LaTeX cannot cope with them out-of-the-box.

Singen im Advent - ohne die Mehrheitsreligion zu zementieren!

1→ Kommentar zu Singen im Advent, dem Liederbuch mit gemeinfreien Lieden für Weihnachten und die Adventszeit von dem Verein Musikpiraten e.V..

Ich habe gerade versucht, das Liederbuch zu nutzen, um Lieder zum Spielen zu finden, war aber sehr erschrocken, dass es nur 4 Lieder gab, die für nicht-Christen tauglich sind.

  1. Das Bild Serenity stammt von WTacticts und ist unter GPL lizensiert. Detailierte Lizenzinfos (wie WTactics sie liefert) stehen in der Datei. 

Reproduzierbare Veröffentlichungen

Für verlässliche Wissenschaft sind reproduzierbare Veröffentlichungen essenziell - aber oft sind sie nicht gegeben12. Dieser 5-Minuten-Vortrag motiviert, wieso Reproduzierbarkeit so wichtig ist, und zeigt eine Lösung zum wirklich reproduzierbaren Veröffentlichen - die er auch selbst nutzt. Ich habe ihn in einem Seminar zum wissenschaftlichen Präsentieren gehalten.

Reproduzierbare Veröffentlichungen

PDF-version (for printing)

Release (to download)

orgmode-version (for editing)

repository (for forking)

Falscher Anreiz

  • Die Versuchung
    • „Haben Sie einmal ein Paper mit per Skript erstellten Grafiken veröffentlicht?“
    • „Haben Sie Skripte und Daten veröffentlicht?“
    • „Warum erfinden Sie die Daten nicht? Das wäre weniger Arbeit…“

    „Niemals! Das verbietet die wissenschaftliche Integrität!“

  • Doch es passiert - leider
    • Einstieg: „passte ich den Untersuchungsentwurf an“.
    • Dietrich Stapel: „Es war grau und es war üblich“.
    • Sturz: „erfindet die Daten“.
    • „Forscher gratulieren“.
    • „Drei [seiner] Doktoranden sind Ungereimtheiten […] aufgefallen“.

    [Quarks & Co., 2013-06-04]

  1. Gerade haben Biologen gezeigt3, dass die Verfügbarkeit der Rohdaten von alten Veröffentlichungen jedes Jahr um 17% fällt. Das heißt, schon nach 4 Jahren gibt es für die Hälfte der Veröffentlichungen keine Daten mehr. Die hier gezeigte Methode macht es sehr einfach sicherzustellen, dass alle für die Veröffentlichung notwendigen Daten mitveröffentlicht werden - und erzeugt automatisch eine Archivdatei dafür. 

  2. Leider ist die durch die politisch gesetzten Rahmenbedingungen erzwungene Konkurrenzsituation für reproduzierbare Veröffentlichungen hinderlich, denn wer seine Daten und Skripte veröffentlicht - eigentlich alle Programme, die er oder sie nutzte - verspielt die Möglichkeit, sich ein Monopol auf die Daten aufzubauen, das die nächsten Veröffentlichungen sichern könnte. Sobald die Daten draußen sind, können andere damit arbeiten - und nur die schnellsten können veröffentlichen (ja, das System ist dumm…). Zusätzlich stehen sauberer Veröffentlichung oft „IP“-Regeln entgegen - also der Wunsch der Uni, ihre Ergebnisse zu monopolisieren. Zum Glück gibt es mit Open Access inzwischen eine Bewegung gegen solche schädlichen Regelungen - aber der Kampf wird wohl noch lange andauern. Immerhin stehen hier Misstrauen, Gier und leider berechtigte Sorgen um die eigene Zukunft gegen wissenschaftliche Integrität. 

  3. The Availability of Research Data Declines Rapidly with Article Age - Zeitungsartikel dazu: The Vast Majority of Raw Data From Old Scientific Studies May Now Be Missing

Redtube, Tauschbörsen und Urheberrecht

(Kommentare in einer Diskussion zu den RedTube-Abmahnungen gegen Streaming-Nutzer)

Es ist egal, ob du streamst oder Tauschbörsen nutzt: Illegal herunterzuladen ist für Gerichte halt erstmal illegal (egal wie falsch ich es finde, dass es illegal ist) - ich kenne die ganzen Argumente mit Logik und gesundem Menschenverstand. Nach Logik und gesundem Menschenverstand kannst du auch niemanden haftbar machen, wenn mehrere Leute den gleichen WLAN nutzen. Ist aber egal: Nennt sich Störerhaftung.

Publish a single file with emacs org-mode

I often write small articles on some experience I make, and since I want to move towards using static pages more often, I tried using emacs org-mode publishing for that. Strangely the simple usecase of publishing a single file seems quite a bit more complex than needed, so I document the steps here.

This is my first use of org-publish, so I likely do not use it perfectly. But as it stands, it works. You can find the org-publish version of this article at

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.