Draksites

- feeds inserted via Freereader -

Last update: 06-19-2015 18:01:45

Available Feeds

IT des Deutschen Bundestages fremdkontrolliert. Oppositionsabgeordnete ratlos.

Diese Aussage trifft gerade die Grünen-AbgeordneteTabea Rößner in der FAZ. Ich wollte das nur auf G+ weitergeben, als mich meine eigenen Worte wie ein Schlag getroffen haben:

IT des Deutschen Bundestages fremdkontrolliert. Oppositionsabgeordnete ratlos.

Verdammt, in welcher Welt leben wir? Ist das ein Agententhriller oder düstere Science Fiction? So eine Titelzeile würde in Star Wars passen, als Zeitungsmeldung während der Imperator den Senat übernimmt. Aber in unserer Welt hat sie nichts verloren.

Schlimmer noch: Tabea Rößner fragt hilflos:1

Sollen wir nur noch … ohne elektronische Geräte arbeiten?

Ja. Natürlich! Wie sonst? Ihre IT ist aktuell erwiesenermaßen fremdgesteuert. Die können Sie nicht verantwortungsvoll verwenden!

Wenn Ihre Autos mit Bomben gespickt wären, würden Sie damit hoffentlich auch nicht fahren, und genauso sollten Sie jetzt gerade ihre IT Infrastruktur behandeln.

Nutzen Sie, bis das akute Problem behoben ist, die Bundestags-Stenografen, wenn ihnen ihre eigenen handschriftlichen Notizen zu langsam sind. Die mögen grummeln, aber sie sind gerade Ihre einzige Hoffnung für sichere und gleichzeitig schnelle Aufzeichnungen.

Als nächsten Schritt sollten Sie dann sicherstellen, dass das nicht wieder passiert: Lassen Sie sich vom BSI einen Laptop zusammenstellen, bei dem auf schon von Werk her mit Spionageschnittstellen versehener Software verzichtet wird. Will sagen: Finger weg von Windows, MacOSX oder anderer von US Firmen kontrollierter Software.

Ja, das heißt, es bleibt nur GNU/Linux2 - jeweils in einer Version, die vom BSI geprüft und ständig von einem kompetenten, verbeamteten (und damit schwerer zu korrumpierenden) Team aktualisiert wird. Und Software, die nicht quelloffen und von ihrem eigenen Team kompiliert ist, ist absolut tabu. Die kann niemals vertrauenswürdig genug für die Arbeit von Parlamentariern sein, denn sie wird per Definition fremdkontrolliert und kann vom BSI nur ungenügend getestet werden.

Vielleicht hilft ja diese Erfahrung, die Arbeitsplätze des Bundestages und der Parlamentarier auf eine stabilere Grundlage zu stellen. Nichts ist jemals völlig sicher, aber wer Software kauft, die nicht von den eigenen Leuten auf Schwachstellen geprüft und zeitnah repariert werden kann, lädt Angriffe geradezu ein.

PS: Als Nachtrag: args, was??? Haben die sie noch alle??? Ich dachte, das wäre vorbei… (nachdem ich nicht noch mehr davon gehört habe)

Was ich in den Artikeln lese sollte ABSOLUTE PANIK verursachen!

Vielleicht sollten wir selbst hingehen und den Abgeordneten anbieten, Zettel weiterzugeben.


  1. Wie die Taz berichtet betrifft der Angriff leider auch Parlamentarier, die die bestmöglichen Lösungen genutzt haben, da sie im Parlament gezwungen sind, diese Lösungen unter Windows zu verwenden. 

  2. Es gibt noch die BSDs und GNU Hurd, aber praktisch gesehen bleibt nur GNU/Linux. Die BSDs hängen für die tagtägliche Nutzung von Nicht-Entwicklern noch deutlich zurück, und der GNU Hurd ist zwar inzwischen für Entwickler benutzbar, aber noch weiter von der Tauglichkeit für Normalnutzer entfernt als die BSDs. 

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. You know that you’ll need to start making dinner at 19:00, so there is no time to waste. You look into the pull-request and the explanations are longer than the code changes. You can either read half the explanations or just look at the code. So you try to understand what the code does and what it intends to do from the code alone. After 15 minutes you post a partial review and start cooking. Next slot for code review is tomorrow evening, or maybe next friday. The pull-request lies open for several weeks while more changes pile up.

Contrast that with short commit messages: You look into the pull-request. The commit message gives you the intention of the change (“sounds good”), maybe with a short note on non-obvious side-effects of the implementation, and you skim the code to see whether it realizes the intention. If it does and you don’t see problems which the writer might have overlooked: Great, code review finished. You write the review and go make dinner. The pull-request is merged the same week.

That’s why I’d suggest to just write short messages and put detailed explanations into a blog. If you like writing those explanations. That’s what you have a blog for, and you can search that later if you need these notes. If they are essential to understand effects of later changes, you might want to document them in a text file like HACKING or docs/devnotes.txt.

The Linux kernel has nice examples of concise commit messages:

Note that the merge commit already almost looks like an entry into a NEWS file using the Perl Changes Format.

Vortrag: SUMA-Award für das Freenet-Projekt (Video)

Mein Vortrag beginnt bei 5:56.

Transkript / Untertitel

Ich bin dabei, den Text zu transkribieren, aber es wird noch etwas dauern, bis ich fertig bin. Sobald ich fertig bin, gibt es das als Untertitel-Datei. Was ich bisher habe als Text: (Es beginnt Wolfgang)

Unser jährlicher SUMA Award, den wir seit 7 Jahren vergeben,

soll Arbeiten oder Projekte im Internet auszeichnen, welche für die Zukunft der digitalen Welt Wesentliches leisten.

Nun ist natürlich die nächste naheliegende Frage, was ist denn wesentlich. Eine der Kernfragen der Menschheit.

Das ist sehr allgemein formuliert, und man muss es natürlich mit einem Wort spezieller formulieren.

Und da steht jedes Jahr ein anderes Thema im Vordergrund. Für das vergangene Jahr 2014 war die Ausschreibung definiert als

Ideen zum Schutz gegen Überwachung im Netz

Nun kann man Gottseidank sagen, dass es sehr viele sehr gute Ideen gegen Überwachung im Netz gibt.

Es gibt so viele gute Ideen, dass wir mit der Jury fast überfordert waren. Wir haben gut 50 Vorschläge gekriegt.

Und aus diesen vielen guten Vorschlägen auszuwählen, das hat länger gedauert als es je gedauert hat.

Ich will diese 50 jetzt aber nicht aufzählen und auch später nicht vorstellen.

Es kann auch gut sein, wenn die sich mal weiterentwickeln, dass die eine oder andere davon in späteren Jahren

nochmal zur Entscheidung ansteht und dann auch einen SUMA Award gewinnt.

Also wenn jemand unter ihnen zu den Einreichenden gehörte, behalten Sie das Projekt bitte im Auge.

Und wenn die Thematik wieder in die Richtung geht, schlagen Sie das Projekt nochmal vor.

Darüber hinaus sollte jeder wissen, dass Jeder oder Jede Projekte oder Arbeiten für den Award vorschlagen kann.

Das können eigene Arbeiten sein, das können aber auch andere Arbeiten oder Projekte sein, die sie einfach nur gut finden.

Wenn es unter die Thematik des Awards passt.

Auf der Webseite suma-awards.de (ich will jetzt nicht weiter rumklicken) kann man nachlesen, was die Bedingungen sind.

Der Preis ist mit 2500 Euro dotiertund SUMA e.V. wird den Preisträger auch in jeder erdenklichen Weise immateriell fördern.

Es lohnt sich also durchaus.

Nun also zum diesjährigen Preisträger.

Bisher hoffe ich mal, dass die Geheimhaltungspflicht hier durchgeschlagen hat und dass es keine Leaks oder Wikileaks gegeben hat.

Der Preisträger weilt unter uns aber wahrscheinlich ist er unerkannt.

Ich verrate ihn aber immer noch nicht ein bisschen spannend machen gehört dazu.

Gesucht war also für den Award ein Projekt, welches für die Zukunft der Digitalen Welt

Wesentliche Ideen zum Schutz gegen Überwachung bietet.

Und selbst wenn ich Ihnen jetzt den Namen sage werden die wenigsten wahrscheinlich was damit anfangen können.

Sie werden diesen Namen überhaupt nicht kennen. Und genau das will dieser Award ändern.

Denn dieses Projekt hat das gewaltige Potenzial gegen Überwachung im Netz.

Also der Preisträger heißt, und jetzt, wenn wir jetzt Musik haben, Musik an

Das Freenet Project

Was die Sache aber kompliziert macht.

Denn erstens ist das Freenet wirklich etwas kompliziertes

und zweitens segelt mehreres unter dem Namen Freenet.

Bei Wikipedia findet man 4 Bedeutungen des Wortes Freenet.

Zum Ersten gibt es einen Internet-Anbieter in Deutschland, Die Freenet Aktiengesellschaft. Die hat den Preis nicht gewonnen.

Zum Zweiten gibt es auch eine Funkanwendung, die auf gut Deutsch die Freifunknetze genannt werden. Auch die sind nicht Preisträger.

Drittens die Bedeutung des Wortes Freenet als weltweite Netz-Gemeinschaft des non-profit Internetzugangs. Auch nicht Preisträger.

Aber viertens gibt es ein peer-to-peer Netz unter der Addresse freenetproject.org und genau das, letzteres

Das peer-to-peer Netz Freenet Das erhält den SUMA-Award

Dieses Projekt wurde unabhängig voneinander von mehreren Personen in der Jury als Preisträger vorgeschlagen.

Ganz kurz, was ist das besondere daran?

Gleich kommt noch viel mehr, aber jetzt mal ganz kurz nur:

Freenet ist eine peer-to-peer Software, zentrale Server und ähnliche zentrale Strukturen werden konsequent vermieden.

Also Dezentralisierung, Redundanz, Verschlüsselung, und dynamisches Routing sind Wesensmerkmale.

Freenet wird als Freie Software unter GNU General Public Licens entwickelt

und das reguläre Internet wird nur als Übertragungsfunktionalität genutzt.

Es ist sozusagen ein eigenes Netz im Netz.

Wir kommen ja ganz allmählich vom Allgemeinen zum ganz Konkreteren.

Als die SUMA Award Jury den Preis beschlossen hatte, bestand eine Schwierigkeit darin, einen Repräsentanten diesen Netzes zu finden

Denn Freenet ist ja auch eine Art Darknet. Ein Netz, das vorwiegend unsichtbar für den Rest des Internet ist.

Die Verwendung von Klarnamen ist auch nicht selbstverständlich.

aber nach einigen Mühen ist es uns gelungen, in Deutschland jemanden zu finden

der uns in die Geheimnisse dieses Netzes einweihen kann.

Lieber Herr Babenhauserheide Bitte kommen Sie doch jetzt mal nach vorne.

Ich habe hier einen Briefumschlag in dem zwei wesentliche Dinge drin sind.

Einmal den SUMA Award

Zweitens vielleicht noch den Scheck mit dem Preisgeld.

Nun möchte ich selber auch noch viel mehr internes über das Freenet erfahren.

Dann werde ich jetzt aufmerksam zuhören.

