Zwillingssterns Weltenwald

Willkommen im Weltenwald! Auf diesen Seiten schreibt Arne Babenhauserheide alias Draketo alias Zwillingsstern alias ((λ()'Dr.ArneBab)).

Ich hoffe, Du findest hier Anregungen zum Denken und Träumen!

Neuste Beiträge

Wie man Verschwörungsleuten helfen kann

Von TINCON gibt es ein Video mit Katharina Nocun zu Verschwörungsglauben und wie man damit umgehen kann, wenn jemand weit in irgendwas reingerutscht ist:


Capturing stderr and stdout from a subprocess in GNU Guile

A common need when calling programs is to capture both the regular output (stdout) and the error output (stderr). While Guile provides lots of facilities to call other processes, this use-case had been unfulfilled for me until now.


Code Katas in Scheme with Wisp

Code Katas are a way to hone your coding skills. I’ve long tiptoed around them; now it is time to change that and do some katas.



Was ich Verstreutes im Netz schreibe.


Configuration of my Guix System, commented

I’ve tweaked my Guix config for 18 months and now I’m mostly happy with it. I’m sharing it, because it contains a few hacks I direly needed. I hope they are helpful to you.


Trump is attacking the foundations of the Open Technology Fund

Internet Freedom Festival just wrote a plea for help to sign a letter in support of the OTF:


Teach or be caught

Share your skills so they can’t be used to trace you.


Geburtstagswunsch im Lockdown

Am 26.5. habe ich Geburtstag. Wegen Corona wird es der zweite Geburtstag in über 20 Jahren, an dem ich keine Rollenspielrunde einlade, und das nimmt mich gerade ganz schön mit.


Neuste Beiträge woanders

(weitere auf meiner alten Seite, auf der ganz alten Seite, auf meinem GNU social, im Forum Tanelorn und auf rollenspiel.social).

The greenhouse effect, calculated again

[2019-11-08 Fr 23:41] New version: draketo.de/wissen/greenhouse-effect-calculated


PDF (drucken)

Org (ändern)

I did not want to talk about the greenhouse effect without having checked the math and physics. Therefore I calculated it myself.

If you want all links to work, read the the PDF-version.

The greenhouse effect describes the effect of the atmosphere on Earth’s surface temperature. The simplest example contrasts the surface temperature of a planet without atmosphere to the surface temperature with a single insulating layer above the surface.

The incoming radiation from the Sun provides the earth with a constant source of energy. If it would not get rid of that energy somehow, it would get hotter everyday, eventually melt and vaporize. It’s evident that this does not happen (otherwise we would not be here to think about it).

As shown by citet{Stefan1879} and citet{Boltzmann1884}, the total energy emission from a perfect black body (a body which absorbs all incoming radiation) per unit area is given by

\begin{equation} E = \sigma T^4 \end{equation}

with the Stefan–Boltzmann constant

\begin{equation} \sigma = \frac{2 pi^5 k^4}{15 c^2 h^3} \approx 5.67 cdot 10^{-8} W m^{-2} K^{-4} \end{equation}

From satellite measurements in the Earth’s orbit we know that the incident solar radiation delivers an average energy flux (j) between 1361 (Wm^{-2}) during the solar minimum and to 1363 (Wm^{-2}) during the solar maximum citep{KoppSolarConstant2011}.

This radiation hits the cross section of the Earth, the area of a circle with the radius of the Earth: (pi R^2). This is also the energy radiated by the Earth system, as evidenced by the Earth neither melting nor freezing. But this outgoing radiation is perpendicular to the surface, not to the cross section of the Earth. The total surface of a sphere is (4 imes pi R^2), or (4 imes) its cross section. So the energy radiated per area is just 25% of the incoming energy: (σT_{out}^4 = 0.25 imes σT_{in}^4)

greenhouse-effect due to the difference between directed solar-irradiation and radial earth-radiation

The incident radiation delivers an Energy flux of (E_i = 1362 Wm^{2}), so the outgoing radiation of a perfect black body would be (E_o = 340.5 Wm^{-2}), which is consistent with a temperature of

\begin{equation} T = \left(\frac{E}{σ}\right)^{\frac{1}{4}} = \left(\frac{340.5 cdot 15 c^2 h^3}{2 pi^5 k^4}\right)^{\frac{1}{4}} K \approx \left(\frac{340.5}{5.67 cdot 10^{-8}}\right)^{\frac{1}{4}} K = 278.623 K \end{equation}

This gives an average surface temperature of

\begin{equation} (278.62 - 273.15) ^\circ C = 5.47 ^\circ C \end{equation}

for a perfectly black Earth without atmosphere.

Due to the simplifications used, this value is (8 K) lower than the measured mean sea and land surface temperature of (14 ^ˆ C) for the base period 1961-90 citep{Jones1999,Rayner2006}.

Historically the next step after the black body estimation was to take the albedo into account: The amount of incoming radiation reflected directly back into space.

If we take into account that the Earth surface and clouds reflect roughly 30% of the visible light back into space, the Earth only receives roughly 70% of the energy which it needs to radiate back. For details, see citet{Muller2012} and citet{Muller2013}.1 The equilibrium temperature changes to 255 Kelvin, which is just about -18 °C. Note that changing the albedo by 1 percent point (to 29% or 31%) would change the temperature by roughly 1 K.

(let* ((albedo 0.3) (sol 1362) (incoming-watt (* (- 1 albedo) (/ sol 4))) (c 3e8) (h 6.62607e-34) (k 1.38065e-23) (pi 3.14159)) (expt (/ (* incoming-watt 15 c c (expt h 3)) (* 2 (expt pi 5) (expt k 4))) 0.25))


\begin{equation} T = \left(\frac{E}{σ}\right)^{\frac{1}{4}} = \left(\frac{0.7 cdot 340.5 cdot 15 c^2 h^3}{2 pi^5 k^4}\right)^{\frac{1}{4}} K \approx \left(\frac{238.0}{5.67 cdot 10^{-8}}\right)^{\frac{1}{4}} K = 254.6 K \end{equation}

There are small additional factors in play:

  • effective temperature (radiation from a star) to air temperature (measured on Earth)
  • emissivity: Common values range from 0.90 to 0.98, with forests and urban areas staying close around 0.95, grassland peaking at 0.95 but with a noticeable tail towards 0.90 and barren soil and sparsely vegetated areas forming a broad distribution between 0.92 and 0.96 citep{Jin2006}. Snow 0.99 (Wan2002).

But with these we’re still roughly 30 Kelvin away from actual temperatures. These are reached through absorption and radial re-radiation of outgoing energy, which effectively provides the Earth with insulation, most effective in the infrared.

This is what is typically called the greenhouse effect: Infra-red emissions by the Earth are absorbed by greenhouse gases in the atmosphere, so the Earth needs to be warmer to get rid of the same amount of received energy.

Greenhouse gases have a net effect on the temperature, because the outgoing radiation mostly consists of thermal infrared light (TIR), while the incoming radiation mostly consists of near infrared (NIR) visible (VIS) and ultraviolet (UV) light. Let’s take the oldest account of this absorption: citet[“On the Influence of Carbonic Acid in the Air upon the Temperature of the Ground”]{Arrhenius1896} describes different absorption of moonlight depending on the wavelength of the light. Half this light absorbed in the atmosphere is radiated outwards, the other half inwards.

For the actual calculation, we use more recent results: citet[„The natural greenhouse effect of atmospheric oxygen (O2)and nitrogen (N2)“]{Hoepfner2012}. They take into account the structure of the atmosphere by building on the well-established Karlsruhe Optimized and Precise Radiative transfer Algorithm (KOPRA).

The publication by citet[]{Hoepfner2012} showed that Outgoing Longrange Radiation without gas would be 365.7 W/m(^2), while with greenhouse gases it is 242.7 W/m(^2). That’s a 33.6 % decrease in emission, so we need 1.5 times higher emissions to reach equilibrium. Let’s factor this into the equations, and also use an emissivity of 0.95.

(let* ((albedo 0.3) (emiss 0.95) (sol 1362) (incoming-watt (* (- 1 albedo) (/ sol 4))) (c 3e8) (h 6.62607e-34) (k 1.38065e-23) (pi 3.14159)) (expt (/ (* (/ 365.7 242.7) incoming-watt (/ 1 emiss) 15 c c (expt h 3)) (* 2 (expt pi 5) (expt k 4))) 0.25)) ;; for the numerator ;; (* (/ 365.7 242.7) (/ 1 emiss) incoming-watt))


\begin{equation} T = \left(\frac{E}{σ}\right)^{\frac{1}{4}} = \left(\frac{\frac{365.7}{242.7} cdot 0.7\frac{1}{0.95} cdot 340.5 cdot 15 c^2 h^3}{2 pi^5 k^4}\right)^{\frac{1}{4}} K \approx \left(\frac{377.49}{5.67 cdot 10^{-8}}\right)^{\frac{1}{4}} K = 285.74 K \end{equation}

We get 285.74 K as equilibrium temperature. That’s around 12.6°C, so now we’re just 1.4 Kelvin away from the actual (14 ^ˆ C) for the base period 1961-90 citep{Jones1999,Rayner2006}. There are still effects missing in the calculations, but the intention of this guide is not to create a new climate model, but to show the fundamental physical effects. Remember also that changing the surface albedo by 1 percent point (to 29% or 31%) would change the temperature by roughly 1 K, so getting within less than 2 °C of the measured temperature is already pretty good. Going further would require a much stricter treatment of surface albedo that goes into too much detail for an article.

Therefore we’ll round this up with an important test that is only weakly affected by the surface albedo:

What happens if we increase the absorption by CO(_2)? Do we see global warming?

For this test the result is already close enough to the measured temperature that we can take the difference between values with different parameters to get the effect of these parameters and remove biases which are present in both values.

To calculate global warming due to doubled CO₂, we cannot just double the absorption, because the absorption bands get saturated. The citet[IPCC working group 1 (physical science basis)]{IPCCRadiativeForcingMyhre2013} gives the increase in radiative forcing due to increased CO(_2) levels from the 1950 concentrations of about 310 ppm to the 2010 concentrations of 390 ppm as about 1.2 W/m(^2).2

So let us go at this backwards: citet{Hoepfner2012} showed the state for 2012, what do our calculations predict for 1950 when we reduce the absorption due to CO(_2) by the 1.2 W/m(^2) radiative forcing given in the IPCC?3

The unstable emissions would then not be 242.7 W/m(^2) as calculated by citet{Hoepfner2012}, but 243.9 W/m(^2).

(let* ((albedo 0.3) (sol 1362) (emiss 0.95) (incoming-watt (* (- 1 albedo) (/ sol 4))) (c 3e8) (h 6.62607e-34) (k 1.38065e-23) (pi 3.14159)) (expt (/ (* (/ 365.7 (+ 242.7 1.2)) incoming-watt (/ 1 emiss) 15 c c (expt h 3)) (* 2 (expt pi 5) (expt k 4))) 0.25)) ;; for the numerator ;; (* (/ 365.7 (+ 242.7 1.2)) incoming-watt (/ 1 emiss)))


We get 285.39 Kelvin for 1950, about 0.35°C less than for

This gives an estimate of a 0.35°C increase in temperature from 1950 to 2010 due to increased CO(_2) levels alone. If we also remove the added absorption from methane, N (_{2}O) and other greenhouse gases emitted by humans (additional forcing of 0.75 W/m(^2)), we get 285.17 Kelvin.

So this calculation from basics yields an increase of the equilibrium temperature by 0.57 °C.

