Gratis py2guile from Freenet

py2guile book

py2guile is a book I wrote about Python and Guile Scheme. It’s selling at 0.01 ฿ | 2.99 € for the ebook and 14.95 € for the printed softcover.

To fight the new german data retention laws, you can get the ebook gratis: Just install Freenet, then the following links work:

Escape total surveillance and get an ebook about the official GNU extension language for free today!

BY-SA and GPL: creativecommons closed the chasm in the sharealike/copyleft community

This is the biggest news item for free culture and free software in the past 5 years: The creativecommons attribution sharealike license is now one-way compatible to the GPL — see the message from creativecommons and from the Free Software Foundation.

Some license compatibility legalese might sound small, but the impact of this is hard to overestimate.

Going from Python to Guile Scheme - a natural progression

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.

 - Free: html | pdf
 - Ebook: 2.99 €
   epub format
 - Softcover: 14.95 €
   with pdf, epub, mobi
 - Source: download
   free licensed under GPL

follow the blue rabbit

========= blue-rabbit =========
follow the blue rabbit
through the looking glass
to find your real self
========= looking glass =========

Australia gets mandatory data retention

Australia gets mandatory data retention — with unchecked access by roughly any local or federal police agency and “Any other agency the Attorney General publicly declares”. (So much for separation of powers)

And they can use that in court.

→ » Australia: Now is the time to go dark « ←

Dear Australians: This is what we have been talking about the past 10 years. The tech for confidential communication might still be cumbersome to use, but you now need it.

If you want to use Freenet for that, I’ll gladly help you set it up.

IPCC bibtex entries

I repeatedly stumbled over needing bibtex entries for the IPCC reports. So I guess, others might stumble over that, too. Here I share my bibtex entries for some parts of the IPCC reports.1

IPCC 1990 WG1 (physical science basis)

  title = {Climate Change 1990 The Science of Climate Change},
  publisher = {The Intergovernmental Panel on Climate Change},
  year = {1996},
  editor = {J.T. Houghton and G.J. Jenkins and J.J. Ephraums},
  author = {IPCC Working Group I}

  1. In IPCC 2013 WG1 they finally provide bibtex in their zip of references, but without item headers — you can’t use these directly. 

Freenet as backing store for sites on the clearnet (in use today)

Chris Double (bluishcoder) changed his main website to be served directly from Freenet:

Thanks to this, the same article is now available from my inproxy.

And, naturally, from Freenet:


Information challenges for scientific publishing

On 2015-08-27, Researchers from the Reproducibility Project: Psychology reported that in 100 reproduction studies, only “47% of original effect sizes were in the 95% confidence interval of the replication effect size” (RPP SCIENCE 2015, an overview of the results is available in Scientific American; in german from DLF Forschung Aktuell).

I take this worrying result as cue to describe current challenges to scientific publishing and measures to address them — including reproduction experiments, and what to do if they contest previously published and referenced work.


PDF (to print)

Org (source)

Scientific publishing has come a long way since its beginning, and its principles have allowed it to scale up from a few hundred active scientists worldwide to conferences with tens of thousands of people for a given topic. But in the last few years it hit its limits. It becomes harder each year to keep up with the amount of new papers being published and even scientists from similar fields repeatedly reinvent the same methods. To scale further and to continue to connect the scientific community, it must adapt to make it easier to get an understanding of the current state of science and keep up to date with new findings.

To grow from these challenges, scientific publishing needs to

Freenet Communication Primitives: Part 2, Service Discovery and Communication

Basic building blocks for communication in Freenet.

This is a guide to using Freenet as backend for communication solutions - suitable for anything from filesharing over chat up to decentrally hosted game content like level-data. It uses the Python interface to Freenet for its examples.

Mirror, Freenet Project, Arne Babenhauserheide, GPL
Freenet Project,
License: GPL.

This guide consists of several installments: Part 1 is about exchanging data, Part 2 is about confidential communication and finding people and services without drowning in spam and Part 3 ties it all together by harnessing existing plugins which already include all the hard work which distinguishes a quick hack from a real-world system (this is currently a work in progress, implemented in which provides real-world usable functionality).

Note: You need the current release of pyFreenet for the examples in this article (0.3.2). Get it from PyPI:

# with setuptools
easy_install --user --egg pyFreenet==0.4.0
# or pip
pip install --user --egg pyFreenet==0.4.0

This is part 2: Service Discovery and Communication. It shows how to find new people, build secure communication channels and create community forums. Back when I contributed to Gnutella, this was the holy grail of many p2p researchers (I still remember the service discovery papers). Here we’ll build it in 300 lines of Python.