(Hier übernimmt Arne)

Also erstmal danke für den Preis.

Ich hab lange überlegt, was ich dazu wirklich sagen könnte, aber ich finde ehrlich gesagt keine wirklichen Worte, die es beschreiben können.

Danke.

Das Preisgeld wird für uns wahrscheinlich ermöglichen, unseren Teilzeitentwickler, der am Web of Trust arbeitet

und damit einige der kritischen Dienste weiter voranbringt für ein bis zwei Monate zu bezahlen

dafür werden wir es auch verwenden zumindest vorraussichtlich

es geht also in die Gesamtspenden, die für das Freenet Projekt da sind, mit ein.

Mit Freenet sicher kommunizieren

Kannst du in wenigen Worten beschreiben, warum mit Freenet sicher zu kommunizieren ist?
— Falk Flak

Bei Freenet gibt es zwei Arten sicher zu kommunizieren:

  1. Du kannst dir ein Pseudonym erschaffen, unter dem du in Freenet-Internen Foren schreiben und anderen Nutzern anonyme, aber spamgeschützte E-Mails schreiben kannst. Die Daten werden dafür direkt zwischen Freenet Nutzenden über mehrere Schritte ausgetauscht, es gibt also keinen zentral kontrollierten Server. Du kannst Daten hochladen, die auch dann noch verfügbar sind, wenn du offline bist, aber nur für diejenigen, denen du den Link dazu gegeben hast.

  2. Du verbindest dich direkt mit Freunden. Von außen kann sichtbar sein, dass ihr euch kennt, aber nicht wann und über was ihr redet. Die Daten, die Freenet für den Normalbetrieb austauscht, sehen genauso aus wie Kommunikation zwischen dir und deinen Freunden, verdecken sie also.

Eine kurze Präsentation dazu: Freenet Nutzen: Technische Lösungen für freie Kommunikation im Internet

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 unreal.

The Hitchhikers Guide read from Space.

And yes, we had a towel with us when the kids and I went riding their scooters yesterday. We used it to dry ourselves when we came back from the rain.

I wonder when I should start reading them the Hitchhikers Guide…

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.

Why isn’t encrypted E-Mail confidential?

What is that wretched metadata?

Sending an encrypted E-Mail currently levaes all kinds os non-encrypted public traces, while it travels over the servers:

  • When you wrote (date)
  • What you wrote about (subject)
  • Who you wrote to (sender + receiver)
  • Where you wrote from (via your IP)

Also there is no perfect forward security (PFS), so all your past E-Mail can be decrypted when someone one day manages to crack your key or the key of the person you talk to.

It might take a few weeks or months, but if at one point you become important, people in power will crack your key – maybe by simply hacking (or confiscating) your laptop.

And then they can read all E-Mails you received with it. Even if you deleted them, because they likely still have a copy.

Crack once, read everything

And finally, almost no one uses GnuPG, because (for one thing) key verification is cumbersome and E-Mail clients make it hard to use. But on the upside, all these issues can be solved without touching a line of GnuPG code. All you need to fix are the clients.

Regaining confidential communication with E-Mail

To make E-Mail confidential with GnuPG, there are 5 challenges to overcome:

  • Make GnuPG effortless to use (no setup for the user!)
  • Ensure that most encrypted content stays encrypted after security breaches
  • Protect the subject line
  • Mask the date and time of communication
  • Mask the physical location

I’ll go through them all with short notes how they can be realized. None of these requires experimental concepts, since most of the ideas have been known for years. They just weren’t collected and implemented.

Effortless GnuPG

The first issue which hinders users from encrypting is that they need to exchange and verify keys before they can use GnuPG. The second issue is incompatibility between free E-Mail clients.

Eradicating the requirement to verify all keys

This is a major hassle, and it is required if we want to be safe against man-in-the-middle attacks (MitM). This is not required, though: If we want to secure E-Mail for most users, we only need to ensure that a MitM is detected either when it starts or when it ends. That makes it arbitrarily expensive to realize mass surveillance, because it means that every MitM attack has to be preserved indefinitely: If it stops, the surveillance target will become suspicious and invest the effort to do a real key verification.

Detect start and end of MitM

This is no new idea: All this was already described in the GnuPG subproject STEED (whitepaper as PDF).

The most important part is to follow SSL/TLS and SSH by realizing TOFU for E-Mail: Trust on first use.

Usable key verification

Resilient interaction between different free clients

E-Mail clients frequently fail to verify E-Mails from other clients. We cannot fix unfree clients like Outlook, but the free ones can be changed to try again if a given method fails: Do everything possible to try to get the message to decrypted and the signature verified, even if that requires being more relaxed than specified by an RFC. Other programs won’t get fixed just because your program shows that they do it wrong. People will just stop using GnuPG.

A recent example of this problem (which bit me personally) is that Thunderbird with Enigmail 1.7.0 and 1.7.2 failed to verify mails from KMail, but it’s not the first time that there are problems between those two. Another is that Enigmail fails to verify a Mail from Horde with a user signature, because a space in the signature isn’t encoded correctly. It’s all and nice that this is wrong by Horde, but failing the verification without sensible error (which tells the user how to fix the issue) is the worst possible reaction. That’s as if a web browser would fail out whenever there’s a problem on a website: Users would just stop using that browser. For some reason developers think that not decrypting a GnuPG message even though there’s no security problem is somehow OK.

Making interaction between E-Mail clients resilient requires a shift in mentality: That it is the responsibility of every client author to not just send correct E-Mails but also to treat decoding received E-Mails from all existing (free) clients as crucial to their task: If this fails, then the program is broken (within reasonable limits: correctly receiving E-Mails must not become so hard that no one implements it).

Usable encrypted E-Mail

Ensure that most encrypted content stays encrypted after security breaches

To protect the content of mails against breaking the main GnuPG keys we can realize Perfect Forward security for E-Mail by attaching a session key (the public key of a new keypair, signed by the main key of the sender) when sending an E-Mail to a given E-Mail address for the first time. When an E-Mail client receives such a session key and the signature is valid and from the sender, it should use that key as encryption key in subsequent answers - and attach its own session key.

Once the original sender switched to the session key of the original receiver, the communication can no longer be decrypted using only the main key of sender or receiver. Sender and receiver can save stored mail in re-encrypted form (with their main key) and refresh the session keys after a given number of mails were exchanged or after a given time (i.e. 100 mails or a month, what’s longer - always keep usability in mind!).

This means that mail which sender and receiver did not store will be safe from decryption even if the main key of sender or receiver is cracked at some point. Protecting E-Mails on the disks of the communication partners is outside the threat model here: If the E-Mail is sensitive, the communicatin partners can simply delete it to ensure that it is really gone once they delete the session keys.

Resilient Encryption: Perfect Forward Security

Protect the subject line

The most sensitive information which encrypted E-Mail still spills is the subject line. It provides the topic of the E-Mail and is sadly needed nowadays to protect against Spammers without trusting centralized services which cannot work for encrypted E-Mail.

To protect the subject line, we can follow the old Cypherpunk remailer protocol (example): Have an empty subject line, but start the encrypted content of the E-Mail with a new header field:

##
Subject: THE REAL SUBJECT

content to show the user follows here