\begin{equation} T_{2010} - T_{1950} = 285.74 K - 285.17 K = 0.57 K \end{equation}

This is a bit lower than the increase of 0.65 K to 0.75 K seen in the global temperature records by the Berkeley Earth project,4 and close to the 0.6 to 0.8 K increase shown in the Global (NH+SH)/2 temperature given by HadCRUT4 by the Met Office Hadley Centre by the National Meteorological Service of the United Kingdom.5 But for a calculation from basic principles, that’s pretty good.

So we can conclude that actual measurements match this physical explanation of global warming due to the greenhouse effect — or more exactly: due to increased absorption of infrared radiation by greenhouse gases, with the biggest effect due to CO(_2).

The source of climate-active human carbon emissions which influences the CO(_2) content of the atmosphere is mostly burning of fossil fuel which is taken from the crust of the Earth and introduced into the carbon cycle. This is what changes the CO(_2) concentration.

And with this, we are done.

Please reduce your carbon emissions and become active to get politicians to action on a national and global scale. We’re cutting the branch we live on.

If you want more details, have a look at the IPCC reports. Best start with the executive summary and then go into the details you’re most interested in:

IPCC Climate Change 2013: The Physical Science Basis: https://www.ipcc.ch/report/ar5/wg1/

An explanation how humans increase the CO₂-concentration of the atmosphere is available in my presentation The carbon cycle: https://www.draketo.de/licht/physik/kohlenstoffkreislauf-carbon-cycle

And if you want my best estimate of our current situation, have a look at the article Two visions of our future: https://www.draketo.de/english/politics/roll-a-die



You can check the albedo for several different spectral regions at http://www.globalbedo.org/


Robust data about changing CO(_2) levels is available from the Global Monitoring Division (GMD) of the Earth System Research Laboratory (ESRL) at the National Oceanic & Atmospheric Administration (NOAA).


We’re only going to 1950 and not back to 1850, because the temperature data at 1850 would mix in the effect of the declining little ice age.


Berkeley Earth provides a reevaluation of all the surface measurements without complex models.


HadCRUT4 combines sea surface temperature data from the Hadley Centre of the UK Met Office and the land surface air temperature records compiled by the Climatic Research Unit (CRU) of the University of East Anglia.

Autor: Arne Babenhauserheide

Anhang Größe greenhouse-effect.org 20.95 KB greenhouse-effect-solar-radiation-earth-radiation.svg 14.6 KB greenhouse-effect-solar-radiation-earth-radiation.png 62.39 KB greenhouse-effect-thumbnail.png 12.76 KB greenhouse-effect.pdf 349.56 KB


What I need from IntelliJ and what I deeply miss when I’m not using Emacs

[2019-10-27 So 22:05] Updates will be written on my new site: draketo.de/software/intellij-emacs


    What I really need from IntelliJ

1.1. inspection

1.2. refactor

1.3. run

1.4. debug

1.5. other

    What I deeply miss when not using Emacs

2.1. keyboard shortcuts

2.2. editing

2.3. windows

2.4. files

2.5. interop

2.6. movement

2.7. Feeling fast

2.8. other

At work I’m using IntelliJ for Java development, but I’m not happy with the interface. It forces me out of my concentration and regularly breaks my flow by having stuff jump around and stealing focus.

But I cannot switch to something that works better for me, because there are features of IntelliJ that I require to work efficiently.

1 What I really need from IntelliJ

1.1 inspection

  • Where is this called? — all callers
  • Where is this implemented? Where is it declared? Or overridden?
  • Visual indicator whether a method is overridden or whether it overrides
  • Where is this defined (base method or concrete method)?

1.2 refactor

  • rename symbol,
  • change signature (with base method and overrides and callers),
  • extract method from selection,
  • extract variable / store selected expression in variable

1.3 run

  • Run tests in changed modules or in file
  • re-run test, restart current program
  • re-build incrementally
  • hot-swap without restart

1.4 debug

  • set breakpoint and see breakpoints, set conditional breakpoint
  • run project via eclipse run config main method (we replaced the eclipse stuff extracted with Eclipser by main methods)
  • inspect stack and state at break point
  • step over / in / out / continue

1.5 other

  • Jump to definition / caller (also with mouse CTRL-click), even for xml, so colleagues can do it when working at the same box
  • show all methods in file
  • VCS: ignore changes in some files
  • run Sonar Qube on changed files

2 What I deeply miss when not using Emacs

2.1 keyboard shortcuts

  • mnemnonic keybindings: When I type C-x r t, I thing x-rectacngle-text. That is why it works accross different keyboard layouts.
  • staying on the letter row

2.2 editing

  • killing to the end of the line with C-k (I actually added that to IntelliJ now)
  • cycling through the cut-paste list with M-y: Often I don’t need the last kill, but the one before. Yes, I can reach for the mouse and use klipper, but that slows me down and breaks my concentration. ——— C-S-v in IntelliJ uses paste from history
  • storing and retrieving multiple values with registers.
  • Completion which replaces the suffic, or at least M-d (Alt-d): kill world or rest of word. ——— You can remap Alt-d in IntelliJ to kill to word end
  • Activate selection mark, navigate, kill all code in-between mark and current point. The Emacs live plugin is close, but not good enough.

2.3 windows

  • Commands with M-x, fuzzy matched, and without settings-window-names getting in the way. I half-ways replace that with C-S-a
  • closing other windows with x1 (actual "x1" thanks to key-chords-mode). Deeper: Natural use of multiple windows.
  • storing a window configuration in a register and retrieving it later
  • Truly having two windows side-by-side with two points and switching with xo or xö (C-x o).

2.4 files

  • Fuzzy matching in buffer-list with bf (as chord or with C-x b).

2.5 interop

  • Linking to code files from my org-mode planning file.

2.6 movement

  • dumb-jump to test
  • Navigation with C-n / C-p / M-b / M-f. That avoids having to move to the arrow keys.
  • back to last edit which stays in the buffer. I can switch between buffers with bf, and after I just want to go back to where I last edited this buffer. Multi-file back-to-last-change is also nice (as IntelliJ provides it), but it’s not complete.

2.7 Feeling fast

  • Somehow all the things I need to do in IntelliJ feel slow. Maybe that’s because a million lines of code is a lot. Maybe because it keeps a huge amount of state. Or because Maven is slow. But it feels like I’m regularly waiting for something to refresh itself.
  • IntelliJ feels slow, because it often opens dialogs before they accept keyboard input. To reproduce: start a global search (with CTRL-shift-F) and start typing. It misses my first keystrokes. Emacs takes all keystrokes.

2.8 other

  • Having the shell just an M-! away, in the same folder as the code file.
  • ripgrep
  • A colleague said today “I wish we had tabs grouped by type”. I could not suppress saying “emacs does this — with tabbar-mode”.
  • Inline merge-conflict highlighting (I actually switch from IntelliJ to Emacs for that).
  • glasses-mode to highlight capital letters in camelCase.


Zitier keine Nazis

[2019-10-12 Sa 15:39] Atme kurz durch und frag dich: „was gibt es grade anderes wichtiges?“

Gerade habe ich gesehen, wie die Heute Show einen Rechtsextremen zitiert hat, weil dessen Satz so verlogen klang. Der Satz lässt sich allerdings auch als eine ironische Nachricht an seine Anhänger lesen.

Der Rechtsextreme hat also sehr geschickt eine Nachricht an seine Anhänger lanciert, die wieder mal durch alle Medien ging. Sie war damit ein riesiger Propaganda-Erfolg für den Rechtsextremen.

Daher möchte ich euch bitten: Zitiert keine Rechtsextremen. Sie sind propagandistisch besser als ihr. Wenn ihr wirklich über ihre Aussagen schreiben wollt, dann paraphrasiert sie. Damit vermeidet ihr zumindest, Botschaften weiterzugeben, die ihr nicht gesehen habt; z.B. weil sie Szenecodes verwenden.

Wenn ihr nicht die Zeit habt, ein Zitat vollständig zu analysieren und auseinanderzunehmen, dann vermeidet es.

Gebt lieber eine der vielen anderen wichtigen Neuigkeiten weiter.

