Licht, Light, Lumo

Soylent - Shadowrun kommt näher

Ich habe gerade von einem Freund einen Link zu Soylent bekommen: Einen angeblich vollwertigen Essensersatz auf Pulverbasis. Soylent hat mich mal wieder an ein unter Rollenspielern verbreitetes Sprichwort erinnert:

Shadowrun kommt näher…Soyfood

Wie durch das iPhone die Überwachung in der Hosentasche normal wurde, ist auch bei Soylent die Elite das Scheunentor über das Dreck zum Standard für die Gesamtbevölkerung gemacht wird.

Was nicht heißt, dass ich nicht auch auf Soylent aufspringen könnte1 - wenn ich nicht vorhersehen würde, wohin es führt. 21 Essen für 70$, mit der Werbung „Zahle weniger als 10$ pro Tag für Essen“. Das klingt nur für Pseudo-Akademiker billig, die sich durch ein Fachidiotenstudium gepaukt haben, sich keine Zeit genehmigten, nach Rechts oder Links zu schauen und jetzt denken, sie würden alles verstehen.


  1. Ich fände es wahrscheinlich sogar cool - wenn es blau wäre ☺ → LEXX

Lennart Poettering hetzt taktisch gegen die Freie-Software-Gemeinschaft

Lennart Poettering hetzt gerade gegen die Freie-Software-Gemeinschaft wegen eines Problems das er mit verursacht:

»Much of the Open Source community tries to advertise the community as one happy place […] Well, it is not like that. It's quite a sick place to be in.«Lennart Poettering, 2010-10-06 on G+