(the cypherpunk protocol uses :: and ## as identifiers, and don’t know the exact semantic defference, so you might find that using :: to start the replacement headers might be more appropriate.)

Using an empty subject is already a widespread (bad-) practice, so it should not make the encrypted messages more tracable than before.

If users use no subject, the E-Mail clients should display the first 80 characters of the decrypted message in place of a subject. Yes, this only shows subjects after decrypting – which is how it should be.

Use an empty subject and redefine it in the encrypted part

Mask the date and time of communication

To hide when a message is written, we can mask it under other traffic: using encrypted E-Mail for automated coordination of programs. We already send encrypted, signed E-Mails, and for each E-Mail address there is an accepted key. So we can now select trusted contacts whose messages our E-Mail program can interpret automatically, for example to set calendar entries or update the address book. We can implement social features subscribing to status updates (like twitter) or re-sharing articles over E-Mail, because signed and encrypted E-Mail provides a trusted channel without creating an opening for spammers and scammers: If there is one piece of software which has been battle tested by all kinds of malicious people then it’s GnuPG. Using E-Mail to convey information to be interpreted automatically is for example what Infocalypse uses to implement pull-requests over Freenet (E-Mail over Freenet provides additional protections compared to plain E-Mail – it hides metadata and content thanks to using Freenet as anonymous decentralized data storage and avoids spam via propagating trust and spam marking – so it can already implement this automated information channel without exposing its users to large scale exploits).

But while it would be wonderful to have fully automated social features over E-Mail, this is just a side product: The really important effect would be that there would be a constant flow of cover traffic which hides actual communication.

Mask “When”: Social features as cover traffic to mask date and time of real messages

Mask the physical location

The final piece to the metadata puzzle is the physical location from which we communicated. If people can see where we wrote from, we can never write from a smartphone without exposing more metadata than I dare to think about.

To hide our location, we need an anonymizing channel like hidden services on tor or i2p.

Mask “Where”: Connect to your E-Mail provider over hidden services

If you can get your friends to join, too, then E-Mail over Freenet would already provide this without making your E-Mail provider a target for anonymous cracking attacks.

Conclusion

We already have the basic technology for making E-Mail between trusted friends truly confidential again. We can hide

  • The content of the mail,
  • The topic by faking the subject,
  • The time when we talked by creating cover traffic and
  • Our physical location where we wrote from.

People can still find out who knows whom, but can no longer see when they talk, where they talk from or what they talk about.

„Seit ich meine E-Mails mit GnuPG verschlüssele, habe ich keine Ausschreibung mehr an eine US-Firma verloren.“ – Paul Sibel to Anna Gram from his towel on 2015-05-25. (english version from Google translate, slightly wrong but fun: "Ever since I encrypt my emails with GnuPG, I lost no invitation to a US company.")

So I call upon all E-Mail client developers: Please implement these measures to allow users to talk confidentially again. You do not need additional support from GnuPG for that. It can all be done in the code you know best.

We cannot make E-Mail pseudonymous, but at least we can make it confidential.

PS: The technology for this is not in E-Mail clients yet, so if you want confidential communication now, your best bet is to connect over Freenet – which additionally gives you pseudonymous communication. Using Freenet you regain the full set of communication options you have in the physical world:

  • confidential discussion in private,
  • self-censored public speech and
  • free pseudonymous publishing.

Wir passen aufeinander auf (Menschen sind toll!)

Ich bin heute früh mit dem Rad zum Finanzamt, um die Steuererklärung abzugeben, und dann weiter zur Arbeit. Nach gut 15 km Fahrt wurde ich müde und entschied, eine Pause zu machen. Die Sonne schien und die Luft war angenehm kühl also legte ich meine Jacke hinter das Rad, hängte den Helm an den Lenker und legte mich auf den Radweg neben der Straße.

Nach zwei Minuten hörte ich einen Radler. Er fragte mich mit Osteuropäischem Akzent: „Ist alles OK?“. Ich antwortete „Alles OK, ich mache nur Pause. Danke der Nachfrage!“.

Ein paar Minuten später hielt ein Auto und die Scheibe wurde runtergekurbelt. Eine Frau fragte „ist alles in Ordnung?“. Ich sagte wieder, dass ich nur Pause mache und bedankte mich. Dann legte ich mich nochmal zurück, um für ein paar letzte Augenblicke die Sonne zu genießen. Dann stand ich auf, und als ich gerade die Jacke anzog hörte ich ein Auto hier auf dem Radweg. Eine Familie war von der Straße runtergefahren und sie fragten mich, ob mir irgendwas passiert sei.

„Wir hatten sie da liegen sehen und wussten nicht, ob irgendwas passiert ist, da hab’ ich gesagt, wir können nicht einfach vorbeifahren.“

Ich habe mich wieder bedankt und ihnen gesagt, dass ich es toll finde, dass sie fragen. Dann sind sie ein Stück weitergefahren zum Wenden. Auf ihrem Rückweg haben sie noch gefragt, ob ich Radurlaub mache. „Nein, ich bin auf dem Weg zur Arbeit, habe aber Gleitzeit und konnte deswegen 5 Minuten Pause eingelegen. Ich finde es toll, dass sie Fragen: Dadurch weiß ich, dass wenn mal wirklich was passieren sollte, binnen 5 Minuten jemand zu Hilfe kommt“.

Dann sind wir weitergefahren, und ich habe entschieden, dass ich diesen Artikel schreiben will. Jetzt brauche ich nur noch ein Tuch, das ich über mein Rad hängen kann und auf dem steht:

Es geht mir gut,
Ich mache nur Pause,
Danke für ihre Aufmerksamkeit! ☺

Menschen sind toll!

PS: Das hier ist jetzt schon mein dritter Text darüber, wie toll Menschen sind. Einer der anderen beiden ist auch schon online: Menschen sind toll! (Danke Bernd!)

Euch trifft der Bahnstreik? Dann lest die Streikzeitung!

Gestern habe ich versucht, herauszufinden, was die GDL im Streik eigentlich will. Auf ihrer Seite gibt es dazu wenig Infos und normale Zeitungen haben sich als nutzlos erwiesen.

Sinnvolle Informationen habe ich erst in der Streikzeitung bekommen - die ich euch hiermit wärmstens ans Herz legen möchte:

Streikzeitung 2015-05 (PDF) Verwandte Notiz: Erzieherinnen im Kindergarten mit Ausbildung als Fachkraft aber ohne Leitungsaufgabe verdienen 2,797 bis 3,042€ BRUTTO - im Durchschnitt 2,880. Das liegt liegt deutlich unter dem Durchschnittsgehalt in Deutschland von 3,527€ (laut Statistischem Bundesamt).1 Das sind die Leute, die unsere Kinder in der prägendsten Phase begleiten und wir bezahlen sie in etwa so gut wie Automechaniker (in Tarifgebunden Betrieben).


  1. Ein mittleres Brutto-Monatsgehalt (den Median des Brutto) habe ich leider vergeblich gesucht. 

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” (like this reddit commenter): 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
# check for pull-requests
cd ../life-repo
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.

Setup

(I only explain the setup for GNU/Linux because that’s what I use. If you want Infocalypse for other platforms, come to the #freenet IRC channel so we can find the best way to do it)

Freenet Setup

Install and start Freenet. This should just take 5 minutes.

Then activate the Web of Trust plugin and the Freemail plugin. As soon as your Freenet is running, you’ll find the Web of Trust and Freemail plugins on the Plugins-Page (this link will work once you have a running Freenet. If you want to run Freenet on another computer, you can make it accessible to your main machine via ssh port forwarding: ssh -NL 8888:localhost:8888 -L 9481:localhost:9481 <host>).

Now create a new Pseudonym on the OwnIdentities-page.

Infocalypse Setup

Install Mercurial, defusedxml, PyYAML for Python2. The easiest way of doing so is using easy_install from setuptools:

cd ~/
echo '
export PATH="${PATH}:~/.local/bin:~/bin"
export PYTHONPATH="${PYTHONPATH}:~/.local/lib64/python2.7:~/.local/lib/python2.7"
export PYTHONPATH="${PYTHONPATH}:~/lib/python2.7:~/lib64/python2.7"
' >> ~/.bashrc
source ~/.bashrc
wget https://bootstrap.pypa.io/ez_setup.py -O - | python2.7 - --user
easy_install --user Mercurial defusedxml PyYAML pyFreenet

Then get and activate the Infocalypse extension:

hg clone https://bitbucket.org/ArneBab/infocalypse
echo '[extensions]' >> ~/.hgrc
echo 'infocalypse=~/infocalypse/infocalypse' >> ~/.hgrc

Infocalypse with Pseudonym

Finally setup Infocalypse for the Pseudonym you just created. The Pseudonym provides pull-requests and for shorter repository URLs.1

hg fn-setup --truster <Nickname of your Web of Trust Pseudonym>
hg fn-setupfreemail --truster <Nickname of your Web of Trust Pseudonym>

That’s it. You’re good to go. You can now share your code over Freenet.

Welcome to the Infocalypse!

Example

This example shows how to share code over Freenet (using your Pseudonym instead of ArneBab).
# Create the repo
hg init life-repo
cd life-repo
echo "my" > life.txt
hg commit -Am "first steps"
cd ..

# Share the repo
hg clone life-repo freenet://ArneBab/life-repo

# Get a repo and add changes
hg clone freenet://ArneBab/life-repo real-life
cd real-life
echo "real" > life.txt
hg commit -m "getting serious"

# Share the repo and file a pull-request
hg clone . freenet://ArneBab/real-life
# the . stands for "the current folder"
hg fn-pull-request --wot ArneBab/life-repo # enter a message
cd ..

# Check for pull-requests and share the changes
cd life-repo
hg fn-check-notifications --wot ArneBab
hg pull -u freenet://ArneBab/real-life
hg push freenet://ArneBab/life-repo

Privacy Protections

Infocalypse takes your privacy seriously. When you clone a repository from freenet, your username for that repository is automatically set to “anonymous” and when you commit, the timezone is faked as UTC to avoid leaking your home country.

If you want to add more security to your commits, consider also using a fake time-of-day:

hg commit -m "Commit this sometime today" --date \
   "$(date -u "+%Y-%m-%d $(($RANDOM % 24)):$(($RANDOM % 60)):$(($RANDOM % 60)) +0000")"

Open path/to/repo-from-freenet/.hg/hgrc to set this permanently via an alias (just adapt the alias for rewriting the commit-date to UTC - these are already in the hgrc file if you cloned from Freenet).

Background Information

Let’s look at a few interesting steps in the example to highlight the strengths of Infocalypse, and provide an outlook with steps we already took to prepare Infocalypse for future development.

Efficient storage in Freenet

hg clone life-repo freenet://ArneBab/life-repo

Here we clone the local repository into Freenet. Infocalypse looks up the private key from the identity ArneBab. Then it creates two repositories in Freenet: <private key>/life-repo.R1/0 and <private key>/life-repo.R0/0. The URLS only differ in the R1 / R0: They both contain the same pointers to the actual data, and if one becomes inaccessible, the chances are good that the other still exists. Doubling them reduces the chance that they fall out and become inaccessible, which is crucial because they are the only part of your repository which does not have 100% redundancy. Also these pointers are the only part of the repository which only you can insert. As long as they stay available, others can reinsert the actual data to keep your repository accessible.

To make that easy, you can run the command hg fn-reinsert in a cloned repository. It provides 5 levels:

  • 1 - re-inserts the top key(s)
  • 2 - re-inserts the top keys(s), graphs(s) and the most recent update.
  • 3 - re-inserts the top keys(s), graphs(s) and all keys required to bootstrap the repo (default).
  • 4 - adds redundancy for big (>7Mb) updates.
  • 5 - re-inserts existing redundant big updates.
To reinsert everything you can insert, just run a tiny bash-loop:

for i in {1..5}; do hg fn-reinsert --level $i; done

Let’s get to that “actual data”. When uploading your data into Freenet, Infocalypse creates a bundle with all your changes and uploads it as a single file with a content-dependent key (a CHK). Others who know which data is in that bundle can always recreate it exactly from the repository.

When someone else uploads additional changes into Freenet, Infocalypse calculates the bundle for only the additional changes. This happens when you push:

hg push freenet://ArneBab/life-repo

To clone a repository, Infocalypse first downloads the file with pointers to the data, then downloads the bundles it needs (it walks the graph of available bundles and only gets the ones it needs) and reassembles the whole history by pulling it from the downloaded bundles.

hg clone freenet://ArneBab/life-repo real-life

By reusing the old bundles and only inserting the new data, Infocalypse minimizes the amount of data it has to transfer in and out of Freenet, and more importantly: Many repositories can share the same bundles, which provides automatic deduplication of content in Freenet. When you take into account that in Freenet often accessed content is faster and more reliable than seldomly accessed content, this gives Infocalypse a high degree of robustness and uses the capabilities of Freenet in an optimal way.

If you want to go into Infocalypse-specific commands, you can also clone a repository directly to your own keyspace without having to insert any actual data yourself:

hg fn-copy --requesturi USK@<other key>/<other reponame>.R1/N \
   --inserturi USK@<your key>/<your reponame>.R1/N

Pull requests via anonymous Freemail

Since the Google Summer of Code project from Steve Dougherty in 2013, Infocalypse supports sending pull-requests via Freemail, anonymous E-Mail over Freenet.

hg fn-pull-request --wot ArneBab/life-repo # enter a message
hg fn-check-notifications --wot ArneBab

This works by sending a Freemail to the owner of that repository which contains a YAML-encoded footer with the data about the repository to use.

You have to trust the owner of the other repository to send the pull-request, and the owner of the other repository has to trust you to receive the message. If the other does not trust you when you send the pull-request, you can change this by introducing your Pseudonym in the Web of Trust plugin (this means solving CAPTCHAs).

Convenience

To make key management easier, you can add the following into path/to/repo/.hg/hgrc

[paths]
default = freenet://ArneBab/life-repo
real-life = freenet://ArneBab/real-life

Now pull and push will by default go to freenet://ArneBab/life-repo and you can pull from the other repo via hg pull real-life.

Your keys are managed by the Web of Trust plugin in Freenet, so you can use the same freenet-uri for push and pull, and you can share the paths without having to take care that you don’t spill your private key.

DVCS WebUI

When looking for repositories with the command line interface, you are reliant on finding the addresses of repositories somewhere else. To ease that, Steve also implemented the DVCS WebUI for Freenet during his GSoC project. It provides a web interface via a Freenet plugin. In addition to providing a more colorful user interface, it could add 24/7 monitoring, walking remote repositories and pre-fetching of relevant data to minimize delays in the command line interface. It is still in rudimentary stages, though.

All the heavy lifting is done within the Infocalypse Mercurial plugin: Instead of implementing DVCS parsing itself, The DVCS WebUI asks you to connect Infocalypse so it can defer processing to that:

hg fn-connect

The longterm goal of the DVCS WebUI is to use provide a full-featured web interface for repository exploration. The current version provides the communication with the Mercurial plugin and lists the paths of locally known repositories.

You can get the DVCS WebUI from http://github.com/Thynix/plugin-Infocalypse-WebUI

Gitocalypse

If you prefer working with git, you can use gitocalypse written by SeekingFor to seamlessly use Infocalypse repositories as git remotes. Gitocalypse is available from https://github.com/SeekingFor/gitocalypse

The setup is explained in the README.

Troubleshooting

  • When I'm running "hg fn-setup" I get the error "abort: No module named fcp.node"
    Do you have pyFreenet installed? Also ensure that you installed it for python 2.
    wget bootstrap.pypa.io/ez_setup.py -O - | python2.7 - --user
    easy_install --user Mercurial defusedxml PyYAML pyFreenet

Conclusion

Infocalypse provides hosting of repositories in Freenet with a level of convenience similar to GitHub or Bitbucket, but decentralized, anonymous and entirely built of Free Software.

You can leverage it to become independent from centralized hosting platforms for sharing your work and collaborating with other hackers.


  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:

You forged me, but I chose my own path.

Emperor Mengsk takes a gun while Kerrigans bone-wings flail through empty air. She whispers:

There’s something you don’t know.

Her talons touch the base of the Xel'Naga artifact. Crushed by limbs which tear through the armor of siege tanks, the base cracks, breaks through the ground and disappears, taking the artifact with it.

Instantly Mengsk fires his gun. The shot hits Kerrigans head and throws her backwards to the ground.

It was nice, Kerrigan. Every dominion needs an enemy. You helped me stabilize my rule. But I could not give you the time to recover.

Kerrigans limbs shiver, her mouth forms silent words:

I am the swarm.

Mengsk fires again and Kerrigans body goes limp. Then Mengsk takes a rug to clean his gun. As he puts it away, a scream from one of his surviving guards echoes through the cracked door to his room. Moments later two Zerglings throw themselves through the opening and at Mengsk. Two sure shots take them out.

Then a weak voice echoes in Mengsks mind:

As long as…

A Hydralisk appears in the door, its fangs wide open, a spine readying deep in its throat. Mengsk fires and his shots crush bones, but the spine stays poised. Alien eyes focus on Mengsk, and the voice in his thoughts is no longer weak. It booms in his mind and in all those around him:

…the swarm lives,…

The voice cuts through the mind of every being on the planet. Children cry, old men stumble and even the strongest are shaken to their very bones, as they see the image of Mengsk through the eyes of the Hydralisk. A distorted image of their Emperor, shimmering in the throb of blood within his veins. They feel the sudden release of the tension in the sinews of the Hydralisk as it catapults the spine towards Mengsk. And a voice pierces their minds which they will never forget in their lifetime:

…so do I.

The spine cuts through Mengsks armor and crushes his chest. Bone fragments fly from the wall behind him and blood spills over his Uniform. As the Emperor slumps down and more Zerglings fill the room to tear him apart, the voice continues:

I am the swarm.

Billions of terrans stand witness as Kerrigan breaks free from a Zerg egg. Watched by a thousand Zerg, her bone wings extend into every corner of the living chamber and caress the walls which pulsate with the rhythm of an alien heart. Her voice imprints her words into the memory of every terran on Korhal:

I now see my true enemy. He awaits for me in the void. Wielding powers I cannot imagine. I go to face him, having renounced everything. My humanity. My identity. The man I love. But I will not face this enemy alone.

The presence weakens. Then a vast darkness fills the minds of all terrans on the planet, while they realize that now, they are alone. Alone with memories they can never forget.

I am the swarm.


  1. The epub icon was created by the Oxygen Team (kde.org) 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. 

AnhangGröße
strong-kerrigan.epub6.76 KB
application-epub-zip-128x128-lgpl-by-the-oxygen-team.png17.75 KB
2015-05-01-Fr-starcraft-2-alternative-ending-strong-kerrigan.org4.52 KB

Mein erstes Papier: Carbontracker und TM5-4DVar

Mein erstes Papier ist seit dem 25. März 2015 in Interaktiver Diskussion:

Comparing the CarbonTracker and TM5-4DVar data assimilation systems for CO₂ surface flux inversions
— A. Babenhauserheide, S. Basu, S. Houweling, W. Peters and A. Butz


Modellierte Biosphären-Senke für Kohlenstoff in Nord-Amerika April 2009 bis April 2010 mit zwei Modellen und steigender Dichte an Beobachtungsstationen. Zum Vergleich: Die Jährliche Kohlenstoff-Quelle durch Verbrennung von Öl und Kohle beträgt etwa 10 PgC.
(alle Bilder, die ich hier nutze, sind Open Access,1 genauer gesagt: unter cc by lizensiert: A. Babenhauserheide. Bitte nennt die Autoren und verlinkt das Papier, wenn ihr sie verwendet.)

Zusammen mit den Co-Autoren habe ich zwei Inverse Modelle verglichen, mit denen die CO₂ Quellen und Senken in der Biosphäre (wie verrottende Blätter und Kohlenstoffaufnahme in Wäldern) optimiert werden, um konsistent mit Messungen der CO₂ Konzentration in der Atmosphäre zu sein.

Wir konnten zeigen, dass die Modelle im Rahmen der Validierungsmöglichkeiten gleich gut sind, die Mindestunsicherheit abschätzen, die bei dem genutzten Messnetzwerk (Stationen von 2010) für Quellen und Senken durch Annahmen im Inversen Modell bewirkt wird (auf kontinentaler Skala im Durchschnitt bei 0.25 PgC/a — in der Größenordnung der halben jährlichen Europäischen Flüsse), und zeigen, dass bei steigender Beobachtungsdichte der Unterschied zwischen beiden Modelles sinkt, so dass ein dichteres Messnetzwerk es ermöglichen würde, robuste Flüsse auf Subkontinentaler Skala zu erhalten.

Verkürzt:

  • Die Modelle sind im Rahmen der Messgenauigkeit gleich gut.
  • Die Unsicherheit jährlicher kontinentaler Flüsse liegt bei dem Messnetzwerk von 2010 bei mindestens 0.25 PgC/a.
  • Ein dichteres Messnetzwerk kann robuste Flüsse auf subkontinentaler Skala liefern.


Bias der beiden Modelle gegenüber zufällig ausgewählten Gruppen von je 25 nicht assimilierten Messstationen und/oder Flugzeugmessungen. Carbontracker mit drei unterschiedlichen Assimilationsfenstern genutzt: 5 Wochen, 10 Wochen und 5 mal 20 Tagen. Längere Assimilationsfenster geben einen signifikant niedrigeren Bias. Mit den zwei längeren Assimilationsfenstern ist die Qualität der Ergebnisse von Carbontracker und TM5-4DVar nicht unterscheidbar.

Außerdem konnten wir einige interessante Aspekte der Flüsse in der Antarktis und in Asien untersuchen.

Die Ergebnisse klingen erstmal nach wenig, waren aber drei Jahre Arbeit: Beide Modelle zum Laufen bringen, dafür sorgen, dass alle Eingabeparameter und Eingabedaten hinreichend gleich sind, und relevante, statistisch robuste Vergleiche zu finden. Und debuggen, debuggen, debuggen :)

Von der Aussage „wir haben Ergebnisse“ bis hin zu „unsere Ergebnisse sind wissenschaftlich tragfähig“ ist es ein weiter Weg: Wir haben ein Jahr lang immer und immer wieder neue Vergleiche und Analysen laufen lassen, geprüft und diskutiert, bis wir ein Ergebnis hatten, mit dem wir zufrieden waren. Es war viel Arbeit, aber sie war es wert.

Und damit zurück zum Papier.

Die beiden verglichenen Modelle sind Carbontracker und TM5-4DVar.

Carbontracker ist das etablierte Modell des Earth Science Research Lab von NOAA. Es liefert operative2 CO₂ Flüsse (Quellen und Senken) und wird durch einem internationalen Team von Wissenschaftlern weiterentwickelt. Wouter Peters aus den Niederlanden ist dabei eine der treibenden Kräfte und war Erstautor des ursprünglichen Papiers zu Carbontracker:

An atmospheric perspective on North American carbon dioxide exchange: CarbonTracker
— Wouter Peters, Andrew R. Jacobson , Colm Sweeney , Arlyn E. Andrews, Thomas J. Conway, Kenneth Masarie, John B. Miller, Lori M. P. Bruhwiler, Gabrielle Pétron , Adam I. Hirsch , Douglas E. J. Worthy, Guido R. van der Werf, James T. Randerson , Paul O. Wennberg, Maarten C. Krol , and Pieter P. Tans

TM5-4DVar ist ein eng mit dem Transport Model 5 (TM5) verzahntes inverses Modell, das bis vor ein paar Jahren hauptsächlich in den Niederlanden entwickelt wurde, von wo aus Sander Houweling weiterhin als einer der Hauptentwickler agiert. Der Erstautor des Papiers, das wir zu TM5-4DVar referenziert haben ist Sourish Basu, der uns viel mit dem Aufsetzen und verstehen des Modells geholfen hat:

Global CO₂ fluxes estimated from GOSAT retrievals of total column CO₂
— S. Basu, S. Guerlet, A. Butz, S. Houweling, O. Hasekamp, I. Aben, P. Krummel, P. Steele, R. Langenfelds, M. Torn, S. Biraud, B. Stephens, A. Andrews, and D. Worthy

Das Papier fängt wie üblich mit der Einleitung an: Warum ist das hier wirklich wichtig. Die Kurzform der Antwort ist: Weil die globalen Modelle für Quellen und Senken von CO₂ viel besser werden müssen, wenn wir erkennen wollen, wie die Biosphäre auf den Klimawandel reagiert. Wenn wir das nicht können, haben wir kaum eine Chance einzugreifen, wenn sich das ändert. Aktuell nehmen Ozeane und Biosphäre etwa 50% des CO₂ auf, das wir in die Atmosphäre pumpen. Würde das wegfallen, würden die CO₂ Konzentrationen doppelt so schnell steigen wie bisher. Und aktuell könnten wir nur sagen, dass sich etwas ändert, aber nicht wo.

Danach kommt die minimale Menge an Mathematik, um die Modelle zu verstehen (Dank für eine deutlich kompaktere Darstellung geht an André, meinen Gruppenleiter), gefolgt von der Beschreibung des Aufbaus: Welche Daten nutzen wir, wie bereiten wir sie auf, aus welchen Modellen kommen sie, welche Modelle sind Teil unserer Prozessierungskette und was für Experimente machen wir.

Und dann kommen wir zu den Ergebnissen.

Um das etwas spannender zu machen, habe ich sie im up-goer five text editor beschrieben:

We let think-boxes dream two dreams starting from the same ideas how much animal-breath we can find in the air at less than one hundred places in the world and where animal-breath could go to and where it could come from.

The dreams of the think-boxes search for better ideas where animal-breath could come from and where it could go to.

To find out how good the dreams fit the real world we look how different they are from places where we know how much animal breath is in the air which we did not tell the think-boxes about when they started to dream.

Then we look where the dreams are different to get an idea how close they are to the real world. This idea is not the real world but it tells us how different the real world can be from the dreams.

We find that the dreams are so close to each other that we can not say which one is better.

We also find that we do not know whether the old world is a place where animal-breath goes to or where it comes from.

But we see that when we would have as many places which look at animal-breath at every place in the world as in the new world, then we could know about the old world, too. And to find out for smaller places whether animal-breath goes there or whether it comes from there, we only need to start more places where we watch animal-breath.

Twenty new places should allow understanding the old world well enough that we would see it when its woods would take up only half as much animal breath as the year before.

And that is what I did for three years: Finding out how well we know where animal-breath comes from and goes to.

Und um das abzurunden, gleich noch den Grund, warum ich das eigentlich mache:

This is what I do for work:

I tell think-boxes how to find out where animal-breath which we can see in the air comes from and goes to.

That animal-breath warms our world because it holds warming light down which the ground sends up away. It does not only come from animals, but also from burning things which we bring out from the ground where they had rested.

We can see how much of that animal-breath is in the air at the moment, but only on the ground at very few places or from high up with much wrong-being.

To find out where it comes from, I tell the think-boxes to dream many different dreams. They dream where the animal-breath could come from and how much of it we would see if the dream were true at the places in the world at which we know how much there really is. Then they change the dreams to make how much animal-breath the dreams see fit better what we see in the real world.

And when the dreams agree with what we see in the real world, we think that what the dreams say where the animal-breath comes from and goes to is close to where it comes from in the real world.

And that is what I want to find out: I try to learn where animal-breath comes from and where it goes.

Das war’s ☺

Ich hoffe, euch hat meine Beschreibung meines Papiers gefallen!

Was ich hier geschrieben habe ist nur eine Annäherung an das Papier und ganz sicher keine offizielle Übersetzung. Wer sich über irgendetwas hier wundert und damit ins Internet rennt, ohne vorher das Papier zu lesen, der oder die ist doof ☺

Damit sollte auch klar sein, wie ernst ich solche Beschwerden nehmen würde.


  1. Dank Open Access darf ich jetzt auch endlich darüber schreiben, was ich die letzten zwei Jahre gemacht habe. In meinem Arbeitsvertrag steht nämlich „Klappe halten“, und erst die Lizensierung unter cc Namensnennung erlaubt mir formell, die selbsterstellten Grafiken hier zu zeigen. Ich weiß, dass viele das nicht so ernst nehmen, aber ich arbeite an Freenet mit, da will ich mir rechtlich keine offene Flanke geben. 

  2. Operativ bedeutet, dass regelmäßig Daten geliefert werden, die als qualitativ hochwertig angesehen werden3, dass andere darauf aufbauen können. 

  3. Qualitativ hochwertig heißt in allererster Linie, dass Unsicherheiten sauber angegeben werden. Damit ist klar, welche Aussagen auf Grundlage der Daten getroffen werden können und welche nicht. Bei einem Wert von 3±3 könnte ich zum Beispiel nicht sagen, dass der Wert positiv ist, weil bei einer erneuten Berechnung, die andere (aber gleich gute) Grundlagen verwendet, mit einer Wahrscheinlichkeit von 16% ein negativer Wert herauskommen würde. Bei 3±3 wird der Bereich 0 bis 6 als „ein Sigma“ (1σ) bezeichnet: In diesem Bereich liegen bei Gaussscher Normalverteilung (typischer Zufall) 68% der Messwerte. Der Bereich -3 bis 9 wird als „zwei Sigma“ (2σ) bezeichnet. Darin liegen 95% der Messwerte. Wenn ein Ergebnis außerhalb zwei Sigma liegt, wird das meist als Indikator gesehen, dass es signifikant von dem erwarteten Wert abweicht. Wenn also jemand sagt „in der Tanzkneipe sind normalerweise 15±6 Leute“ und am Karaokeabend zähle ich 30 Leute, sind das mehr als zwei Sigma (der 2σ Bereich ist 3 bis 27) , also könnte ich sagen, dass Karaoke die Anzahl der Leute in der Kneipe signifikant erhöht. Wer gemerkt hat, dass hier was nicht stimmt, weil es nicht möglich ist, um 3σ nach unten abzuweichen, und deswegen die ganze Kneipen-Statistik in Frage stellt, hat recht - und wird vermutlich Spaß an dem Wikipedia-Artikel zur Poisson-Verteilung haben ☺. 

AnhangGröße
flux-histobs-flux-ct-t4d-alternating-nam.pdf50.59 KB
flux-histobs-flux-ct-t4d-alternating-nam.png224.15 KB
randomsets-case-resampling-ctvst4d-5x7-5x20.pdf148.83 KB
randomsets-case-resampling-ctvst4d-5x7-5x20.png153.14 KB

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.

Written as answer to Crossing the Red Sea from Cartoonist Nina Paley: war is rarely wrought “for the people”, but for those in power.

Simple daemon with start-stop-daemon and runit

PDF

PDF (to print)

Org (source)

Creating a daemon with almost zero effort.

start-stop-daemon

The example with the start-stop-daemon uses Gentoo OpenRC as root.

The simplest daemon we can create is a while loop:

echo '#!/bin/sh' > whiledaemon.sh
echo 'while true; do true; done' >> whiledaemon.sh
chmod +x whiledaemon.sh

Now we start it as daemon

start-stop-daemon --pidfile whiledaemon.pid \
--make-pidfile --background ./whiledaemon.sh

Top shows that it is running:

top | grep whiledaemon.sh

We stop it using the pidfile:

start-stop-daemon --pidfile whiledaemon.pid \
--stop ./whiledaemon.sh

That’s it.

Hint: To add cgroups support on a Gentoo install, open /etc/rc.conf and uncomment

rc_controller_cgroups="YES"

Then in the initscript you can set the other variables described below that line. Thanks for this hint goes to Luca Barbato!

If you want to ensure that the daemon keeps running without checking a PID file (which might in some corner cases fail because a new process claims the same PID), we can use runsvdir from runit.

daemon with runit

Minimal examples for runit daemons - first as unpriviledged user, then as root.

runit as simple user

Create a script which dies

echo '#!/usr/bin/env python\nfor i in range(100): a = i*i' >/tmp/foo.py
chmod +x /tmp/foo.py

Create the daemon folder

mkdir -p ~/.local/run/runit_services/python
ln -sf /tmp/foo.py ~/.local/run/runit_services/python/run

Run the daemon via runsvdir

runsvdir ~/.local/run/runit_services

Manage it with sv (part of runit)

# stop the running daemon
SVDIR=~/.local/run/runit_services/ sv stop python
# start the service (it shows as `run` in top)
SVDIR=~/.local/run/runit_services/ sv start python

runit as root

Minimal working example for setting up runit as root - like a sysadmin might do it.

echo '#!/usr/bin/env python\nfor i in range(100): a = i*i' >/tmp/foo.py &&
    chmod +x /tmp/foo.py &&
    mkdir -p /run/arne_service/python &&
    printf '#!/bin/sh\nexec /tmp/foo.py' >/run/arne_service/python/run &&
    chmod +x /run/arne_service/python/run &&
    chown -R arne /run/arne_service &&
    su - arne -c 'runsvdir /run/arne_service'

Or without bash indirection (giving up some flexibility we don’t need here)

echo '#!/usr/bin/env python\nfor i in range(100): a = i*i' >/tmp/foo.py && 
    chmod +x /tmp/foo.py &&
    mkdir -p /run/arne_service/python &&
    ln -s /tmp/foo.py /run/arne_service/python/run &&
    chown -R arne /run/arne_service &&
    su - arne -c 'runsvdir /run/arne_service'
AnhangGröße
2015-04-15-Mi-simple-daemon-openrc.org2.92 KB
2015-04-15-Mi-simple-daemon-openrc.pdf152.99 KB

Zeitungen exklusiv bei Facebook - Idiotie ohne Ende

→ Kommentar zum Artikel Rettet uns Facebook? (Journalismus in Online-Netzwerken), in dem Daniel Kretschmar in der Taz die These aufstellt, es sei wegen dem Versagen der Verlage, digital Geld zu verdienen, zu begrüßen, wenn bei exklusivem Vertrieb über Facebook „am Ende ein paar Brotsamen für die Inhalteproduzenten abfallen mögen“.

Was machen die Zeitungsverlage, wenn Facebook selbst Journalisten einstellt - so wie Amazon zum Buchhändler wurde? Wenn Zeitungen bei Facebook veröffentlichen - auch noch exklusiv - machen sie sich von einem natürlichen Konkurrenten abhängig.

Sobald die Zeitungen alle Leute verloren haben, die bisher noch auf deren eigene Webseiten gehen, rechnet sich das Geschäft für Facebook nicht mehr. Dann kann Facebook die Journalisten auch gleich selbst einstellen.

Ich habe den Beitrag hier übrigens gefunden, weil ich über Twitter einen Artikel hier gesehen und danach auf die Startseite der Taz geschaut habe: „Was habt ihr gerade noch, das ihr wichtig genug findet, dass es auf die Startseite gehört“.

Mit Facebook wär das nicht passiert.

PS: Ich habe seit Jahren ein Online-Abo der Taz - allerdings nicht mit 5€ (die es heute kostet), sondern mit 20€ im Monat: Dem gleichen Betrag, den ich vorher für die Druckversion gezahlt habe. Das ist eine Lesenden-Finanzierte Zeitung mir wert.

Freenet protects your DickPic!

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

Freenet protects your DickPic!
(mirror via Freenet)

Watch Edward Snowden reveal DickPic, the latest, most massive surveillance program from the NSA:

Thanks to John Oliver for one of the most awesome acts of journalism I’ve seen!

FAQ

Anonymous@lFG3mGbGf0b8nE6j8RC0i5ZgWEhsQXDG3ghkYIa-1wQ wrote :
I thought Freenet wasn’t able to protect against the NSA?

The link “Connect to your friends” shows how to connect via darknet and communicate via darknet N2N messages (node-to-node messages). From my understanding, these are currently one of the most secure communication methods we can get, because they hide our personal communication beneath Freenet traffic.

They aren’t suited to communicating anonymously (because we can only talk with our friends), but they are well suited to communicating confidentially.

PS: The image is licensed under GPL, copyright: the freenet team (for the rabbit) and Arne Babenhauserheide. It uses the source images Zuchineee (thanks to Arthurcravan prrrr!) and National Security Agency from the public domain. See the sources below. … but you know what: Just share it anyway you like. I’m sure the author of the rabbit agrees, and I for sure do ☺

PPS: Yes, I had lots of fun creating this ;-)