Ein wichtiger Grund dafür ist, dass wir tendenziell dem zustimmen, das wir schon einmal gehört haben. Die Taz beschrieb das in einem Artikel über ein Experiment zum Glauben an Fake News: „Allgemein kann man sagen: Geschichten, die Menschen vertraut vorkommen, halten sie eher für wahr. Dieser Effekt ist unabhängig davon, ob man eher kritisch denkt oder nicht.“ (Quellartikel: Pennycook and Rand

Also: Bitte zitiert keine Rechtsextremen und gebt ihre Nachrichten nicht weiter; auch nicht ironisch, und erst Recht nicht, wenn ihr euch gerade über sie aufregt. Damit stärkt ihr sie.

Gebt lieber eine andere Neuigkeit weiter.

Atme kurz durch und frag dich: „was gibt es grade anderes wichtiges?“


Immutable function arguments and variables

[2019-07-16 Di 21:42] 1 Dev A: “Fortran is totally outdated.”

2 Dev B: “I wish we could declare objects in function arguments or variable values as immutable in Java and Javascript.”

Fortran developer silently wheeps:

! immutable 2D array as argument in Fortran integer, intent(in) :: arg(:,:) ! constant value character(len=10), parameter :: numbers = "0123456789"

See parameter vs. intent(in).

(yes, I’m currently reading a Javascript book)


If one dozen people will stop eating beef, how much will this help to slow down global warming?

[2019-06-30 So 20:51] If one dozen people will stop eating beef, this will reduce the yearly global CO₂ emissions by around 48 tons CO₂-equivalent1 (about one quarter of their total emissions, and half their emissions from food).

That’s the equivalent of planting about 48 trees per year, with the assumption of an old tree weighting 1 tonne, half of which is carbon. CO₂ mass is carbon mass times (44 / 12), but an average tree in a forest has less than that, because they don’t start as old trees, so you get roughly 1 ton of net CO₂ absorption from one newly planted tree.

So if you assume that the one dozen people will still live for 50 years without eating beef, they will have done as much good for the climate as if they had planted 2,400 trees. That’s roughly a forest with a size of 5 hectar (assuming 50,000 trees per km²).

1 For beef part of this CO₂-equivalent is due to methane which has a lifespan of only around 10 years, so the actual improvement isn’t as long-lasting as actually planting a forest: You won’t see much of the methane-reduction after 200 years, but the forest will still hold carbon. So please plant trees. ↩


Equality and Prosperity go hand in hand

[2019-06-17 Mo 21:15] A reply to the common argument for inequality:

Much better to focus on growing the economy than on increasing equality.

This is the old trickle down theory. Homeless people in the US could tell you that growing the economy without increasing equality does not help the poor. The reality is:

Increasing equality increases longterm growth of the economy.

The trickle-down theory goes against research results. Even the IMF has accepted that equality and prosperity aren’t opposites but rather go hand in hand: The higher the equality, the more sustained growth a country experiences (PDF). "Against this background, the question is whether a systematic look at the data supports the notion that societies with more equal income distributions have more durable growth."

"a 10 percentile decrease in inequality (represented by a change in the Gini coefficient from 40 to

increases the expected length of a growth spell by 50 percent."

They show that the income distribution is the largest single governing factor for the length of a growth period.

Also the Soviet Union had a higher Gini coefficient than the US.

The Gini coefficient measures inequality: The higher it is, the higher the inequality. So the Soviet Union had higher inequality than the US at the time.

That’s a nice way to counter the cry of the ghost of evil communists which is brought up most times someone talks about increasing equality. The Soviet Union had less equality than the US at that time; consequently its growth was weaker.

We do not threaten our prosperity with higher equality. The opposite is true. And we also don’t follow the path of the Soviet Union. The opposite is true.

If all else is equal, higher equality and higher prosperity go hand in hand. Higher equality helped the west to win the economic competition against the Soviet Union.

Therefore the reality is:

To focus on growing the economy we must increase equality.


Rezo hat Recht

[2019-05-22 Mi 21:49] Eine Woche lang habe ich aufgrund seines Titels vermieden, das Video von Rezo zu schauen. Das war falsch, und ich hoffe, ihr macht nicht den gleichen Fehler. Denn es ist fundiert, gut gemacht und wichtig. Bei den Themen, mit denen ich mich auskenne, hat Rezo im Rahmen der Genauigkeit seines Videos Recht.

Das ist nicht nur eine Meinung. Ich sage das mit einem Doktortitel in Physik, den ich für meine Doktorarbeit über die Berechnung des Kohlendioxid-Austausches von Biosphäre und Ozeanen bekommen habe.

Rezo braucht das zwar eigentlich nicht als Bestätigung, weil er schon die Scientists for Future zu Wort kommen ließ. Allerdings habe ich sein Video nur gesehen, weil es vom Volksverpetzer besprochen wurde. Wenn ich also diese Rolle für Dich übernehmen kann, dann tue ich das gerne.

Bitte schau dir das Video an und gib es weiter.

Und ja, Eltern und Großeltern ist nichts wichtiger, als sicherzustellen, dass ihre Kinder und Enkel in einer sicheren Welt leben und kein beschissenes Leben haben. Schau das Video. Gib es weiter.


power and blindness: the tragedy behind systemd

[2019-04-23 Di 16:10] → comment to The Tragedy of systemd where Benno Rice said that he’s impressed by the way how systemd was spread into most GNU/Linux distributions and that systemd was a source of ideas for BSD.

Looking at the methods used to force distributions to adopt systemd, i.e. by adding hard dependencies in the biggest desktop environment or by bundling udev and continuously tightening the dependency from udev on systemd, that’s a form of power-play against the distributions. A dependency I really don’t want. One group decided that they wanted to force everyone else to buy into their new system. And then they used every leverage they could get to do that.

SystemD developers decided to become the one group that can dictate conditions on everyone else.

I can see the skill in that power-play, and be impressed by the skill, but seeing how that power is used and what methods are used, I am also horrified by what they did and how they will continue to abuse that power they now grabbed.

About the source of ideas: systemd contains quite a few ideas that come straight from the Hurd, but have worse implementations in systemd. Systemd solves problems by tacking things onto Linux — problems that have been solved in the Hurd in a clean way 15 years ago. For good ideas, don’t repeat the mistake of ignoring the Hurd. Instead first look at the clean implementation and take care to put functionality at the right level.

In hindsight, SystemD is the consequence of ignoring that the Hurd solves real problems. Of ignoring the technical advantages of the Hurd.


Plan B gegen Zensur

[2019-04-12 Fr 18:55] Neue Fassung unter draketo.de/politik/plan-b.html

Kommentar zu „dann ist die Meinungsmacht zu groß“ von Le Floid.

Dass die jetzt Youtube zensieren wollen, war zu erwarten. Wir haben ihnen die Macht dazu gegeben, als wir uns alle auf zentralen Plattformen versammelt haben. Aber warum seid ihr noch nicht alle zumindest auch in dezentralen Systemen? Warum finde ich eure selbstgeschaffenen Videos nicht im Freenet Projekt? Zumindest als zusätzlichen Zugang?

Gut, ich weiß, dass Geld zu verdienen auf eigenen Seiten viel schwerer ist als auf den größten Plattformen, und dass das und viel zu viele unterschiedliche Fähigkeiten gleichzeitig fordert, und ja, wir wurden in die Plattformen gedrängt und die Infrastruktur im Netz wurde so entwickelt wie die Riester-Rente: Die, die mitmachen, sind die Verarschten und die, die nicht mitmachen, verlieren noch mehr (beim Internet, weil sie außen vor sind).

Und ja, die großen Plattformen haben viel mehr Annehmlichkeiten und man kann leichter Geld verdienen, usw. — goldene Käfige eben, die manchmal nötig sind, um überhaupt über die Runden zu kommen — aber verdammt, wenn wenigstens die meisten einen Plan B am Laufen hätten, wären wir so viel weiter.

Insofern: Mein Plan B ist das Freenet Projekt. Vielleicht gibt es ja ein paar Leute, die anfangen, ihre Videos da hochzuladen. Und sei es nur, um auch einen Plan B zu haben — um auch dann noch da zu sein, wenn unsere Regierung völlig durchdreht. Insofern: schaut bitte vorbei!


Vielleicht reicht die Zeit ja noch. Immerhin hat es auch 15 Jahre gedauert, bis meine Vorhersage zur Zensur von Streamingplattformen eingetroffen ist ("die kommt, sobald die nichtkommerziellen peer-to-peer-Netze unbedeutend geworden sind, weil kommerzielle Streamingplattformen so viel leichter zu nutzen sind").

Das ist die andere Seite des Tale of Foxes and Freedom: Die Abhängigkeiten, in die wir uns treiben lassen, sei es über Infrastruktur oder über zentrale Moderation oder auch über Finanzierungsstrukturen, sind die goldenen Ketten, durch die wir Stück für Stück den Klang wirklicher Freiheit vergessen.

Mit dem ersten Glied ist die Kette geschmiedet. Wenn die erste Rede zensiert, der erste Gedanke verboten, die erste Freiheit verweigert wird, sind wir alle unwiderruflich gefesselt. — Capt. Jean-Luc Picard

Einen Weg aus den goldenen Ketten findet ihr über das Freenet Projekt, von einem non-profit entwickelte Freie Software, mit der ein Kommunikationsnetz ohne zentrale Kontrolle aber mit einfachst möglicher Veröffentlichung geschaffen wird:


Nutzt es bitte, und sei es nur als Plan B.


Klarnamenspflicht schadet der Online-Kommunikation

[2019-04-09 Di 06:11] Klarnamenspflicht hilft nicht, den Kommunikationsstil im Internet zu verbessern. Leute sind unter Klarnamen sogar schlimmer.

Was wirklich hilft sind die richtigen Kommunikationsstrukturen, mit denen es Konsequenzen gibt, die das Ziel der Störer schwerer erreichbar machen. Wer stört, verliert. Wer konstruktiv beiträgt, erreicht, was er oder sie wollte — z.B. üblicherweise Aufmerksamkeit.

Ein Beispiel ist das Web of Trust, das im Freenet Projekt verwendet wird — einer Plattform, auf der es seit zwei Jahrzehnten echte Anonymität gibt und niemand zentral ausgeschlossen werden kann, so dass Möglichkeiten gefunden werden mussten (und gefunden wurden), Kommunikation angenehm zu halten, die nicht von zentral ausgewählten Moderatoren abhängen.

Es hilft sowohl gegen Spam als auch gegen andere Arten von Störungen.

Die großen Plattformen im Clearnet nutzen dagegen nur eine korrumpierte Art von Trust: Wer ihnen Geld gibt, wird überall sichtbar, und Follower wurden vor einiger Zeit auch auf Twitter durch "der (völlig intransparente) Algorithmus entscheidet, was du siehst" ersetzt.

Allgemein ist Klarnamenspflicht auf allen Kommunikationsplattformen Unfug. Das einzig sinnvolle könnte sein, die Betreiber zu verpflichten, auf Anfrage der Polizei schnell Auskunft zu geben — bei strafbaren Handlungen wie persönlicher Beleidigung, Bedrohung und Volksverhetzung.


Sie handeln mit Lügen

[2019-03-26 Di 21:38] Kommentar zum Artikel Pro Urheberrechtsreform in der Süddeutschen Zeitung, dem Gegenpart zu Contra Urheberrechtsreform

Sehr geehrter Herr Kirchner,

Alle unter 40 erinnern sich an die geblockten Videos auf Youtube während der Verhandlungen mit der Gema.

Sie behaupten nun aber, Youtube würde erst jetzt gezwungen, in Lizenzverhandlungen einzutreten.

Wenn ich das lese, habe ich Mühe, nicht sarkastisch zu werden.

Diese Entscheidung und ihr Artikel zeigen v.a. eins: Sie agieren noch immer mit Lügen.

Mit Lügen, die für alle offensichtlich sind, für die das Netz Teil ihres Lebensraumes ist.

Und deswegen wird diese Entscheidung die EU entscheidend schädigen.

Sie verlieren eine ganze Generation.

Jetzt schon die zweite.

Gab es keine wirklichen Argumente?


Arne Babenhauserheide


Eine Zensur findet doch statt … Mittel, um uns weiter organisieren zu können

[2019-03-26 Di 19:55] Heute hat das EU-Parlament die flächendeckende Einführung von Uploadfiltern beschlossen, der perfekten Grundlage für Zensur.

Damit ist der Kampf noch nicht zuende. Leute gehen schon heute auf die Straße, für morgen sind Demos in verschiedensten Städten geplant, und Deutschland könnte die Zensur noch stoppen.

Eil-Demoticker Update: So spontan waren wir noch nie! Hier unsere aktuellen Infos. #Berlin #Frankfurt #Hamburg #Köln #Nürnberg #Leipzig #Dresden #Kassel #SaveYourInternet #Artikel13 #gehtwählen #CopyrightDirective pic.twitter.com/ko58jfhF5E

— Savetheinternet.info (@uploadfilter) March 26, 2019

Die nächsten Wochen entscheiden, ob wir in der EU eine Internetzensur bekommen, die locker mit China gleichzieht — egal, wie viel wir von Grundrechten sprechen — und wie dieser Kampf auch ausgeht: Die Entscheidung heute zeigt, dass wir darauf vorbereitet sein müssen, uns auch während Zensur weiter organisieren zu können, um das Rad wieder zurückzudrehen, wenn wir einen Kampf verlieren.

Installiert daher noch heute Tor, Freenet und GnuPG: Freien Zugriff auf Informationen, Ungehinderte Kommunikation und verschlüsselte E-Mails.

Und druckt euch die folgenden Info-Karten aus und gebt sie all euren Bekannten, damit ihr auch dann noch vertrauliche Kommunikationskanäle habt, wenn Voss und Konsorten unseren digitalen Lebensraum in Ketten legen. Nur so können wir das Internet langfristig lebenswert erhalten.

Damit wir auch die nächste Demo organisieren können

Quelledatei zum Anpassen: visitenkarten-organisieren-koennen.odt

Anhang Größe visitenkarten-organisieren-koennen.odt 25.74 KB visitenkarten-organisieren-koennen.pdf 35.23 KB visitenkarten-organisieren-koennen-thumbnail.png 55.97 KB


Eine Zensur findet nicht statt

[2019-03-18 Mo 22:33] Jeder hat das Recht, seine Meinung in Wort, Schrift und Bild frei zu äußern und zu verbreiten und sich aus allgemein zugänglichen Quellen ungehindert zu unterrichten.

Jeder hat das Recht, seine Meinung in Wort, Schrift und Bild frei zu äußern und zu verbreiten und sich aus allgemein zugänglichen Quellen ungehindert zu unterrichten.

Die Pressefreiheit und die Freiheit der Berichterstattung durch Rundfunk und Film werden gewährleistet.

Die Pressefreiheit und die Freiheit der Berichterstattung durch Rundfunk und Film werden gewährleistet.

Eine Zensur findet nicht statt.

Eine Zensur findet nicht statt.

Artikel 5, Absatz 1, Grundgesetz.

Die Schriftbilder sind aus der kurzschriftlichen Fassung (DEK-Steno) von Artikel 5 Absatz 1 aufgebaut. Sie bedeuten jeweils, was darunter steht. Wie der größte Teil dieser Seite sind sie frei lizensiert. Ihr könnt sie unter cc by-sa verwenden, mit Link auf diese Seite. → Weitere Stenosiegel

Wenn wir unser Grundgesetz ernst nehmen, müssen wir am 23.3.2019 auf die Straße. Denn gerade jetzt droht der Aufbau flächendeckender Zensur in der EU.

Ihr findet eine Karte der Demonstrationen unter www.savetheinternet.info/demos. Schaut sie euch heute an und kopiert Ort und Zeit. Bei der letzten Demo landeten kurz vor der Demo diese Seiten auf schwarzen Listen (eigentlich gegen Spam gedacht), so dass sie in sozialen Netzen nicht verlinkt werden konnten. Sogar E-Mails mit den Links wurden geblockt. Das darf uns dieses Wochenende nicht aufhalten, daher gebt die Informationen bitte direkt weiter.

Am Samstag sind in vielen Städten Europas Demos gegen den Zwang zum Aufbau einer flächendeckenden Zensurinfrastruktur (Artikel

bei gleichzeitiger Enteignung von Künstlern (Artikel

und Lizenzpflicht für Links (Artikel

durch die korrumpierte Urheberrechtsrichtlinie. Seid dabei. Der Kampf gegen Artikel 11, 12 und 13 ist kritisch. Helf mit, die Demos nächsten Samstag zu größten der letzten Jahre zu machen. Das Netz braucht jetzt eure Stimme. Dieses Wochenende können wir etwas bewirken.

„Jeder hat das Recht, seine Meinung in Wort, Schrift und Bild frei zu äußern und zu verbreiten und sich aus allgemein zugänglichen Quellen ungehindert zu unterrichten. Die Pressefreiheit und die Freiheit der Berichterstattung durch Rundfunk und Film werden gewährleistet. Eine Zensur findet nicht statt.“ — Artikel 5, Absatz 1, Grundgesetz

Ich komme in Karlsruhe zum Stephansplatz, 13:30 Uhr, hinter der Postgalerie am Europaplatz (nach und vor dem Gratisrollenspieltag — ich hoffe, wir treffen uns bei beidem!).

Bis heute sind die folgenden Termine auf der Demo-Seite genannt. Sicher ist auch eine in für euch erreichbarer Entfernung dabei. Demonstrationen am

März 2019:

  • Amsterdam

    Dam square: 5:00 PM

  • Arad

    Bulevardul Revoluției 75: 1:00 PM

  • Athen

    Syntagma-Platz: 1:00 PM

  • Aussig

    Ústecký kraj Pařížská 5: 2:00 PM

  • Berlin

    Potsdamer Platz: 2:00 PM

  • Bielefeld

    Hauptbahnhof: 2:00 PM

  • Bielsko-Biala

    plac Bolesława Chrobrego: 4:00 PM

  • Bucharest

    Fântâna de la Universitate: 3:00 PM

  • Budweis

    náměstí Přemysla Otakara II.: 2:00 PM

  • Chemnitz

    Johannisplatz: 2:00 PM

  • Dortmund

    Europabrunnen: 2:00 PM

  • Dortmund

    Friedensplatz: 2:00 PM

  • Dresden – Goldener Reiter Dresden: 2:00 PM
  • Düsseldorf

    Friedrich-Ebert-Straße 34: 1:00 PM

  • Dębica

    Rynek: 5:00 PM

  • Erfurt

    Anger: 2:30 PM

  • Frankfurt

    Paulsplatz: 2:00 PM

  • Freiburg

    Platz der alten Synagoge: 2:30 PM

  • Fürth

    Grüner Markt: 1:00 PM

  • Gdańsk

    Długi Targ: 5:00 PM

  • Glasgow

    The Donald Dewar Statue, Top of Buchanan Street: 1:00 PM

  • Göteborg

    Gustav Adolfs torg: 12:00 PM

  • Göttingen

    Am Nabel: 12:00 PM

  • Hamburg

    Gänsemarkt: 1:00 PM

  • Hannover

    Ernst-August-Platz: 11:00 AM

  • Helsinki

    Senaatintori: 6:00 PM

  • Hof

    Wörthstr. vor dem Scala: 1:00 PM

  • Innsbruck

    Annasäule: 1:30 PM

  • Jena

    Holzmarkt: 2:00 PM

  • Karlsruhe

    Stephansplatz: 1:30 PM

  • Katowice

    Rynek: 5:00 PM

  • Kiel

    Landtag Kiel: 1:00 PM

  • Koblenz

    Löhrrondell: 1:30 PM

  • Krakow

    Rynek Glowny: 5:00 PM

  • Köln

    Neumarkt: 2:00 PM

  • Leipzig: 2:00 PM
  • Liberec

    náměstí Dr. E. Beneše: 2:00 PM

  • Lissabon

    Praça de Luís de Camões: 5:00 PM

  • Ljubljana

    Prešernov trg: 12:00 PM

  • Luxembourg

    Place de l'Europe: 2:00 PM

  • Magdeburg

    Landtag/Domplatz: 1:00 PM

  • Malmö

    Sankt Johannesplan: 12:00 PM

  • München

    Marienplatz: 1:30 PM

  • Münster

    Servatiiplatz: 1:30 PM

  • Nikosia

    Πανεπιστήμιο Κύπρου


    University Of Cyprus: 1:00 PM

  • Osnabrück

    Gewerkschaftshaus: 3:00 PM

  • Ostrava

    Masarykovo náměstí: 2:00 PM

  • Plzeň

    náměstí Republiky: 2:00 PM

  • Potsdam

    Luisenplatz: 10:00 AM

  • Poznań

    Plac Adama Mickewicza: 5:00 PM

  • Praha

    Palackého náměstí: 2:00 PM

  • Ravensburg

    Marienplatz: 1:00 PM

  • Rostock

    Universitätsplatz: 12:00 PM

  • Saarbrücken- Tbilisser Platz vor dem Staatstheater: 2:00 PM
  • Saloniki

    Άγαλμα Μεγάλου Αλεξάνδρου: 2:00 PM

  • Salzburg

    Hauptbahnhof: 2:00 PM

  • Stockholm

    Rosenbadsparken: 12:00 PM

  • Stuttgart

    Rotebühlplatz: 2:00 PM

  • Tallinn

    Freedom Square: 3:00 PM

  • Ulm

    Hans-und-Sophie-Scholl-Platz: 3:00 PM

  • Villingen-Schwenningen

    Latschariplatz: 12:00 PM

  • Warsaw

    Jasna 14/16: 5:00 PM

  • Wałbrzych

    plac Magistracki 1: 12:00 PM

  • Wien

    Christian Broda Platz: 3:30 PM

  • Wrocław

    Rynek 1: 5:00 PM

  • Würzburg

    Bahnhofsplatz: 3:00 PM

  • Zürich

    t.b.a Zentrum: 1:30 PM

  • České Budějovice

    náměstí Přemysla Otakara II.: 2:00 PM

  • Łódź

    Plac Wolności: 5:00 PM

Die Schriftbilder sind aus der kurzschriftlichen Fassung (DEK-Steno) von Artikel 5 Absatz 1 aufgebaut. Sie bedeuten jeweils, was darunter steht. Wie der größte Teil dieser Seite sind sie frei lizensiert. Ihr könnt sie unter cc by-sa verwenden, mit Link auf diese Seite. → Weitere Stenosiegel

Anhang Größe stenoGG-art5-1-wort-bild-schrift-600x424.png 82.79 KB stenoGG-art5-2-pressefreiheit-600x424.png 69.11 KB stenoGG-art-5-3-eine-zensur-findet-nicht-statt-einzeln-600x424.png 45.14 KB stenoGG-art5-1-wort-bild-schrift.svg 1.93 MB stenoGG-art5-2-pressefreiheit.svg 1.24 MB stenoGG-art-5-3-eine-zensur-findet-nicht-statt-einzeln.svg 541.69 KB stenoGG-art5-1-wort-bild-schrift-500x353.png 65.49 KB stenoGG-art5-2-pressefreiheit-500x354.png 55.01 KB stenoGG-art-5-3-eine-zensur-findet-nicht-statt-einzeln-500x354.png 35.69 KB


Zettel-RPG auf den Gratisrollenspieltag, und auf die Straße gegen Artikel 13

[2019-02-24 So 22:39] Heute gibt es zwei große Themen:

Am 23.3. ist Gratisrollenspieltag, und das Zettel-RPG soll wieder dabei sein. Deswegen gibt es eine Crowdfunding-Kampagne auf Startnext, um die Druckkosten gemeinsam zu finanzieren: startnext.com/zettel-rpg-grt2019. Bitte helft uns, das Zettel-RPG wieder auf den Gratisrollenspieltag zu bringen!


Und wenn ihr mich auf irgendeinem anderen Kanal gesehen habt, wisst ihr, dass die neue Urheberrechtsrichtline droht, die EU mit Artikel 13 in die völlige Abhängigkeit von großen Plattformen zu zwingen und Kommentare auf kleinen Seiten wie 1w6.org — oder jedem öffentlichen Forum — vollständig unmöglich zu machen, weil sie eine Filterpflicht einführt, die hier nicht machbar ist und durch zwangsweise flächendeckende Vorzensur mit Sicherheit gegen Artikel 5 Grundgesetz verstößt: "Eine Zensur findet nicht statt.". Dagegen müssen wir auf die Straße, am 23.3. und auch vorher schon, denn Petitionen mit fast 5 Millionen Teilnehmenden werden ignoriert.

Petitionen sind Bitten, die werden leicht ignoriert. Demonstrationen demonstrieren reale Macht durch ausreichenden Organisationsgrad und ausreichende Handlungsbereitschaft. Außerdem bauen sie dezentrale Vertrauens- und Kommunikationsstrukturen auf, die an Filtern vorbeikommen.

Dass Gratisrollenspieltag und Demo am gleichen Tag sind, kann kein Zufall sein (und wenn doch, können wir ihm ja selbst einen tieferen Sinn geben): Wir treffen uns sowieso, also lasst uns beides kombinieren!

PS: Denkt auch an die grausigen Artikel 11 (Linksteuer) und Artikel 3 (völlig schwammiges Verbot von Datamining außerhalb von Universitäten, so dass am Ende Gerichte festlegen werden, was man eigentlich noch über öffentlich zugängliche Daten sagen darf).

PPS: Und Artikel 12 — langsam wirds absurd. Einnahmen von VG Wort sollen jetzt doch immer auch an die Verleger, nachdem das in Deutschland erst vor kurzem gerichtlich gestoppt wurde. Quelle: Copyright_Final_compromise.pdf

Ganz oben auf Seite


— Marc-Oliver Frisch (@knallkultur) February 25, 2019


David gegen Goliath: Sich der eigenen Stärken bewusst sein

[2019-01-12 Sa 22:27] David gegen Goliath: Die eigene Stärke erkennen.

Die Geschichte David gegen Goliath wird heute erzählt als ein Kampf des Schwachen gegen den Starken. Der Schwache stellt sich gegen den Starken, nur bewaffnet mit einer Schleuder, und er siegt durch die Macht Gottes.

Doch diese Erzählung ist grundfalsch, denn sie verkennt die Stärke der Schleuder als Waffe. Wir sehen heute die Schleuder als Spielzeug, doch in den richtigen Händen ist sie tödlich: Eine höhere Feuerrate als ein Bogen und eine Durchschlagskraft, die nur durch das Gewicht und die Form des Geschosses und die Kraft des eigenen Arms begrenzt ist.

David gegen Goliath ist eine Geschichte komplexer Fertigkeiten und überlegener Waffentechnik. David wusste, dass er auf 40m Entfernung einem Löwen den Schädel brechen konnte.

Die Schleuder hat nur eine Schwäche: Sie zu meistern braucht Jahrzehnte der Übung.

Und diese Übung hatten Hirten, denn sie nutzten die Schleuder täglich um Tiere abzuwehren, und sie hatten viel Wartezeit zum Üben. Nicht alle trainierten ständig, aber die, die es taten, wurden tödliche Kämpfer. Die Geschichte David gegen Goliath machte ihnen das bewusst.

Daher ist David gegen Goliath keine Geschichte von Gottvertrauen, sondern davon, dass die Meisterung überlegener Werkzeuge — in der Freizeit oder im Berufsalltag — auch den härtesten Drill überwindet.

Die Geschichte David gegen Goliath ist ein Aufruf, sich der eigenen Stärken bewusst zu sein, sie gegen Gewalt und Unterdrückung zu nutzen, und nicht zuletzt, die Interpretation eines Sieges nicht den Priestern zu überlassen sondern selbst zu übernehmen.


Bio-Fläche ist lebenswertere Fläche

[2018-12-13 Do 21:18] Aktuelle Anti-Bio-Argumentation ist "das braucht mehr Fläche". Dass Bio diese Fläche langfristig gesund und lebenswert hält, wird ignoriert.

Das Argument impliziert, wenn Leute, denen die Natur viel bedeutet, weniger Geld bekämen, würden Andere die Flächen naturfreundlicher nutzen.

Das ist ein geschickter Spin, weil es versucht, den Idealismus von Bio-Freunden gegen sie zu wenden, indem reale Zwänge ausgeblendet werden. Das heißt nicht, dass Bio perfekt ist. Schon gar nicht das verwässerte EU Bio-Siegel. Die meisten Formen von Bio-Landwirtschaft (meist eher Öko-Landwirtschaft genannt) sind für die Böden allerdings weitaus besser als konventionelle Landwirtschaft, weil durch Bio mein Essensgeld diejenigen finanziert, die die Böden langfristig erhalten.

Wurden vor dem Bio-Boom die Flächen, die bei geringerem Platzbedarf von Giftspritzern doch frei sein müssten, für Naturschutzgebiete genutzt?

Bio löst nicht alle Problem, aber es reduziert den Schaden, den mein Essen in der Natur anrichtet. Wichtig wäre noch faire Bezahlung in der gesamten Produktionskette (auch keine Selbstausbeutung). Und höchstens 300g Fleisch pro Woche zu essen. Und ein Gutes Leben für Alle. Ich hoffe dahin kommen wir noch.


Reproducible build of Freenet do-it-yourself: verify-build demystified

[2018-11-13 Di 21:19] You might know the reproducible-builds project, which tries to allow users to verify that what they install actually corresponds to the released source. Or GNU Guix, which provides transparent reproducible binaries — along with a challenge-function.

Given that Freenet is made for people with high expectations for integrity, it might not surprise you that Freenet has been providing a reproducible build and a verification script since

However until release 1481, it was a hassle to set up, and few people used it.

But now that we’re on gradle, verifying that what I release is actually what’s tagged in the source is much easier than before.

The following instructions are for GNU/Linux, and maybe other *nixes, allowing you to verify the test release of

You can easily adapt them for future releases.


Firstoff: to verify 1482 you NEED Java 7

in general you need the Java version I release with. I hope that starting with 1483 it will be Java

get the release

Start by downloading the jar: SSK@…/jar-1482 (needs a running Freenet)

Copy it to /tmp/freenet-1482.jar

verify it

Then run the following:

failureWarning="FAILED TO VERIFY. If you determine that this failure is not due to build environent differences, then the source files used to build the published version of Freenet are different from the published source files. The build has been compromised. Take care to only run version of Freenet with published, reviewable source code, as compromised versions of Freenet could easily contain back doors."

cd tmp git clone git@github.com:freenet/fred.git cd fred git checkout build01482 ./gradlew jar mv build/libs/freenet.jar ../freenet-built.jar cd ..

mkdir unpacked-built unzip freenet-built.jar -d unpacked-built (cd unpacked-built; find -type f) | sort > unpacked-built.list

mkdir unpacked-official unzip freenet-1482.jar -d unpacked-official (cd unpacked-official; find -type f) | sort > unpacked-official.list

if ! cmp unpacked-official.list unpacked-built.list; then echo FAILED TO VERIFY: Different files in official vs built echo Files in official but not in built are marked as + echo Files in built but not in official are marked with - diff -u unpacked-built.list unpacked-official.list echo "" echo "$failureWarning" fi

while read x; do if ! cmp "unpacked-official/$x" "unpacked-built/$x"; then if ; then echo "Manifest file is different; this is expected." echo "Please review the differences:" diff "unpacked-official/$x" "unpacked-built/$x" else echo "File is different: $x" echo "$x" >> "differences" fi fi done < unpacked-official.list

if ; then echo VERIFY FAILED: FILES ARE DIFFERENT: cat differences echo "" echo "$failureWarning" fi


That’s it. You just verified release 1482 of Freenet. If that code does not shout a huge warning at you, then what I released is actually what is tagged and signed as 1482 in the source.

PS: This is a shorter and somewhat cleaned up version of the verify-build script.

PPS: Yes, there is also a docker solution. I cannot test it right now, though, because my docker does not work. Ask in IRC (#freenet on chat.freenode.net).



[2018-11-04 So 18:02] Auge

Eine wiedergefundene Zeichnung. Auch auf deviantart.

Anhang Größe auge-white-bg.png 3.93 MB auge-white-bg-400x193.png 149.04 KB


The Freenet Web of Trust keeps communication friendly with total anonymity

[2018-09-18 Di 21:19] In the past decade there hasn’t been a year without a politician calling for real names on the internet. Some even want to force people to use real photos as profile pictures. All in the name of stopping online hate, though enforcing real names has long been shown to actually make the problem worse.

This article presents another solution, one that has actually proven that it keeps communication friendly, even in the most anonymous environment of the fully decentralized Freenet project.

And that solution does work without enabling censorship.


The Web of Trust (WoT) was conceived when Frost, one of the older forums on Freenet, broke down due to intentional disruption: some people realized that full anonymity also allowed for automatic spamming without repercussions. For several months they drowned every board in spam, so peole had to spend so much time ignoring spam that constructive communication mostly died.

Those spammers turned censorship resistance on its head and censored with spam. Similar to people who claim that free speech means that they have the right to shout down everyone who disagrees with them. Since the one central goal of Freenet is censorship resistance, something had to be done. The problem of Frost was that everyone could always write to everyone. Instead of going into an arms race of computing power or bandwidth, Freenet developers went to encode decentralized reputation into communication, focussed on stopping spam.

How it works

To make your messages visible to others, you have to be endorsed by someone they trust. When someone answers some of your messages without marking you as spammer, that means endorsement. To get initial visibility, you solve CAPTCHAs which makes you visible to a small number of people. This is similar to having moderators with a moderation queue, but users choose their own moderators.

That still provides full anonymity, but with accountability: you pay for misbehavior by losing visibility. This is the inverse of Chinese censorship: in China you get punished if your message reaches too many people. In Freenet you become invisible to the ones you annoy — and to those who trust them but not you (their own decision always wins).

But wait, does that actually work? Turns out that it does, because it punishes spammers by taking away visibility, the one currency spammers care about.

It is the one defence against spam which inherently scales better than spamming. And it keeps communication friendly.


Now I repeated the claim three times that the WoT keeps communications friendly (including the title). Let’s back it up. Why do I say that the WoT keeps communication friendly?

For the last decade, Freenet has been providing three discussion systems side by side. One is Frost, without Web of Trust. One is FMS, with user-selected moderators as Web of Trust. And the third is Sone, with propagating trust as Web of Trust. On Frost you see what happens without these systems. Insults fly high and the air is filled with hate and clogged by spam. Consequently it is very likely that FMS and Sone are a target of the same users. With no centralized way of banning someone, they face a harder challenge than most systems on the clearnet (though with much less financial incentive).

Yet discussions are friendly, constructive and often controversial. Anarchists, agorians, technocrats, democrats, LGBT activists and religious zealots discuss without going at each others throats.

And since this works in Freenet, where very different people clash without any fear of real-life repercussions, it can work everywhere.

Further reading

  • Trust in FMS.
  • Description of Web of Trust (used by Sone) and a Bachlor thesis with the details.
  • How to scale WoT to billions of users by giving up the notion of knowing everyone.

Use in other systems

How can this be applied to systems outside Freenet — for example federated microblogging like GNU social?

You can translate the required input to the Web of Trust as described in the scalability calculation to use information available in the federation:

  • As WoT identity, use the URL of a user on an instance. It is roughly controlled by that user.
  • As peer trust from Alice to Bob, use "if Alice follows Bob, use trust (100

    (100 / number of messages from Alice to Bob))".

  • As negative trust use a per-user blacklist (blocked users).
  • For initial visibility, just use visibility on the home instance.

These together reduce global moderation to moderation on a smaller instance and calculations based on existing social interaction.

If you want to get a feeling of how this works, install Freenet and FMS and just test it yourself. Both are Free Software and available to anyone:

→ freenetproject.org


(Finally typed down while listening to a podcast by techdirt about content moderation)


Bitte stimmen Sie für Anpassungen der EU-Urheberrechtsrichtlinie

[2018-09-11 Di 21:07] Ein offener Brief an die EU-Abgeordneten zur Abstimmung über die EU-Urheberrechtsrichtlinie.

Sehr geehrte Abgeordnete des Europäischen Parlaments,


September haben Sie die Möglichkeit, darüber abzustimmen, ob das Internet weiter kleinen Firmen und Kreativen offensteht, was die Urheberrechtsrichtlinie in der Fassung von 2016 bewirkt hätte, oder ob es zu einer monopolistischen Zensurmaschine wird, wie es die Fassung vom Mai 2018 bewirken würde.

Ich schreibe Ihnen als Programmierer, weil die Auswirkungen dieser Richtline rein rechtlich nicht zu überblicken sind; das gilt vor allem für Artikel

So wenig wie ein Gesetz die Flut stoppen kann, kann es einen Algorithmus schaffen, der alle Urheberrechtsverletzungen schon beim Upload stoppt, aber alle legalen Inhalte erlaubt. Wenn wirklich alle Urheberrechtsverletzungen gestoppt werden müssen, dann müssen gleichzeitig viele legale Äußerungen verhindert werden, und zwar laut der Richtlinie in jeglicher öffentlicher Kommunikation. Das ist allerdings, was die Richtlinie fordert, da sie die Beweislast umkehrt, indem sie von Anbieter von Kommunikationsplattformen verlangt, den Rechteinhabern nachzuweisen, dass sie genug tun (und damit grundlegende rechtsstaatliche Prinzipien verletzt, nach denen im Zweifel die Unschuldsvermutung gilt). Plattformen — große wie kleine — müssen daher erstmal alles stoppen. Da auch keine Strafen für fälschliche Block-Forderungen vorgesehen sind, wird es sehr einfach, unerwünschte Aussagen zu verhindern, und sei es nur zeitweise.

Ein Youtube-Nachrichten-Autor (LeFloid) hat dazu letztens in einem Interview mit dem NDR berichtet,[1] dass bereits die existierenden Filter in youtube immer wieder Videos von ihm für ein paar Tage blockieren, was bedeutet, dass das Video weniger als ein Zehntel der Zuschauer bekommt, die es sonst haben würde, weil das Thema schon vorbei ist. Er geht so damit um, dass er seine Videos auch auf anderen Plattformen anbietet. Doch mit der Formulierung von Artikel 13 in der Fassung von Mai 2018 müssten alle Plattformen Uploads filtern, und aus Haftbarkeitsgründen müssten sie die Filter großer Anbieter nutzen, die es sich leisten können, zig Millionen in die Entwicklung von Filtertechnik zu investieren (und wie die Erfahrung von LeFloid zeigt trotzdem in vielen Fällen erlaubte Inhalte blocken). Damit könnte er diese Videos nirgendwo mehr zeitnah anbieten.

Ähnlich problematisch sind Artikel 12, Artikel 11 und Artikel 3, doch ich kann Ihnen dazu keine Beispiele schreiben, weil ich morgen um 5:00 aufstehen und zur Arbeit muss.

Daher möchte ich Sie stattdessen bitten, sich die Vorschläge von Greens/EFA und EFDD unvoreingenommen durchzulesen und ihrem Gewissen zu folgen, mit dem Wissen, dass das die Vorschläge sind, die von Leuten mit Fachkenntnis in Programmierung unterstützt werden.

Mit freundliche Grüßen,

Dr. Arne Babenhauserheide

[1] https://www.youtube.com/watch?v=KE5AZDBygNQ


Copyright directive modal window for your website

[2018-09-08 Sa 17:07] The European Copyright directive threatens online communication in Europe. On September 12th the European parliament takes the crucial vote which can still fix it. But the parliamentarians (MEPs) need to hear our voices.

If you care about the future of the Internet in the EU, please Call your MEPs!

And if you have a website and want to inform your visitors about this vote, copy the following and add it to your site:

<!– begin fsf-dbd-elem campaign element –> <!– this campaign element was repurposed for the fight to fix the European Copyright directive, using freedom 1 of the four freedoms granted by the GPLv3 –> <link type="text/css" rel="stylesheet" href="https://static.fsf.org/nosvn/fonts/fa/css/font-awesome.min.css"> <style> #fsf-dbd-elem-container div { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

@media screen and (min-width: 700px) {

#fsf-dbd-elem-outer-v-center { display: table; position: absolute; height: 100%; width: 100%; } #fsf-dbd-elem-inner-v-center { display: table-cell; vertical-align: middle; }

#fsf-dbd-elem { width: 687px; margin-left: auto; margin-right: auto; }

#fsf-dbd-elem-right-column { float: right; width: 280px; padding-left: 20px; }

#fsf-dbd-elem-left-column { width: 100%; float: left; margin-right: -280px; }

#fsf-dbd-elem-text { margin-right: 280px; } }

@media screen and (max-width: 699px) {

#fsf-dbd-elem {

-ms-box-orient: horizontal; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -moz-flex; display: -webkit-flex; display: flex;

-webkit-flex-flow: row wrap; flex-flow: row wrap; }

#fsf-dbd-elem { width: 80vw; margin-left: 10vw; margin-right: 10vw; margin-top: 40px; margin-bottom: 40px; }

#fsf-dbd-elem-right-column { width: 100%; order: 1; }

#fsf-dbd-elem-left-column { width: 100%; order: 2; }

#fsf-dbd-elem-text { margin-top: 20px; } }

@media screen and (max-width: 360px) { .long-button-text { font-size: 25px !important; } }

#fsf-dbd-elem-container { position: fixed; z-index: 10000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0,0,0,0.8);

font-weight: normal; }

#fsf-dbd-elem a, a:active, a:focus { outline: none; }

#fsf-dbd-elem { overflow: auto; zoom: 1; padding: 20px; border-style: solid; border-width: 5px; border-color: rgb(254, 203, 0); border-radius: 20px; box-shadow: 0px 0px 10px #111111; background: #ffffff url("repeat-offenders-bg.png") top left repeat; }

#fsf-dbd-elem-header { width: 100%; }

#fsf-dbd-elem-header h2 { font-family: sans-serif,"Helvetica",Arial; font-weight: bold; font-size: 24px; color: black; text-shadow: 0px 0px 8px #ffffff, 0px 0px 8px #ffffff; padding-bottom: 20px; margin-top: 0px; margin-bottom: 0px; border: none; }

#fsf-dbd-elem-close-button { float: right; height: 40px; margin-right: -20px; margin-top: -20px; padding: 11px; color: #888; cursor: pointer; }

#fsf-dbd-elem-close-button:hover { color: #aaf; }

#fsf-dbd-elem-right-column { text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#fsf-dbd-elem-buttons div { height:53.333px; line-height: 53.333px; margin-left:auto; margin-right:auto; display:block; }

#fsf-dbd-elem-buttons { }

#fsf-dbd-elem-buttons a { width: 100%; display: block; text-align:center; font-size:35px; color:#000000; text-decoration: none; font-family: sans-serif,"Helvetica",Arial; font-weight: normal; }

#fsf-dbd-elem-maybe-later { margin-top: 5px; margin-bottom: -5px; }

#fsf-dbd-elem-maybe-later a { color: #4298b5; line-height: 20px; text-decoration: none; cursor: pointer; font-weight: normal; font-family: sans-serif,"Helvetica",Arial; font-size: 16px; }

#fsf-dbd-elem-text { text-align: left; }

#fsf-dbd-elem-text a { color: #e64c22; font-weight: 700; text-decoration: none; }

#fsf-dbd-elem-text a:hover { color: #bc1b1b; }

#fsf-dbd-elem-text a:focus { color: #bc1b1b; }

#fsf-dbd-elem-text a:active { color: black; }

#fsf-dbd-elem-text p { font-family: sans-serif,"Helvetica",Arial; font-size: 16px; font-weight: normal; margin: 0px 0px 10px 0px; line-height: 20px; color: black; text-shadow: 0px 0px 8px #ffffff, 0px 0px 8px #ffffff; }

#fsf-dbd-elem-text li { font-family: sans-serif,"Helvetica",Arial; font-size: 14px; font-weight: normal; margin: 0px 0px 10px 0px; line-height: 20px; color: black; text-shadow: 0px 0px 8px #ffffff, 0px 0px 8px #ffffff; } </style> <div id="fsf-dbd-elem-container" style="display: none;"> <div id="fsf-dbd-elem-outer-v-center"> <div id="fsf-dbd-elem-inner-v-center"> <div id="fsf-dbd-elem"> <div id="fsf-dbd-elem-header"> <div id="fsf-dbd-elem-close-button" onclick="fsfDBDElemDontShowAgain();"> <i class="fa fa-close"></i> </div> <h2>Sep. 12th decides the fate of the internet in the EU!</h2> </div> <div id="fsf-dbd-elem-left-column"> <div id="fsf-dbd-elem-text">

<p>The <a href="https://juliareda.eu/eu-copyright-reform/">European Copyright directive</a> threatens online communication in Europe.<ul><li>Article 13 would require every site where you can share to <a href="https://twitter.com/ArneBab/status/1034823956107325440">build or buy massive censorship infrastructure</a>.</li><li>Article 12 would <a href="https://juliareda.eu/2018/09/copyright-sports-fans/">make it illegal to share a photo from a football game</a>.</li><li>Article 11 would require <a href="https://juliareda.eu/2018/09/copyright-showdown/">license fees for links</a>.</li><li>Article 3 would forbid working with information you find online.</ul></p>

<p>But thanks to <a href="https://juliareda.eu/2018/08/saveyourinternet-action-day/">massive shared action earlier this year</a>, the European parliament <a href="https://juliareda.eu/2018/09/copyright-showdown/">can still prevent the problems</a>. For each of the articles there are proposals which fix them. The parliamentarians (MEPs) just have to vote for them. And since they are under massive pressure from large media companies, that went as far as defaming those who took action as <em>fake people</em>, the MEPs <strong>need to hear your voice</strong> to know that your are real.</p>

<p>If you care about the future of the Internet in the EU, please <a href="https://saveyourinternet.eu/">Call your MEPs</a>.</p>

</div> </div> <div id="fsf-dbd-elem-right-column"> <div id="fsf-dbd-elem-buttons" style="border-radius: 20px;"> <div id="button_0" style="background-color: rgb(230, 76, 34); border-radius: 20px; a {color: rgb(188, 27, 27) !important}; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5); margin-bottom: 26.667px;"> <a href="https://saveyourinternet.eu/"><i class="fa fa-check-circle"> </i>Call MEPs</a> </div>

<div id="button_1" style="background-color: rgb(254, 203, 0); border-radius: 20px; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);"> <a class="long-button-text" href="https://juliareda.eu/2018/09/copyright-showdown/"><i class="fa fa-globe"></i> Learn More</a> </div> </div> </div> </div> </div> </div> <script type="text/javascript"> // @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later

var startTime, endTime, fsfDBDElemMaybeShow, daysInFuture, fsfDBDElemHide, fsfDBDElemDontShowForDays;

startTime = new Date('2018-08-28T00:00:00Z'); switchTextTime = new Date('2018-09-11T00:00:00Z'); endTime = new Date('2018-09-13T00:00:00Z');

/ possibly switch the text that is displayed in the modal window, depending / upon the current date. function fsfDBDElemMaybeSwitchText () {

var now;

now = new Date(); if (now.getTime() < switchTextTime.getTime()) { return; // don't switch the dbd text }

/ switch dbd text document.getElementById("fsf-dbd-elem-text").innerHTML ' <p> Tomorrow the European parliament decides the fate of the Internet in the EU! </p> <p> <a href"https://saveyourinternet.eu">Call your MEPs today</a>! </p>';

// remove button_0 button_0 = document.getElementById("button_0"); button_0.parentNode.removeChild(button_0);

/ change href in button_1 document.getElementById("button_1").children[0].href = "https://juliareda.eu/2018/09/copyright-showdown" }

/ show fsf-dbd-elem if it hasn't been previously closed by / the user, nor recently hit "maybe later", // and the campaign is still happening function fsfDBDElemMaybeShow () {

var pattern, noShowDBD2018IDADElementP, now;

now = new Date(); if (now.getTime() < startTime.getTime() || now.getTime() > endTime.getTime()) { return; // don't show the fsf-dbd-elem }

/ see if cookie says not to show element pattern = /showDBD2018IDADElementP *= *false; noShowDBD2018IDADElementP = pattern.test(document.cookie);

if (!noShowDBD2018IDADElementP) { setTimeout(function () { // display the element document.getElementById("fsf-dbd-elem-container").style.display="block"; }, 0); } }

// call this first to set the proper text fsfDBDElemMaybeSwitchText(); // call this right away to avoid flicker fsfDBDElemMaybeShow();

/ get the time `plusDays` in the future. / can be a fraction. function daysInFuture (plusDays) { var now, future;

now = new Date(); future = new Date(now.getTime() + Math.floor(1000 * 60 * 60 * 24 * plusDays)); return future.toGMTString(); }

// hide the fsf-dbd-elem function fsfDBDElemHide () { document.getElementById("fsf-dbd-elem-container").style.display="none"; } // optionally hide elem and set a cookie to keep the fsf-dbd-elem hidden for the next `forDays`. function fsfDBDElemDontShowForDays (forDays, hideNow) { if (hideNow = true) { fsfDBDElemHide(); } /document.cookie = "showDBD2018IDADElementP=false; path=; domain=.fsf.org; expires=" + daysInFuture(forDays); document.cookie = "showDBD2018IDADElementP=false; path=/; expires=" + daysInFuture(forDays); }

// hide the element from now to past the date of the campaign function fsfDBDElemDontShowAgain () { fsfDBDElemDontShowForDays(120, true); } // don't show the element for a while function fsfDBDElemMaybeLater () { fsfDBDElemDontShowForDays(1, true); } // keep the element visible for now, but don't show it on future page loads function fsfDBDElemFollowedLink () { fsfDBDElemDontShowForDays(120, false); }

// close popup if user clicks trasparent part document.getElementById("fsf-dbd-elem-container").addEventListener("click", function(event){ fsfDBDElemDontShowAgain(); }); // don't close popup if clicking non-trasparent part (with the text and buttons) document.getElementById("fsf-dbd-elem").addEventListener("click", function(event){ event.stopPropagation(); });

// @license-end </script> </div> <!– end fsf-dbd-elem campaign element –>

copyright directive modal window preview

(this code is based on the day against DRM modal window by the FSF, licensed under GPLv3+)

Anhang Größe 2018-09-08-copyright-directive-banner-draketo.png 175.21 KB


Relicensing a project from GPLv2 or later to AGPLv3 or later

[2018-08-30 Do 21:13] Switching from GPLv2 or later to AGPL is perfectly legal. But if it is not your own project, it is often considered rude.

This does not relicense the original code, it just sets the license of new code and of the project as a whole. The old code stays GPLv2+, but when it is combined with the new code under AGPLv3 (or later), the combined project will be under AGPLv3 (or later).

However switching from GPL2+ to AGPL3(+) without consensus of all other contributors is considered rude, because it could prevent some of the original authors from using future versions of the project. Their professional use of the project might depend on the loopholes in the copyleft of the GPL.

And the ones you will want most of all as users of your fork of a mostly discontinued project are the original authors, because that can mend the split between the two versions.

This question came up in a continuation of a widely used package whose development seemed to have stalled. The discussion was unfocussed, so I decided to write succinct information for all who might find themselves in a similar situation. I will not link to them, because I do not wish to re-ignite the discussion through an influx of rehashed arguments.


Please accept the signatures from the petition against Article 13

[2018-07-02 Mo 19:47] Dear Antonio Tajani,

Please accept the signatures from the petition against article 13.1

In 2014 I contributed to the Public Consultation on the review of the EU copyright rules.2

I publish music online, I write online, I publish Free Software, and I share links to news.

Last month I wrote to my representatives in JURI and asked them to preserve internet freedom. 15 of them nontheless voted to destroy online freedom. I cannot understand how they could vote for a system which will enforce the widespread establishment of technologies which can form the foundation for censorship which lets chinese censorship appear like a paradise of free speech.

Therefore I now beg you to accept the signatures from the petition against article

Please let the voices of the European citizens be heard. Please help us preserve the Europe we love.

The best of wishes,

Dr. Arne Babenhauserheide

1 The petition against Article 13, currently with over 654,000 signatures: https://www.change.org/p/european-parliament-stop-the-censorship-machinery-save-the-internet

2 My answers to the public consultation on copyright in the EU: http://www.draketo.de/files/2014-03-04-eu-copyright-consultation-document_en-arne_babenhauserheide.pdf


Zensur durch Uploadfilter

[2018-06-28 Do 19:42] Die Tagesschau schrieb heute »Das Hochladen eines urheberrechtlich geschützten Albums … müsste Youtube demnach verhindern, wenn Youtube dafür … keine Lizenz hat. Ein Angriff auf die Meinungsfreiheit wäre das absolut nicht.«

Diese Aussage ist allerdings aus zwei Gründen absolut falsch:

Erstens: Wenn Plattformen, die der Kommunikation dienen, gezwungen werden, alle Inhalte zu filtern, und mit Strafen bedroht werden, wenn sie einen bestimmten Inhalt nicht blocken, dann werden sie eher zu viel als zu wenig blocken. Denn wenn sie zu viel blocken, bekommen sie keine Strafe, wenn sie zu wenig blocken schon. Und "genau richtig" zu blocken ist rein technisch nicht möglich. Das ist spätestens seit letzter Woche offensichtlich, wo Youtube Inhalte des MIT und der Blender Foundation geblockt hat — weil sie angeblich deren eigenes Urheberrecht verletzen würden.

Zweitens: Durch dieses Gesetz werden alle irgendwie finanzierten öffentlichen Kommunikationsplattformen in der EU gezwungen, eine Infrastruktur aufzubauen, die eine ideale Grundlage für weitreichende politische Zensur bietet. Und wo die Möglichkeit besteht, entstehen Begehrlichkeiten. Solche schlicht falschen Aussagen als Kommentar zu einer Aktion der FDP zur Positionierung für Meinungsfreiheit zu bringen ist eine Unverschämtheit ersten Ranges.

Was hier passieren soll ist qualitativ anders als das, was Plattformen wie youtube bisher schon betreiben. Denn es werden alle finanzierten Plattformen dazu gezwungen, eine zentral gesteuerte Zensurinfrastruktur zu schaffen.

Mit Qualitativ meine ich nicht "gut", sondern "nicht in Zahlen vergleichbar".

Der qualitative Unterschied ist, dass es hiermit möglich ist, Europaweit die Veröffentlichung von Inhalten zu verhindern, die bestimmten zentral festgelegten Kriterien entsprechen — und zwar bevor sie überhaupt jemand gesehen hat.

Richtig ist daher: Uploadfilter würden einen Eingriff in die Meinungsfreiheit bedeuten, gegen den die Zensur in China wie ein Musterbeispiel an Pressefreiheit wirkt.

Und das würde ich gerne in der Tagesschau hören.


You cannot afford 1% predators

[2018-06-24 So 18:18] The discussion about sexual assault at conferences has been going on for a few years now. Moral reasoning has been discussed a lot, and I will not repeat that.1

Here I will give a dispassionate, cold and calculating reason why your community cannot afford to tolerate 1% predators:

If in a community of 50 men and 50 women, one person is a predator who attacks one woman every year and causes her to leave, and every year either a man or a woman joins, the community will be male-only after 100 years.

Even 1% predators is far too much. To take this apart:

  • I assume that interest in the topic is equal between men and women.
  • I assume that the community starts out with 50 men and 50 women.
  • Now I add a single predator who attacks one woman every year.
  • The woman subsequently leaves.
  • One new person joins to take her place. Since interest is assumed equal, there’s a 50% chance that it’s a woman and a 50% chance that it’s a man.
  • Overall the community therefore loses one woman every second year.
  • Within 100 years there will be no single woman left in the community.

Therefore no community can afford to tolerate even one predator per 100 people — regardless of how the predator causes women to leave.

Even 1% predators cause massive structural discrimination. If you tolerate those 1% of people, you lose 50% of your community — and, all moral issues aside, no community should burn half their members for the sake of the 1% who might be predators.

Note that most people in such a community won’t notice the predatory behavior, simply because most of the time they will only interact in smaller subgroups of 5 to 10 people. If in a community of 100 people more than 10 people noticed something odd, that’s a big red flag that there might be a predator in the group who could hurt and drive away half the community if not stopped.

PS: The same goes with the genders reversed: Anyone who makes one person of one specific gender leave every year can effectively render a community single-gender.

1 Just read the following twitter thread if you need a refresher on the moral issues: So I was at an academic conference this weekend and had to physically intervene to prevent a sexual assault by a male colleague on a female colleague who was drunk to the point that she was clearly not in control of herself, and unable to exercise judgment or consent. — Brad Simpson (@bradleyrsimpson) (June 22,


Gute Entscheidungen des EuGH

[2018-06-21 Do 19:46] Eine Auswahl guter Entscheidungen des Europäischen Gerichtshofes:

  • Uber muss die Regeln von Taxis einhalten
  • Bürger haben auch dann Anspruch auf Zugang zu aus anderen Gründen herauszugebenden EU-Dokumenten, wenn diese für ein Gerichtsverfahren eingereicht werden
  • "EuGH kippt Störerhaftung"
  • Ein Asylverfahren zu verschleppen zerstört nicht den Anspruch auf Familiennachzug
  • Bei verkündungsfernen Aufgaben dürfen Kirchen keine Religionszugehörigkeit verlangen

New Horizons for Science

[2018-06-13 Mi 21:42] Farewell to friends – and a love.


Download: mp3 audio


webm video; Watch on youtube

New recording 2019 at Intermezzo with Rika Körte and Steven Macdonald as recording engineers: mp3 audio



Goodbye my love, I leave tonight,

I know you’re in new hands,

Though I would rather follow you,

That’s not the way that this is planned,

Our destiny will now be watched

by different eyes than mine,

I wish you just the best,

be sure we’ll meet again in time.

By now you’ve found somebody else,

to watch out over you,

Every new face I see wasted here,

it’s breaking me in two,

Maybe I should stay and fight

but my heart calls me away,

To that call I must be true,

you know, that is a father’s way.

I decided long ago,

about the way I feel for you,

but it has made no difference,

they are breaking you in two,

it’s true I swore me to your side,

come sunshine or come snow,

But as your faithful friend

I know, it’s time for me to go.

So goodbye to all the friends I’ve made

I’ll never be too far,

there’s much that I have learned from you,

of gluon, mind and star,

I’m grateful for the times we spent,

and all that we’ve been through,

the place I reached today,

I reached because of you.

Goodbye my love, scientia,

should I one day return,

I’ll no longer be a funds-beggar,

and then the tide will turn,

I know you love me as a friend,

but that’s not enough for me,

your paradigms I’ll shift, and then,

we’ll have a chance, you’ll see.

Copyright © 2017 Filk by Arne Babenhauserheide, License: cc by.

Music and original lyrics: Katja Buchmüller

A Filk on the Filk Song New Horizons by Katja Buchmüller. Recorded when I played it for the SAT group at IMK-ASF, KIT, after I signed my contract to move from science to software development .

The embedded video is compressed down to 5.6 MiB (thanks to awesome vp9 compression), so it’s suitable to be sent by email: new-horizons-for-science.webm

When you send it by email, your recipients might need a web browser to play it (until desktop video players catch up with the new video codecs on the web).

And if you enjoy this song in the EU, please tell your representatives before June 20 2018 to stop the bad parts of the copyright reform, so I can continue to do scientific work in my free time without having to work at a university. One major part of this is Article 13, which would require establishing upload filters for social media sites — and might have stopped me from sharing this song there, if it were the law today.

The EU Copyright Reform threatens my ability to do research in my free time, now that I left university to offer a future for my children. So please help keeping links free (stop Article 11), data mining for independent researchers legal (stop Article 3), and automatic upload filters non-mandatory (stop Article 13).

Anhang Größe 2017-10-11-new-horizons-for-science-im-IMK-ASF-KIT-filk-song-arne-babenhauserheide-based-on-new-horizons-IMG_2297-vp9.mp3 1.17 MB 2017-10-11-new-horizons-for-science-im-IMK-ASF-KIT-filk-song-arne-babenhauserheide-based-on-new-horizons-IMG_2297-vp9.webm 5.37 MB new-horizons-science.flk 2.32 KB new-horizons-science.pdf 52.73 KB new-horizons-science.png 24.39 KB new-horizons-for-science-intermezzo.mp3 2.98 MB


Gute Neuigkeiten

[2018-06-03 So 20:01] Auf gute-neuigkeiten.de hatte ich von 2007 bis 2012 Nachrichten gesammelt, die Mut machen, zu handeln.

Dann wurde die Seite gehackt und ich musste sie abschalten.

Jetzt habe ich sie wieder gestartet: Einfacher und als Sammlung von Kurzinfos zu anderen Quellen.

→ www.gute-neuigkeiten.de Dieser Artikel beschreibt, was die Seite für mich ausmacht.

Über Gute-Neuigkeiten.de

Gute-Neuigkeiten.de hat sich Nachrichten aus dem politischen Umfeld verschrieben, die Mut machen selbst aktiv zu werden, und bietet so einen Lichtblick in der heutigen Medienlandschaft.

Auf Gute-Neuigkeiten.de finden sich daher nur positive Nachrichten.

  • Ein kleines Mädchen hat 30 Nazis vom Asylantenheim fern gehalten, weil da ihre Freunde drin wohnen?
  • Ein Biobauer hat sich erfolgreich gegen ein Genfeld durchgesetzt, durch das seine Felder kontaminiert worden wären?
  • Ein Tauschbörsennutzer hat die Klage gegen einen großen Medienkonzern gewonnen?
  • Eine Stadt nimmt die Arbeitslosigkeit selbst in die Hand und die früheren Arbeitslosen gewinnen in Bürgerarbeit Lebensmut und Motivation zurück?
  • Auf dem Treffen der G8 haben Hunderttausende friedlich gegen Ausbeutung der dritten Welt und die Einschränkung der freien Kommunikation durch die 8 größten Industrienationen demonstriert?
  • München hat auf GNU/Linux umgestellt?
  • Ein Konzert gegen Rechts hat tausende Besucher angelockt?
  • Walmart hat das Geschäft in Deutschland aufgegeben, weil unsere Gesetze die Arbeitnehmer zu gut schützen?
  • Tausende Menschen haben sich zu einem Friedensfest zusammengefunden?
  • Ein freies Programm wurde aktualisiert und bietet nun durch die ehrenamtliche Arbeit vieler Freiwilliger eine Vielzahl neuer Möglichkeiten?
  • Ein paar Hobbymusiker haben ein freies Konzert für Menschenrechte, Fantasie und Freiheit gegeben?
  • An drei Karlsruher Hochschulen starten die Studenten ihren Boykott gegen das schädliche Studiengebührenmodell des Landes?
  • Durch die Wikipedia ist nun die größte Wissensbibliothek der Erde frei lizensiert verfügbar?
  • Die Heirat von Schwulen und Lesben wird der hetero-Ehe gleichgestellt?

Das und vieles weitere Mut machende soll sich hier finden, und wenn manches davon bisher noch nicht passiert ist, soll diese Seite ihren Besuchern helfen den Mut zu finden, es zu verwirklichen.

Was ist eine gute Neuigkeit?

Gute Neuigkeiten sind Nachrichten aus dem politischen Umfeld, die Mut machen selbst aktiv zu werden, und so einen Lichtblick in der heutigen Medienlandschaft bieten:

Nachrichten, die Mut machen zu handeln.

Es ein paar Richtlinien, um dieser Seite ein Profil zu geben — ein paar Grundsätze festzulegen —, aber die meisten davon sollten sich von selbst verstehen:

  • Mut braucht ein stabiles Fundament. Also schreibt nur Artikel und Blog-Einträge über Dinge, die ihr selbst erlebt habt oder die Freunde von euch erlebt haben, oder die ihr aus anderen vertrauenswürdigen Quellen habt (heise.de, Tageszeitungen, golem.de, u.ä.)
  • (sinnvollerweise) Gesetzeswidriges, Frauen-, Männer- oder Ausländerfeindliches, Menschenrechte verletzendes o.ä. ist niemals eine gute Nachricht. (sorry, der Satz muss auch irgendwie dazu, auch wenn das jedem klar sein sollte…)
  • Wenn Menschen Dinge selbst in die Hand nehmen und etwas Schönes schaffen, ist das meistens eine gute Nachricht.
  • Menschen, die sich entgegen aller Widerstände für die Gesellschaft, für Fremde, für Schwächere oder für ihre Freunde einsetzen sind HeldInnen und oft gute Neuigkeiten.
  • Wenn jemand neuen Mut schöpft, eine positive Vision der Zukunft sieht und die Kraft findet, sich für sie einzusetzen, ist das meist eine gute Neuigkeit.
  • Gute-Neuigkeiten.de ist unabhängig von Religionen, denn die sind meist nur für die jeweilige Gruppe der Gläubigen eine gute Neuigkeit.
  • Betrachtet die Neuigkeiten mit gesundem Menschenverstand und fragt euch: "Wird diese Neuigkeit Menschen Mut machen, sich selbst zu hinterfragen und gleichzeitig zum Wohle der Gesellschaft für ihre Überzeugungen einzusetzen?" Wenn ja, dann ist das eine gute Neuigkeit.
  • Bleibt höflich und fröhlich und schreibt über das Gute, das den Kern der Neuigkeit ausmacht.


The princess is the ultimate representation of social and hierarchical power

[2018-05-11 Fr 21:17] Knight, do my bidding.

A girl told my son “I’m a princess, you’re a knight, fetch me a glass of water!”. It was then that I realized that a princess typically isn’t someone to save. I was so proud of my son when he said “no”, because I suddenly realized how hard it is to escape the shackles of that special story.

A princess is the one person in the country, who reigns surpreme in both hierarchy and social standing. People in stories might hate the king, but the princess is beloved by most. Remember princess Diana. In life she was a role model, and her death moved most people in Europe. No one in his or her right mind would admit killing her, not even among close friends. This is different with a king: You can kill a king and still keep your friends. But a princess is out of reach.

The princess might be seen as tragic – having to sacrifice love for the good of the kingdom – but she is still out of reach to any man. And she can destroy any person with a mere accusation. The one who insults a princess is condemned both by the power of the state and by society.

The only capability a princess in stories lacks is physical force, and the only way a man outside royalty can be more to the princess than a servant, is saving her from some horrible fate. Since she reigns surpreme in everything but physical force, this fate will have to be fought by physical strength.

The power she uses is indirect: The princess in stories did not create her power, she inherited it. But this does not mean that it is not real: If the king is not depicted as evil, then the guards are loyal to the princess, and this loyalty is real power.

This is why it felt strange to me when people celebrated stories in which the princess also wielded physical power as an inversion of the archetype of a princess needing to be saved. Making her also physically strong made her the most powerful person on every level. But it did not invert power. Instead it just increased the concentration of power.

An inversion of power would have been to tell a story of the cleaning maid who trained in secret to become a guard and who finally saved and married the fair and friendly and handsome and harmless prince. The end result would have been the same: A queen who wields both physical, social and hierarchical force. But the path would have been one of a strong woman who makes her own path.

Please sit back for a moment and imagine that story. Then come back in 5 minutes. If you have a clock at hand, please check the time, then take 5 minutes to let your imagination flow.

… 5 minutes later …

How does it feel to see the woman at the bottom train to fight her way up? How does it differ from the princess who gets trained by her personal guard?

The archetype of the royal prince in shining armor, fair and strong and beloved by everyone, has mostly disappeared. We rarely have these stories nowadays, because they are much less interesting than stories about people who have weaknesses, and because so many real royal princes hugely underperformed compared to the archetype. And writers in the past century worked a lot to dispell hierarchy and the story of the good and noble king with the inherited right to rule. Nowadays we ask why someone should have the right to rule others.

If these stories which glorify hierarchy come back with the martial arts princess, that does create a female version of the archetype of the royal prince saving the world, but it does not reverse the archetype of the knight saving the princess. Instead it uses a weakened version of equality as excuse to bring back justifications for hierarchy.

However this does not mean you should not tell stories of martial arts princesses, if you like them.

Those stories might actually be pretty cool, and might capture the imagination of a whole generation, as Street Fighter did with Chun Li (though she wasn’t a princess), or Starcraft did with Kerrigan1, or Alien did with Ripley. If you have a millionaire with super-human strength and extreme intellect saving people from the shadows (yepp, Batman), there’s no reason not to have a princess who takes up the good fight.

Also what I call the martial arts princess here is not the princess who rebels against her upbringing and is ready to give up her power for freedom. That is a genuine story of liberation. The martial arts princess is about just adding physical power to social and hierarchical power (as most magical girl princess anime stories do2).

But stories of martial arts princesses won’t get my cheers for being on the forefront of equality. They might get my cheers for being great stories, but my cheers for equality are reserved for stories of women who make their own paths without strengthening the chains of existing hierarchy.

1 Kerrigan from Starcraft 1 could be described as adopted renegade warrior princess, later betrayed by her king, and finally ruler of the swarm as the queen of blades thanks to her own sheer force of will, strategic brilliance, and ruthlessness. ↩

2 I like anime a lot, but that does not get me to ignore problems that are common in anime. ↩



[2018-05-02 Mi 20:51] Beim Besuch dieser Seite fallen Logs an, in denen die ersten zwei Blöcke von IP Adressen stehen, die letzten zwei aber durch 0 ersetzt sind.

Wer versucht, hier einen Account zu erstellen, dessen angegebene E-Mail-Adresse und Name werden in einer Datenbank auf Servern meines Providers gespeichert (2018-05: all-inkl). Lasst das bitte: Kommentare sind eh deaktiviert und Accounts werden nicht freigeschaltet, weil ich den Spam nicht stoppen kann. Wenn ihr das gelöscht haben wollt, schreibt via Kontakt-Link mit sinnvollem Betreff.

Diese Seite setzt Cookies im Browser, allerdings nur für die lokale Organisation, nicht zur Verfolgung über andere Seiten hinweg.

Auf manchen Seiten binde ich externe Dienste ein, z.B. Spreadshirt oder youtube-Videos oder ähnliches. Die seht ihr dann deutlich und erkennt, dass sie zu Fremd-Diensten gehören. Google Analytics o.ä. Fremd-Überwacher verwende ich nicht, der Piwik-Server ist selbstgehostet und funktioniert nicht mehr. VG Wort hat bei mir auch kein Tracking-Pixel bekommen.

Allgemein stinkt es, dass ich den ganzen Mist jetzt schreiben muss, weil Propagandaverkäufer1 das Maul wieder nicht voll gekriegt haben — und ich deswegen den kleinen boingdragon rausnehmen muss, weil das Bild extern erzeugt wird und cookies verwendet, um sicherzustellen, dass jeder nur einmal gezählt wird. Tipps zum Umgang mit der DSGVO gibt es von Datenschmutz.

Wenn ihr wirklich nicht in Massendatenhaltung leben wollt, benutzt den Tor Browser, um im Netz zu suchen, und schreibt eure Sachen im Freenet Projekt.

1 Die meiste Werbung ist nichts anderes als Propaganda für die Ideologie „ihr müsst das kaufen, was wir haben“, und kein bisschen besser als wenn Russland die US-Wahlen manipuliert — oder umgekehrt. Ja, ich bin ein klein bisschen angefressen. ↩


(es gibt übrigens auch noch meine ganz alte Seite)



Autor: ArneBab

Created: 2020-08-04 Di 17:56