Welcome to Freenet, where no one can watch you read!


For or about scientific work.

Surface Area of regions on an ellipsoid Earth


PDF (to print)

Org (source)

Data (netCDF4)

Calculating the area of arbitrary regions on the Earth approximated as an ellipsoid. I needed this for conversion between the output of different models.

It’s calculated in Emacs Lisp, which showed me that for somewhat complex mathematical tasks Lisp syntax isn’t only unproblematic, but actually helps avoiding mistakes. And full unicode support is great for implementing algorithms with ω, λ and φ.


My server was breached - sorry for the downtime

After 4 weeks of downtime my sites are online again.

Freenet Communication Primitives: Part 1, Files and Sites

Basic building blocks for communication in Freenet.

This is a guide to using Freenet as backend for communication solutions - suitable for anything from filesharing over chat up to decentrally hosted game content like level-data. It uses the Python interface to Freenet for its examples.

TheTim from Tim Moore, licensed under cc by
from Tim Moore,
License: cc by.

This guide consists of several installments: Part 1 (this text) is about exchanging data, Part 2 is about confidential communication and finding people and services without drowning in spam and Part 3 ties it all together by harnessing existing plugins which already include all the hard work which distinguishes a quick hack from a real-world system. Happy Hacking and welcome to Freenet, the forgotten cypherpunk paradise where no one can watch you read!

concise commit messages

Written in the discussion about a pull request for Freenet.

When I look up a commit, I’m not searching for prose. I’m searching for short snippets of information I need. If they are long-winded explanations, I am unlikely to even read them.

To understand this, please imagine coming back home, getting off the bike and taking 15 minutes to look at the most recent pull-request.

Hitchhikers Guide on Towels - Read from Space

Samantha Cristoforetti reads the Hitchhikers Guide to the Galaxy on the International Space Station

This is the world we live in: The Hitchhikers Guide read from Space.

If you don’t get goosebumps just thinking about it, envision it again: The old visions are becoming real step by step, and now those who actually venture in space read the works of visionaries from their temporary home beyond the atmosphere.

New traditions form from a reality which still seems

Secure communication with GnuPG and E-Mail

How E-Mail with GnuPG could hide when you talk, where you talk from and what you talk about.

or in technical terms:

E-Mail with perfect forward security, hidden subject and masked date using GnuPG and better frontends.

If you regularly read my articles, you’ll know that I’m a proponent of connecting over Freenet to regain confidential and pseudonymous communication.

Here I want to show how it would be possible to use E-Mail with GnuPG to get close to the confidentiality of Freenet friend-to-friend communication, because we have the tech (among the most heavily scrutinized and well-tested technology we use today) and we have the infrastructure. All it requires are more intelligent E-Mail clients. Better UI which makes the right thing easy.

Real Life Infocalypse

Freenet Logo: Follow the Rabbit DVCS in the Darknet. The decentralized p2p code repository.

In this guide I show by example how you can use the Infocalypse plugin for distributed development without central point of failure or reliance on unfree tools.12

If you think “I have no idea what this tool is for”: Infocalypse gives you fully decentralized Github with real anonymity, using only free software.

# freenet -> local
hg clone freenet://ArneBab/life-repo
# local -> freenet
hg clone life-repo real-life
hg clone real-life freenet://ArneBab/real-life
# send pull request
cd real-life
hg fn-pull-request --wot ArneBab/life-repo
(enter message)
# check for pull-requests
cd ../life-repo
sleep 1800 # (wait for confidential delivery)
hg fn-check-notifications --wot ArneBab

If you like this, please don’t only click like or +1, but share it with everyone who could be interested. The one who knows best how to reach your friends is you — and that’s how it should be.

  1. This guide shows the convenient way of working which has a higher barrier of entry. It uses WoT Pseudonyms to allow you to insert repositories by Pseudonym and repository name. If you can cope with inserting by private key and sending pull-requests manually, you can use it without the WoT, too, which reduces the setup effort quite a bit. Just skip the setup of the Web of Trust and Freemail and plugins. You can then clone the life repo via hg clone freenet://USK@6~ZDYdvAgMoUfG6M5Kwi7SQqyS-gTcyFeaNN1Pf3FvY,OSOT4OEeg4xyYnwcGECZUX6~lnmYrZsz05Km7G7bvOQ,AQACAAE/life-repo.R1/4 life-repo. See hg fn-genkey and hg help infocalypse for details. 

  2. Infocalypse shows one of many really interesting possibilities offered by Freenet. To get a feeling of how much more is possible, have a look at The Forgotten Cryptopunk Paradise