PPPS: For some reason, the image disappeared from my server. I did not take it down. Yes, that worries me. What you see above is served from an in-proxy into Freenet. Should that go down, too, you can still use Freenet to access the image or setup your own in-proxy to allow others to see it.

AnhangGröße
freenet-protects-your-dickpic-vs-nsa.gif659.81 KB
freenet-protects-your-dickpic-vs-nsa.png126.31 KB
freenet-protects-your-dickpic-vs-nsa.xcf2.54 MB

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? Or bluntly:

Do you, dear readers, share my taste? ;-] But enough with the intro: Here are the top 20 articles from my site, by language and topic:

English:

German:

So my typical reader1 cares about source code management, Emacs, privacy and technical elegance, likes working in a convenient, though nonstandard environmment, does not fall for corporate propaganda, reflects on social interaction and enjoys creative adaption of free software idealism. In case he or she speaks german my typical reader is also interested in questioning what we commonly learn about reality.

And that combination is pretty interesting, so I hope we’ll meet some day ☺.

So, dear typical or non-typical reader: Welcome to my site! I’m glad you read what I write, and I hope you enjoy it! Please check back from time to time to see what’s new.

PS: Maybe I’ll write some other day what I miss in this list.


  1. The typical reader is a statistical fiction, munged together from many very different groups. Few of you will be exactly like the typical reader. But it’s interesting to investigate anyway. And if you also read the other articles in this list, and they spike your interest, my invention of the typical reader of draketo.de actually brings this typical reader into reality today2. Got you ☺ 

  2. Most of my typical readers won’t read this at the publication date, because they only find my articles over various social news platforms, so if you now feel cheated by being tricked into becoming a typical reader without having a say in the matter, check the publication date and see my evil gamemasters grin (egg: ;-]). If you feel cheated, I got you today (but it’s still true ;-]) - and if you want to stop being a typical reader and start being a statistical individuum3 again, go on and read those others of my articles which really interest you (and read more of my writing - because that’s why I write this site: I want you to read it, and today I’m playing dirty ^_^)! Now go and read more! ☺ 

  3. giggling crazily 

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?