Er greift Leute an, die Boykottaufrufe starten - weil systemd nicht dem entspricht, wie sie ihr System haben wollen, dessen Entwickler aber über Abhängigkeiten1 im Gnome Desktop, in pulseaudio, in udev und in dbus Distributionen unter Druck setzten, es zum einzigen Init-System zu machen - und damit gleichzeitig Gnome auf nicht-Linux-Systemen wie *BSD und dem GNU Hurd unbenutzbar zu machen drohen. Dann hetzt er gegen Linus („I'd actually put some blame on a certain circle of folks that play a major role in kernel development, and first and foremost Linus Torvalds himself“) und gegen die verbleibenden Distributionen, die systemd nicht zum Standard machen („communities that attract a certain kind of people (Hey, Gentoo!)“) — die Gentoo-Foren kenne ich persönlich als einen sehr technisch orientierten Ort mit vielen hilfreichen Leuten, aber Gentoo hat OpenRC, das alles kann, was systemd will, ohne dafür Shell-Skripte aufzugeben oder eine riesige Sicherheitslücke in PID1 zu brauchen.

Damit macht Lennart Poettering es sich sehr einfach - und lässt unerwähnt, wie er selbst einen Vortragenden mit rhethorischen Tricks vorgeführt und den gesamten Vortrag zerschossen hat.2


  1. Die Abhängigkeiten sorgen dafür, dass sich Leute entscheiden müssen, entweder aktuelle Versionen von Gnome, udev, pulseaudio und/oder dbus mit systemd zu nutzen, oder aber auf alten Versionen zu bleiben, die irgendwann mit aktuelleren Systemen nicht mehr funktionieren. Mit udev ist das schon passiert. Danach wurde es geforked: Es gibt jetzt eudev

  2. Datenwolf stolpert in dem Video darüber, dass er Lennart regelmäßig fragt, ob er zustimmt. Damit gibt er ihm wieder und wieder die Diskussionshoheit, obwohl Lennart auf Irreführung und miese rhethorischen Tricks zurückgreift. 

Shellshock: Entspannt euch

→ Kommentar zu „Shellshock“-Lücke bei Apple und Linux — Die erste Angrifsswelle läuft in der Taz.

Es hat keine 2 Tage gedauert, bis der Bug gefixt war. Und jetzt werden gerade auch alle möglichen anderen Teile von Bash auf Herz und Nieren geprüft. Nicht nur von Hobbyisten, sondern auch von Firmen, die Freie Software nutzen und verkaufen.

I now have a spam-resistant, decentralized comment system via Freenet

Note (2017): Due to changes in cross-origin requests, babcom is currently broken. I want to fix it, but can’t do it right now. Sorry for that.

In the last years, spam became worse and worse. The more my site grew, the more time I had to spend deleting blatant advertisements. Even captchas did not help anymore: Either they were so hard that I myself needed 3 tries on average to get through, or I got hundreds of spam messages per day. A few years ago, I caved in and disabled comments. The alternative would have been to turn my Website into a mere PR-outlet of Facebook, twitter or one of the commenting platforms out there.

But this all changed now. I finally have decentralized, spam-resistant comments using babcom with Freenet as backend!

» babcom: decentralized, spam-resistant comments! «

Panorama zu Fracking: Unausgeglichen

→ Kommentar zu den Beiträgen Brennende Wasserhähne: Wie gefährlich ist Fracking? und alles andere als irreführend von Panorama.

Mir kam bei ihrem Beitrag komisch vor, dass Fracking immer wieder mit konventioneller Gasförderung verglichen wurde und es hieß, es sei nicht viel gefährlicher.

Die Frage, ob konventionelle Gasförderung in eng besiedelten Gebieten zu Gefährdungen führt, haben Sie allerdings nicht gestellt. Jegliche Öl- und Gasförderung ist eine Risikotechnologie.

Lots of site uploads into freenet

I just finished lots of new uploads of sites into freenet - with the new freesitemgr (which actually uploads quickly when WoT is disabled, check todays IRC-logs tomorrow to get background on that). You can get the new freesitemgr from github.com/ArneBab/lib-pyfreenet-staging or via infocalypse:

hg clone freenet://USK@kDVhRYKItV8UBLEiiEC8R9O8LdXYNOkPYmLct9oT9dM%2CdcEYugEmpW6lb9fe4UzrJ1PgyWfe0Qto2GCdEgg-OgE%2CAQACAAE/pyfreenet.R1/14 

The sites are also available via my freenet inproxy:

freenet-team - an introduction of most of the freenet hackers I know.

mathmltest - example of mathml in freenet.

winterface-deadlines - deadlines for the Winterface GSoC project

freenet-funding - the freenet fundraising plan, still lacking good design and crisp presentation slides or a video

freenet-meltdown - on the recent massive performance degradation which lasted a few month and ended with the link length fix.

fix-link-length - background on the link-length fix which made freenet actually do small world routing again instead of random routing (into which it had degraded, partially due to local requests, partially due to having so many peers per node that random routing actually worked for the current network size, so the pressure by routing-success to go back to small world routing was too weak compared to the pressure from local requests to randomize the connections)

download-web-site - how to download a single page from a website - for example to mirror it into freenet. Hint: For all the sites on draketo.de or 1w6.org you are allowed to do so freely (licensed under GPL).

guiledocs - the online documentation for GNU Guile with a focus on Scheme (using Guile): A powerful lisp-like language with multiple implementations.

decorrespondent-metadata - experiment how much information one can glean about your life from just one week of metadata, in dutch.

netzpolitiz-metadaten - same article translated to german. License: cc by-nc-sa

Adventures of a Pythonista in Schemeland - the adventures of a Pythonista in Schemeland: A deep understanding of Scheme for Python users. I learned to love Scheme with this. BSD license.

programming-languages - The Programming languages lecture. License: cc by-nc-sa

tao of programming - "When you have learned to snatch the error code from the trap frame, it will be time for you to leave."

Download one page from a website with all its prerequisites

Often I want to simply backup a single page from a website. Until now I always had half-working solutions, but today I found one solution using wget which works really well, and I decided to document it here. That way I won’t have to search it again, and you, dear readers, can benefit from it, too ☺

Update 2020: You can also use the copyweb-script from pyFreenet: copyweb -d TARGET_FOLDER URL
Install via pip3 install --user pyFreenet3.

In short: This is the command:

wget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories --span-hosts --adjust-extension --no-check-certificate -e robots=off -U 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4' [URL]

Optionally add --directory-prefix=[target-folder-name]

(see the meaning of the options and getting wget for some explanation)

TISA - Feind einer gemeinschaftlichen EU

TISA: Alles was nicht explizit ausgenommen ist, darf nie mehr staatlich geregelt werden.

Alles wird mal wieder in Geheimverhandlungen versucht - und soll selbst nach Abschluss der Verhandlungen geheim bleiben! (ja geht’s noch???)

Mit Stillhalte- und Sperrklinken-Klauseln — die sind so übel, wie sie klingen!

→ Details: ARD Plusminus zu TISA

Könnten wir mit dem Scheiß mal aufhören? Sie versuchen uns seit Jahren immer und immer wieder unserer Grundrechte zu berauben.

Das muss aufhören!

Exact Math to the rescue - with Guile Scheme

I needed to calculate the probability that for every freenet user there are at least 70 others in a distance of at most 0.01. That needs binomial coefficients with n and k on the order of 4000. My old Python script failed me with an OverflowError: integer division result too large for a float. So I turned to Guile Scheme and exact math.

USK and Date-Hints: Finding the newest version of a site in Freenet's immutable datastore

Freenet provides a global, anonymous datastore where you can upload sites which then work like normal websites. But different from websites, they have a version-number.

The reason for this is, that you can only upload to a given key once1. This data then gets stored in the network and is effectively immutable (much like immutable data structures in functional programming).


  1. If you try to upload to a given key twice, you can get collisions. In that case, it isn’t clear which data a client will retrieve - similar to race conditions in threaded programs. That’s why we do not write to the same key twice in practice (though there is a key-type which can be used for passwords or simple file-names. It is called KSK and was the first key-type freenet provided. That led to wars on overwriting files like gpl.txt - similar to the edit-wars we nowadays get on Wikipedia, but with real anonymity thrown in ☺). 

LinkedIn Anmeldung: Verrate deine Freunde

english
English summary: my LinkedIn registration "do you want to load your addressbook?" — no! — load addressbook? — NO! — after registration: "login with email and LinkedIn passwort" ⇒ login forwarded to my email provider. If I had used the same password they would have stolen my address book. Avoid LinkedIn.

Ich habe mir gerade ein LinkedIn Konto erstellt.

Manipulation in Fremdbestimmter Kommunikation

Kommentar zum BeHaind Video Soziale Massenmanipulation - Politiker flippt aus - Sailor Moon

Ganz klar, es gibt Manipulation. Und die wird es immer geben, wenn die Kommunikation von anderen kontrolliert wird.

Ich verwende deswegen zusätzlich zu Twitter und G+ auch GNU social und Sone.

comment on scientific consensus: distorting a debate to hide the majority view

I just discussed with “sceptics” on twitter about climate change. There Ronan Connolly ‏(@RonanConnolly) showed me his article which tries to give the impression that there is no scientific consensus about climate change being man-made.

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 NPD.de - Erkennst du die Parolen? — Zum Drucken und Dazukleben!

AfDoderNPD.de 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 NPD.de 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."
  (interactive)
  (let ((line (line-number-at-pos))
        (file (buffer-file-name)))
    (async-shell-command (concat 
                          "TERM=vt200 emacs -nw --find-file " 
                          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."
  (interactive)
  (let ((line (line-number-at-pos))
        (file (buffer-file-name)))
    (async-shell-command (concat 
                          "TERM=vt200 emacs -nw --find-file " 
                          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 (and only 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.

Inhalt abgleichen
Willkommen im Weltenwald!
((λ()'Dr.ArneBab))



Beliebte Inhalte

Benutzeranmeldung

CAPTCHA
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.
Image CAPTCHA
Enter the characters shown in the image.

Draketo neu: Beiträge

Ein Würfel System

sn.1w6.org news