Strong Kerrigan

When you win Starcraft 2 Heart of the Swarm in brutal difficulty without losing Kerrigan even once, you get an ending with a truly strong Kerrigan.234

Clearly you are my greatest failure. Now at long last, you will die.

Again Mengsk activates the Xel'Naga artifact. As the lightning from the artifact tears at her flesh and cracks every part of her body, Kerrigan rasps an answer:

  1. The epub icon was created by the Oxygen Team ( and is licensed under the GNU LGPL

  2. This is what I’d have wished to see. 

  3. All characters in this story belong to Blizzard. I also published this story in the Starcraft forums

  4. The one thing I resent about Kerrigan in Starcraft 2 is that they made her weak.

    In SC1 Kerrigan embraced and ruled the swarm. She started as strong terran, never to let anyone talk down to her, never afraid to say what she wanted. Then she got infested, and she prevailed over the infestation, becoming the queen of blades, ruling the Zerg instead of being ruled by the Overmind.

    In the cutscenes of SC2 she’s a helpless wreck, ever reliant upon the help of others and exposed as a tool of the overmind to free the swarm from Amon.

    It feels as if someone wrote the story to deconstruct the legend of the queen of blades. The in-game story seems much better, though. 

power and deception

A religious leader is nothing more than a media-star who managed to convince people that the tale, in which he or she is special, is actually true.

Just like aristocrats managed to convince people that what their ancestors did gives them the right to control the lives of other people.

And like the rich convince people that money gives them the right to control a larger part of the world than others.

Simple daemon with start-stop-daemon and runit


PDF (to print)

Org (source)

Creating a daemon with almost zero effort.

Freenet protects your DickPic!

Afraid that the NSA could steal your DickPic? Freenet to the rescue!

Freenet protects your DickPic!
(mirror via Freenet)

My Top 20 most popular articles as of 2015

I asked myself: Are the most popular articles on my site the ones I like best?

Morning has broken

Morning has broken
        beyond repair

the words are spoken
        now do you dare

to absolve of the error made
or will you die in your own shade?

Freenet: The forgotten cryptopunk paradise


PDF (to print)

Org (source)

Text (for email)

A long time ago in a chatroom far away, select groups of crypto-anarchists gathered to discuss the death of privacy since the NSA could spy on all communications with ease. Among those who proposed technical solutions was a student going by the name sanity, and he published the widely regarded first paper on Freenet: A decentralized anonymous datastore which was meant to be a cypherpunk paradise: true censorship resistance, no central authority and long lifetime only for information which people were actually interested in.

Many years passed, two towers fell, the empire expanded its hunt for rebels all over the globe, and now, as the empire’s grip has become so horrid that even the most loyal servants of the emperors turn against them and expose their dark secrets to the masses, Freenet is still moving forward. Lost to the eye of the public, it shaped and reshaped itself - all the while maintaining its focus to provide true freedom of the press in the internet.

3 steps to destroy Bitcoin for anonymous usage

Org (source)

PDF (print)

Bitcoin is often treated as a haven for black market buyers and people who want to avoid illegitimate laws. However 3 simple steps would suffice to mostly obliterate Bitcoin for black market usage of ordinary users.

Breaking Bitcoin

Three steps to break Bitcoin for small scale anonymous usage:

Staying sane with Emacs (when facing drudge work)

I have to sift through 6 really boring config files. To stay sane, I call in Emacs for support.

My task looks like this:

(click for full size)

GnuPG/PGP signature, short explanation

»What is the .asc file?« This explanation is intended to be copied as-is into emails when someone asks about your signature.

The .asc file is a signature which can be used to verify that the email was really sent by me and wasn’t tampered with.[1] It can be verified with standard email security tools like Enigmail[2], Gpg4win[3] or MacGPG[4] - and others tools supporting OpenPGP[5].

Conveniently convert CamelCase to words_with_underscores using a small emacs hack

I currently cope with refactoring in an upstream project to which I maintain some changes which upstream does not merge. One nasty part is that the project converted from CamelCase for function names to words_with_underscores. And that created lots of merge errors.

Today I finally decided to speed up my work.

The first thing I needed was a function to convert a string in CamelCase to words_with_underscores.

Unicode-Characters for TODO-States in Emacs Orgmode

By default Emacs Orgmode uses uppercase words for todo keywords. But having tens of entries marked with TODO and DONE in my file looked horribly cluttered to me. So I searched for alternatives. After a few months of experimentation, I decided on the following scheme.

Inhalt abgleichen
Willkommen im Weltenwald!

Beliebte Inhalte news