Nobelpreise verstehen

Ich plane, im Herbst 2015 meine Doktorprüfung abzulegen. Am KIT gehen Prüfende dabei gerne auf frühere Nobelpreise ein (natürlich vor allem auf die von Forschern aus Karlsruhe). Das möchte ich als Aufhänger nehmen, mich endlich genauer mit den Themen der Nobelpreise zu beschäftigen. Lange Zeit habe ich sie wenig beachtet, weil ich es nie so mit Autorität hatte und lieber spannende Randgebiete betrachtet habe. Aber für jede Ideologie gibt es einen Punkt, an dem man sie in Frage stellen sollte, und für Nobelpreise ist diese Zeit bei mir gekommen.

Ich will die Nobelpreise der letzten Jahre selbst besser verstehen, und dafür gibt es kaum einen besseren Weg, als sie anderen zu erklären. Genau das will ich hier tun. Ich fange mit Nobelpreisen für Physik an, sollte aber wohl auch Chemie anschauen.

Auf nobelprize.org gibt es eine Liste aller Nobelpreisträger und Nobelpreisträgerinnen für Physik zusammen mit Kurzbeschreibungen.

Das KIT führt eine eigene Liste der Nobelpreisträger aus Karlsruhe, allerdings alle außer der Braunschen Röhre für Chemie.

Oettingers Taliban-Netz

Die Befürworter des Diskriminierenden, Abzockenden Netzes fahren gerade so irrsinnige Argumentative Geschütze auf,1 dass ich lachen würde, wenn es nicht so verdammt ernst wäre.2 Jetzt schreibe ich, weil jemand dazu kommentierte, Oettinger hätte „im Prinzip nicht unrecht“ (erster Kommentar zum Link) und damit die Technik meinte.

Das Problem an den technischen Argumenten gegen Netzneutralität ist, dass sie auf Sand gebaute Lügengebilde sind.

Das Netz ist grundlegend auf dem Prinzip des Best-Effort aufgebaut - was bedeutet, dass weder sichergestellt ist, dass irgendeine Information ankommt, noch wie lange sie dafür braucht. Solange die gleiche Infrastruktur genutzt wird, ist das Netz einfach nicht tauglich, um Dienste bereitzustellen, die eine gewisse Leistung garantieren oder immer funktionieren müssen.

Dafür gibt es andere Infrastruktur (z.B. das Telefonnetz - genauer: Leitungsbasierte Netze). Zusätzlich kann fehlende Netzneutralität durch nur geringe Priorisierung komplette Dienste lahmlegen. Wir haben in der Familie ungewollt Erfahrungen damit gesammelt, weil ich im Router einen harmlosen kleinen Dienst mit geringer Bandbreite priorisiert habe. Meine Frau hatte dadurch ein halbes Jahr lang kein WLAN mehr, bis wir endlich die Ursache gefunden hatten.

Und bevor jemand sagt „wir haben aber doch genug Bandbreite“: Die Bandbreite ist nicht das Problem: Die Latenz ist knapp - war es schon immer und wird es in der Infrastruktur des Internet auch bleiben. Das ist Teil des Konzeptes des Widerstandsfähigen Netzes: Nichts ist garantiert, deswegen kann alles selbst bei massiven Störungen irgendwie funktionieren.

Und ehrlich gesagt, wenn jemand Gleichmacherei und Taliban in einem Satz nennt (wie es Oettinger getan hat), sollte bei allen Denkenden der MUTIERTE KOMMIE-VERRÄTER-Alarm anspringen, auch bekannt als „Mutierte Techno-Kommunisten-Nazis“.

Wenn ein Parlamentarier solche Geschütze auffährt, versucht er zu vertuschen, dass er gerade mit vollem Wissen das verrät, was er geschworen hat zu verteidigen.


  1. Günther Oettinger: Netzneutralität tötet, Befürworter sind Taliban-artig 

  2. Netzgemeinde: Wir haben verloren — im Ausschuss, der in der EU einen Kompromiss zwischen Rat, Kommission und Parlament aushandeln soll, sitzen zwei Feinde der Netzneutralität (einer davon Oettinger) und ein Befürworter. Der Befürworter ist vom Rat gesandt und soll dessen Netzneutralitätsfeindliche Position vertreten. So funktioniert Verrat an den Wählerinnen und Wählern. 

Unfug zu Freenet auf golem.de

→ Auf Golem.de wurde heute ein … mäßig guter Artikel zu Freenet veröffentlicht. Die Zusammenfassung ist „Hauptsächlich Schmuddelinhalte, viele von 2008, mehrere Minuten Ladezeit, begrenzter Speicherplatz und wenig Anonymität außer mit Darknet“. Das hier ist meine höfliche Antwort.

Update: Nachdem ich mich auf Twitter beschwert habe, hat der Autor versprochen die im Artikel völlig fehlenden Kommunikationsprogramme zu erwähnen. Doch das einzige, was ich finde, ist die Zeile „So gibt es beispielsweise Foren (FMS), Microblogging-Dienste (Sone) oder Chat-Programme (FLIP), die nachgerüstet werden können.“ unter der Überschrift „Daten werden in Schlüsseln gespeichert“ - also da, wo niemand nach Kommunikationsprogrammen suchen würde. So sieht eine Minimalkorrektur aus, wenn man die Wirkung des Artikels nicht von Fakten trüben lassen will. Informieren, dass was fehlte? Änderungshinweis? Fehlanzeige. Nichtmal einen Kommentar im eigenen Forum war es wert.

Was im Beitrag fehlt sind die Bereiche, in denen Freenet-Nutzer sich praktisch austauschen: Die Foren (FMS), Microblogging (Sone) und Chat (FLIP).

Für neue Nutzer sind die nicht gleich sichtbar (Zusatzsoftware), aber sie sind der Grund, warum wenig in Blogs steht: In den Plugins und Foren findet die ganze Interaktivität statt.

Trotzdem listet Nerdageddon über 300 Seiten, die seit 2013 hochgeladen oder aktualisiert wurden, allerdings keine einzige von 2008 - ich weiß also nicht, woher die Information mit den alten Seiten kommt. Wer Hintergrund will: Freenet Sozial Networking Guide („soziale“ Anwendungen) oder Nerdageddon (Seiten in Freenet)

Eine Ladezeit von Minuten für eine Webseite in Freenet habe ich schon lange nicht mehr erlebt. 5 bis 30 Sekunden trifft es eher. Wobei mit FLIP (Chat) 60s für eine komplette Round-Trip-Time reichen, also bis eine Antwort auf eine Frage eintreffen kann.

Der begrenzte Speicherplatz ist aktuell „etwa 140 Terabyte“ und steigt automatisch wenn neue Leute dazukommen.

Und die begrenzte Anonymität in Freenet, weil es mit moderatem Aufwand möglich ist, die IPs aller Freenet Nutzer zu finden, gilt wie im Tor FAQ beschrieben genauso auch für Tor. Das als „wenig Anonymität“ hervorzuheben ist damit eine offensichtliche Irreführung, die hoffentlich in zu großem Vertrauen auf Tor wurzelt.

Zusätzlich zu der im Artikel verlinkten Liste mit möglichen Schwachstellen gibt es übrigens noch die allgemeine Security Summary und die Opennet Attacks. Aus der Offenlegung der für die Entwickler denkbaren Schwachstellen auf fehlende Anonymität zu schließen ist allerdings voreilig, solange diese Anonymität nicht mit anderen Diensten verglichen wird.

PS: Ich würde Golem um eine Richtigstellung bitten. Jeder Autor und jede Autorin ist natürlich frei, den Fokus eines Artikels zu wählen, aber sofort erkennbare Irreführungen sollten nicht sein. Das alles hier habe ich auch in den Kommentaren zum Artikel geschrieben, der Autor weiß es also spätestens jetzt.

PPS: Der Autor findet das nicht, weil das bei ihm so aussah. Meine Fragen zu Testmethode und Konfiguration wurden bisher ignoriert:

PPPS: Die Aussage im Artikel „Es gibt auch kein einzelnes Darknet, sondern eine Vielzahl von Darknets, in denen sich Teilnehmer treffen, die sich gegenseitig vertrauen“ erweckt den Eindruck, die Darknets wären voneinander abgeschottet. Das stimmt so nicht: Auch wenn es möglich ist, viele kleine Darknets zu schaffen, ermöglicht es Freenet gleichzeitig, diese kleineren Darknets über das offene Netz zu verbinden. Wenn auch nur eine Person in dem Darknet eine Verbindung ins nicht versteckte Netz hält, können alle im Darknet auf alle Inhalte in Freenet zugreifen und auch Inhalte hochladen. Wenn genügend Leute Freenet nutzen, dürften die kleineren Darknets außerdem laut der immer wieder bestätigten Kleine-Welt-Hypothese auf „natürliche Art“ verbunden werden: Die vereinen sich zu einem großen Darknet.

Freenet: The forgotten cryptopunk paradise

PDF

PDF (to print)

Org (source)

Text (for email)

I planned to get this into a newspaper, but it was too technical for the Guardian and too non-practical for Linux Voice. Then my free time ran out. Today I saw Barret Brown comment his 5 years sentence for quoting a Fox news commentator and sharing a public link. I knew it was time to publish. Welcome to Freenet: The forgotten cryptopunk paradise!

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 cryptopunk 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.

A new old hope

Once only a way to anonymously publish one-shot websites anonymously into Freenet that other members of the group could see, Freenet now provides its users with most services found in the normal internet, yet safe from the prying eyes of the empire. Its users communicate with each other using email which hides metadata, micro-blogging with real anonymity, forums on a wide number of topics - from politics to drug-experiences - and websites with update-notifications (howto) whose topics span from music and anime over religion and programming to life without a state and the deepest pits of depravity.

All these possibilities emerge from its decentralized datastore and the tools built on top of a practically immutable data structure, and all its goals emerge from providing real freedom of the press. Decentralization is required to avoid providing a central place for censorship. Anonymity is needed to protect people against censorship by threat of subsequent punishment, prominently used in China where it is only illegal to write something against the state if too many people should happen to read it. Private communication is needed to allow whistleblowers to contact journalists and also to discuss articles before publication, invisible access to information makes it hard to censor articles by making everyone a suspect who reads one of those articles, as practiced by the NSA which puts everyone on the watchlist who accesses freenetproject.org (reported by german public TV program Panorama). And all this has to be convenient enough that journalists to actually use it during their quite stressful daily work. As side effect it provides true online freedom, because if something is safe enough for a whistleblower, it is likely safe enough for most other communication, too.

These goals pushed Freenet development into areas which other groups only touched much later - or not at all. And except for convenience, which is much harder to get right in a privacy-sensitive context than it seems, Freenet nowadays manages to fulfill these goals very well.

The empire strikes the web

The cloud was “invented” and found to be unsafe, yet Freenet already provided its users with a safe cloud. Email was found to spill all your secrets, while Freenet already provided its users with privacy preserving emails. Disaster control became all the rage after hurricane Katrina and researchers scrambled to find solutions for communicating on restricted routes, and Freenet already provided a globally connectable darknet on friend-to-friend connections. Blogs drowned in spam comments and most caved in and switched to centralized commenting solutions, which made the fabled blogosphere into little more than a PR outlet for Facebook, but Freenet already provided spam resistance via an actually working web of trust - after seeing the non-spam-resistant forum system Frost burn when some trolls realized that true anonymity also means complete freedom to use spam-bots. Censorship and total surveillance of user behavior on Facebook were exposed, G+ required users to use their real names and Twitter got blocked in many repressive regimes, whereas Freenet already provided hackers with convenient, decentralized, anonymous micro-blogging. Now websites are cracked by the minute and constant attacks made it a chore for private webmasters simply to stay available, though Freenet already offers attack-resistant hosting which stays online as long as people are interested in the content.

All these developments happened in a private microcosmos, where new and strange ideas could form and hatch, an incubator where reality could be rethought and rewritten to reestablish privacy in the internet. The internet was hit hard, and Freenet evolved to provide a refuge for those who could use it.

The return of privacy

What started as the idea of a student was driven forward by about a dozen free-time coders and one paid developer for more than a decade - funded by donations from countless individuals - and turned into a true forgotten cryptopunk paradise: actual working solutions to seemingly impossible problems, highly detailed documentation streams in a vast nothingness to be explored only by the initiated (where RTFS is a common answer: Read The Friendly Source), all this with plans and discussions about saving the world mixed in.

The practical capabilities of Freenet should be known to every cryptopunk - but a combination of mediocre user experience, bad communication and worse PR (and maybe something more sinister, if Poul-Henning Kamp should prove to be farsighted about project Orchestra) brought us to a world where a new, fancy, half finished, partially thought through, cash-cow searching project comes around and instead of being asked “how’s that different from Freenet?”, the next time I talk to a random crypto-loving stranger about Freenet I am asked “how is Freenet different from X which just made the news?” (the answer which fits every single time is: “Even if X should work, it would provide only half of Freenet, and none of the really important features - friend-to-friend darknet, access dependent content lifetime, decentralized spam resistance, stable pseudonyms, hosting without a server”).

Now, after many years of work have culminated in a big step forward, it is time for Freenet to re-emerge from hiding and take its place as one of the few privacy tools actually proven to work - and as the single tool with the most ambitious goal: Reestablishing freedom of the press and freedom of speech in the internet.

Join in

If you do not have the time for large scale contribution, a good way to support freenet is to run and use it - and ask your friends to join in, ideally over darknet.

Freenet Logo: Follow the RabbitFreenet Logo: Follow the Rabbitfreenetproject.org

More information about the movement which spawned Freenet can be found in Wikipedia under Cypherpunk, which would have made a more correct title for this text, but did not rime with "forgotten paradise".

If you can program, there are lots of low hanging fruit: small tasks which allow reaping the fruits of existing solutions to hard problems. For example my recent work on freenet includes 4 hours of hacking the Python-based site uploader in pyFreenet which sped up the load time of its sites by up to a factor of 4. If you want to join, come to #freenet @ freenode to chat, discuss with us in the freenet devl mailing list and check the github-project.

Freenet Logo: Follow the Rabbit Welcome to Freenet, where no one can watch you read.

Creative Commons License

I hereby release this article under the CC attribution License: You can use the text however you like as long as you name me (Arne Babenhauserheide) and link here ( draketo.de/english/freenet/forgotten-cryptopunk-paradise or draketo.de/node/656 ).

A huge thank you goes to Lacrocivious who helped me improve this text a lot! A second thank you goes to the other Freenet users with whom I discussed the article via Darknet-messages, when we were still thinking about submitting it to Wired and therefore needed to keep it confidential.

AnhangGröße
2014-08-24-So-freenet-forgotten-cryptopunk-paradise.pdf85.01 KB
freenet-forgotten-cryptopunk-paradise-mail.txt8.4 KB
freenet-forgotten-cryptopunk-paradise-pdf-thumb.png8.51 KB
2014-08-24-So-freenet-forgotten-cryptopunk-paradise.org7.93 KB
freenet_logo.png2.26 KB

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: 1. infrastructure: Make it possible for users to register their Bitcoin wallets with their real identity. 2. law or terms of service: Make it illegal to accept money from unregistered users. 3. program: create a script to check transactions whether the transferred bitcoins were tainted by being in wallets of unregistered users. Tainted bitcoins lose value, because non-anonymous services won’t be able to accept tainted Bitcoins anymore, so anonymous services become more expensive. Allow people to avoid being tainted by anonymous transactions by sending back the same value minus mining fees within a week.

That’s it. It will not deanonymize all of Bitcoin, but it will deanonymize most users, and making any kind of sustainable profit from Bitcoin will require identity fraud - which carries so harsh penalties that most small scale black market sellers will not dare going that far.

And enacting this does not even need a state. It can be be pulled off by any large entity which accepts Bitcoin as payment, like Paypal or Microsoft.

It gets worse

And it gets worse: large scale Bitcoin owners and black market sellers will have an incentive to pressure their buyers into registration after their sale, because that will increase the effective value of their Bitcoins. Implement the method I outlined, and greed will drive the users themselves to make Bitcoin a hostile place for anonymous users.

People might run shemes to sell at high price to anonymous users and then pressure them into registering, so the bitcoins will become more valuable. Or to sell them registration with false identities. Which they could even report later, after they transferred their bitcoins at high value to someone else to disrupt a competitors business.

Happy Ending

Voilà, for ordinary Bitcoin becomes a viable, happy do-good, decentralized currency with full public accountability which can reduce the trust requirement in the banking system and simplify tax enforcement, while people who can launder money today can still use that power in Bitcoin and even get a few new tools in their toolbox to increase their power relative to ordinary and/or law-abiding users.

The prince marries the princess, the king exercises his right of the first night and all live happily ever after.

Epilogue

I hope I could show that Bitcoin isn’t the haven for freedom and state-free happiness it is often touted to be. It can reduce the power of banks due to the required trust in their actions - and I think that it will be used by banks themselves as a very efficient backend for reliable transactions - but the total accountability inherent in Bitcoin is hostile to any kind of free expression and independent life, because it allows others to judge you by your actions years later and as such creates pressure to self-censor how you use Bitcoin. In this it is inferior to cash.

And as I showed here, on the longterm only large criminal organizations will be able to retain anonymous usage of Bitcoin, while all others will either be driven into buying the services of these organizations to stay anonymous (which makes them susceptible to blackmail: their Bitcoins could lose most of their value at any point) or into registering their Bitcoin identity and giving up on anonymous usage of Bitcoin.

AnhangGröße
2015-01-28-Do-destroy-anonymous-bitcoin.pdf68.65 KB
2015-01-28-Do-destroy-anonymous-bitcoin.org3.69 KB

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:

img
(click for full size) In the lower left window I check the identifier in the table I have to complete (left column), then I search for all instances of that identifier in the right window and insert the instrument type, the SIGMA (uncertainty due to representation error defined for the type of the instrument and the location of the site) and note whether the site is marked as assimilated in the config file.

Then I also check all the other config files and note whether the site is assimilated there.

Drudge work. There are people who can do this kind of work. My wife would likely be able to do it faster without tool support than I can do it with tool support. But I’m really bad at that: When the task gets too boring I tend to get distracted - for example by writing this article.

To get the task done anyway, I create tools which make it more enjoyable. And with Emacs that’s actually quite easy, because Emacs provides most required tools out of the box.

Firstoff: My workflow before adding tools was like this:

  • hit xo to switch from the lower left window to the config file at the right.
  • Use M-x occur then type the station identifier. This displays all occurances of the station identifier within the config file in the upper left window.
  • Hit xo twice to switch to the lower left window again.
  • Type the information into the file.
  • Switch to the next line and repeat the process.

I now want to simplify this to a single command per line. I’ll use F9 as key, because that isn’t yet used for other things in my Emacs setup and because it is easy to reach and my default keybinding as “useful shortcut for this file”. Other single-keystroke options would be F7 and F8. All other F-keys are already used :)

To make this easy, I define a macro:

  • Move to the line above the line I want to edit.
  • Start Macro-recording with C-x C-(.
  • Go to the beginning of the next line with C-n and C-a.
  • Activate the mark with C-SPACE and select the whole identifier with M-f.
  • Make the identifier lowercase with M-x downcase-region, copy it with M-w and undo the downcasing with C-x u (or use the undo key; I defined one in my xmodmap).
  • Switch to the config file with C-x o
  • Search the buffer with M-x occur, inserting the identifier with C-y.
  • Hit C-x o C-x o (yes, twice) to get back into the list of sites.
  • Move to the end of the instrument column with M-f and kill the word with C-BACKSPACE.
  • Save the macro with C-x C-).
  • Bind kmacro-call-macro to F9 with M-x local-set-key F9 kmacro-call-macro.

Done.

My workflow is now reduced to this:

  • Hit F9
  • Type the information.
  • Repeat.

I’m pretty sure that this will save me more time today than I spent writing this text ☺

Happy hacking!

AnhangGröße
2015-01-26-sane-with-emacs-task.png79.85 KB
2015-01-26-sane-with-emacs-task-200.png7.79 KB
2015-01-26-sane-with-emacs-task-300.png15.92 KB
2015-01-26-sane-with-emacs-task-400.png27.28 KB
2015-01-26-sane-with-emacs-task-450.png33.83 KB

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].

Best wishes,
Arne

[1]: For further information on signatures see
    https://www.gnupg.org/gph/en/manual/x135.html

[2]: Enigmail enables secure communication in Thunderbird:
    https://addons.mozilla.org/de/thunderbird/addon/enigmail/

[3]: GPG4win provides secure encryption for Windows:
    http://gpg4win.org/download.html

[4]: MacGPG provides encryption for MacOSX:
    https://gpgtools.org/

[5]: Encryption for other systems is available from the GnuPG website:
    https://www.gnupg.org/download/

Mein Steno-Gedicht auf einer Kunstausstellung!

Dank Maren Theel war mein Steno-Gedicht Nur ein Leben letztes Jahr als Teil ihres Werkes auf der Kunstausstellung short_hand_made in Hamburg!

agaahebc, Maren Theel und Arne Babenhauserheide
Werk von Maren Theel für short_hand_made, unter Verwendung des Steno-Gedichtes Nur ein Leben von Arne Babenhauserheide. Lizenz: GPL. »am 07.09. wurde die ausstellung short_hand_made in hamburg mit einer rede von dr. arie hartog, dem direktor des bremer gerhard-marcks-hauses vor großem publikum eröffnet.diese ausstellung wurde von den hamburger künstlern reinhold engberdingund dessen künstlerischem partner holger b. nidden-grien anläßlich von engberdings rundem geburtstag organisiert.ca. 130 kollegen aus vielen teilen der weltsind dem aufruf gefolgt und haben arbeiten geschickt. *vom 08.-19.09.*«
— Information zur Veranstaltung

Es hat einige Monate gedauert, bis ich es geschafft habe, darüber zu schreiben („so viel zu tun und so wenig Zeit“), obwohl ich begeistert davon bin, dass eins meiner ungewöhnlichsten Werke das Erste ist, das auf eine Ausstellung gekommen ist, die von einer Kunsthochschule beworben wurde (oder vielleicht hat es gerade deswegen so lange gedauert: Das ist fast zu wahnsinnig, um wahr sein zu können).

Die meisten meiner Steno-Siegel leben bisher nur in meinen Notizheften. Vielleicht sollte ich das als Motivation nehmen, mehr von ihnen einzuscannen. Wobei… wenn ich mir anschaue, wie lange ich gebraucht habe, um diesen Artikel zu schreiben, könnte das als Motivation kontraproduktiv sein ☺

Ach, egal: Ich hoffe, die Geschichte ist euch ein Ansporn, auch eure unkonventionellen Werke zu veröffentlichen!

Nur ein Leben
Es gibt so viel zu tun
und so wenig Zeit
und nur ein Leben dafür.

— Arne „gut, ich spinne, aber immerhin habe ich Spaß“ Babenhauserheide ☺

AnhangGröße
stenogedicht-nur_ein_leben-bei-short_hand_made-hamburg-2014-09-maren_theel-arne_babenhauserheide-agaahebc.jpg216.23 KB
stenogedicht-nur_ein_leben-bei-short_hand_made-hamburg-2014-09-maren_theel-arne_babenhauserheide-agaahebc-300x423.jpg48.31 KB

Wissenschaft!

Darko Dubravica erklärt die Ergebnisse seiner Arbeit (die Verringerung des Residuums1 ist Wahnsinn!).

Darko Dubravica Hitran
(anklicken für die große Version, Quelle: darko-dubravica-hitran-bw.svg. Frei lizensiert unter der GPL (wie fast alles hier)) Gezeichnet mit Kugelschreiber, in SVG umgewandelt mit Inkscape (manuell 3 Helligkeitsstufen gewählt), dann als PNG exportiert.

Der Dank für die Inspiration zu diesem skizzierten Mitschrieb geht an Sacha Chua und ihre Sketched Books, auch wenn meine Zeichnungen noch weit von deren Qualität entfernt sind ☺

Außerdem hilft das besser gegen Müdigkeit als Kaffee - und ich verstehe beim Mitskizzieren die Kernaussage des Vortrags oft besser als wenn ich nur zuhöre.

Danke auch an Darko, der mir erlaubt hat, die Zeichnung online zu stellen!

PS: Den Titel habe ich gewählt, weil er in der Zeichnung aussieht, wie ein legendärer russischer Wissenschaftler des 19-ten Jahrhunderts (z.B. Ivan Pavlov). Außerdem ist die Arbeit, die er macht, fast schon klassisch: Komplexe Mathematik gefolgt von monatelanger geduldiger Kleinarbeit.


  1. Das Residuum ist der Unterschied zwischen Modell und Messungen. Vereinfacht gesagt: Je kleiner das Residuum, desto besser erklärt das Modell die gemessenen Daten. In der Zeichnung sichtbar durch weniger rumzappeln der unteren Linien ganz rechts. 

AnhangGröße
darko-dubravica-hitranbw.png3.62 MB
darko-dubravica-hitran-bw.svg10.84 MB
darko-dubravica-hitran-bw-klein.png161.41 KB
darko-dubravica-hitran-20140718151636982_0001.jpg641.59 KB

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. Since I’m lazy, I used google, and that turned up the CamelCase page of Emacswiki - and with it the following string functions:

(defun split-name (s)
  (split-string
   (let ((case-fold-search nil))
     (downcase
      (replace-regexp-in-string "\\([a-z]\\)\\([A-Z]\\)" "\\1 \\2" s)))
   "[^A-Za-z0-9]+"))
(defun underscore-string (s) (mapconcat 'downcase   (split-name s) "_"))

Quite handy - and elegantly executed. Now I just need to make this available for interactive use. For this, Emacs Lisp offers many useful ways to turn Editor information into program information, called interactive codes - in my case the region-code: "r". This gives the function the beginning and the end of the currently selected region as arguments.

With this, I created an interactive function which de-camelcases and underscores the selected region:

(defun underscore-region (begin end) (interactive "r")
  (let* ((word (buffer-substring begin end))
         (underscored (underscore-string word)))
    (save-excursion
      (widen) ; break out of the subregion so we can fix every usage of the function
      (replace-string word underscored nil (point-min) (point-max)))))

And now we’re almost there. Just create a macro which searches for a function, selects its name, de-camelcaeses and underscores it and then replaces every usage of the CamelCase name by the underscored name. This isn’t perfect refactoring (can lead to errors), but it’s fast and I see every change it does.

C-x C-(
C-s def 
M-x mark-word
M-x underscore-region
C-x C-)

That’s it, now just call the macro repeatedly.

C-x eeeeee…

Now check the diff to fix where this 13 lines hack got something wrong ( like changing __init__ into _init_ - I won’t debug this, you’ve been warned ☺).

Happy Hacking!

AnhangGröße
2015-01-14-Mi-camel-case-to-underscore.org2.39 KB

Je suis Charlie Hebdo - Pressefreiheit in Europa

Je suis Charlie Hebdo. Denn schreiben zu dürfen, was Charlie Hebdo schreibt, ist wichtig. Den Herrschenden und Ideologen in aller Welt unangenehm sein zu dürfen ist wichtig.

Pressefreiheit wird bei uns allerdings schon lange nicht mehr von den Mainstreammedien vertreten, sondern von Karikaturisten und Kabarettisten. Und entsprechend beschreibt auch Kabarett den Zustand der Pressefreiheit in Europa (ab Minute 37):

Das hier ist die Sendung, die im Europa der Pressefreiheit verboten wurde - aber vor Gericht gewonnen hat.

Sie war ein halbes Jahr lang nur noch im Internet verfügbar - aber das Internet muss man ja zensieren, um Charlie Hebdo zu schützen.

Warum danach in Frankreich niemand ruft? Weil sie die ganze Internetkontrolle schon haben - und es hat wie erwartet nichts genutzt. Denn Mörder brauchen Waffen und sie waren alle schon durch konventionelle Polizeiarbeit bekannt.

Unsere Freiheit und Demokratie wird nicht von Terroristen bedroht, sondern v.a. von den meisten der Politiker, die nicht als Links bezeichnet werden (SPD, CDU und alle Rechten Parteien). Warum wohl wurde Edward Snowden weit brutaler verfolgt als die Mörder in Frankreich? Dafür wurde sogar eine Präsidentenmaschine zur Landung gezwungen. Die Freundin eines Mörders der Journalisten von Charlie Hebdo dagegen durfte ausreisen.

Es wird gute Gründe geben, dass Überlebende von Charlie Hebdo sagen: „Wir kotzen auf diese Leute, die sich jetzt unsere Freunde nennen“.

Wer weitere Hintergründe sucht, wird z.B. auf den Nachdenkseiten fündig.

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. It served me well ever since:

  • ❢ To do
  • ☯ In progress
    • ⚙ A program is running (optional detail)
    • ✍ I’m writing (optional detail)
  • ⧖ Waiting
  • ☺ To report
  • ✔ Done
  • ⌚ Maybe do this at some later time
  • ✘ Won’t do

To set this in org-mode, just add the following to the header (and reopen the document, for example with C-x C-v):

#+SEQ_TODO: ❢ ☯ ⧖ | ☺ ✔ ⌚ ✘

or for the complex case (with details on what I do)

#+SEQ_TODO: ❢ ☯ ⚙ ✍ ⧖ | ☺ ✔ ⌚ ✘

Then use C-c C-t or SHIFT-→ (shift + right arrow) to switch to the next state or SHIFT-← (shift + left arrow) to switch to the previous state.

Anything before the | in the SEQ_TODO is shown in red (not yet done), anything after the | is show in green (done). Things which get triggered when something is done (like storing the time of a scheduled entry) happen when the state crosses the |.

And with that, my orgmode documents are not only very useful but also look pretty lean. Just as good as having a GUI with images, but additionally I can access them over SSH and edit the todo state with any tool - because it’s just text.

Der Fansub-Kompromiss

Gerade musste Tomo Ni Fansubs einige tolle Serien offline nehmen, weil sie für Deutschland lizensiert wurden. Einige Fans beklagen sich darüber. Ich sehe das positiv.

Ist zwar schade, dass jetzt die qualitativ hochwertigeren Gratis-Animes durch schlechtere Kaufanimes ersetzt werden, aber das ist der Kompromiss durch den Fansubs der Verwertungsmafia entkommen (Hintergrund: Ehrenkodex und Lizenz). Leider gibt es keine sinnvolle Urheberrechts-Schranke für „Ein Werk unentgeltlich einer neuen gesellschaftlichen Gruppe zugänglich machen“.

Solange die Rechtslage so grausig ist, ermöglicht der Kompromiss wenigstens Zugang zu einer Kultur, die uns sonst verschlossen wäre - solange es Leute gibt, die ihre Zeit investieren, um in liebevoller Kleinarbeit und außerhalb der Verwertungsmaschinerie Kunstwerke anderer Kulturen für uns zugänglich zu machen.

Natürlich wäre es noch schöner, wenn die Firmen einfach den Fansubbern etwas anbieten würden, um die Fansubs nutzen zu dürfen - zumindest wenn die Fansubs viel besser sind als die Werke der Firmen. Wobei damit natürlich das Argument der nicht-kommerzialität schwieriger zu halten wäre. Nicht viel schwieriger allerdings: In der Qualität von guten Fansubs kann vermutlich schlicht nicht kostendeckend gearbeitet werden kann. Die sind oft einfach wahnsinnig gut gemacht - eben echte Kunstwerke, denen man ansieht, wie viel Liebe in ihnen steckt.

Danke für eure wundervollen Fansubs, Tomo Ni!

PS: Auf die Rhetorik der Verwerter gehe ich hier nicht ein. Sonst rege ich mich nur wieder wegen der Menge an dreisten Lügen auf. Außerdem habe ich meine Argumentation schon im Artikel Tauschbörsennutzer geben mehr sehr deutlich geschrieben.

PPS: Eine interessante Frage wäre, wie viel zusammenkommen würde, wenn Anime-Produzenten Ausländern die Möglichkeit bieten würden, ihnen direkte Spenden zu geben.