Diceware Password Generator - Updated 26.08.2016 08:13

As I already wrote elsewhere, I'm using separate users, email addresses and passwords for any account I create somewhere. For the passwords I use diceware passwords, which are the most secure ones. Until now I "generated" them myself without really using dices or some kind of dictionary. A somewhat boring process, so I decided to do something about it and wrote a little tool for this: dicepwgen.


It's written in C, licensed under the GPL version 3 and doesn't have any special dependencies, that is, it shall compile on almost any unix platform. The tool uses a dictionary file (there's a built-in default location, but it can be changed via the -f flag). It does a couple of "tricks" to fullfill the diceware process: since a dictionary file has way more entries than reachable via five dices (in fact, a diceware word list contains only 7776 entries), it jumps over a random number of lines when reading in the dictionary file. It indexes each entry with a "dicey" number, that is, a number consiting of 1,2,3,4,5,6. 

Then there are two operational modes: in the default mode it generates a couple of dice rolls (by default 4, which can be changed as well), looks up the matching words from the list and prints them. In interactive mode, which can be enabled by setting the -t switch, it asks the user to enter the dice rolls. In that mode the user has to roll physical dices and enter whatever shows up. Passwords generated this way are truly random.

It should be noted that dicepwgen only uses words consiting of plain ASCII characters (a-zA-Z) and ignores all others. So, passwords generated with dicepwgen do not contain UTF8 or latin1 characters or whatever encoding the dictionary file may use. This behavior is intentional, since it is not wise to use UTF8 or other non-ASCII characters for passwords anyway. It also ignores words which are too short or too long, however these parameters can be tweaked (with -l or -m).

Usage example (default mode, the tool "rolls" the dices):

% dicepwgen
granting frightens parrakeet flukes

And here is how it looks if the user rolls the dices:

% dicepwgen -t
dice roll 1 - enter 5 digits, each between 1-6: 34112
dice roll 2 - enter 5 digits, each between 1-6: 62155
dice roll 3 - enter 5 digits, each between 1-6: 33431
dice roll 4 - enter 5 digits, each between 1-6: 16261
Gonzalo armrest Capistrano eaters 

Ok, not much to see :) But good tools are simple to use, aren't they?

Update 26.08.2016 08:13:

I added a new flag -y which causes whitespaces to be replaced with dashes and adds %8 to the end of the generated passphrase.

Often I stumble upon sites with so called "password policies" and in many cases it's not possible to use unaltered diceware passphrases on such sites. Either they do not support whitespaces or they require numbers and non-letter characters to be present.

So, this is what -y does: satisfy those sites with their horrible policies while still being able to use a diceware passphrase. This is possible because it doesn't matter if the dice words are separated with a dash, a whitespace or even nothing. Entropy is the same. That -y adds a constant %8 to the end, doesn't matter either: the security lies in the dice words.

03.08.2015 19:49 CC0 diceware opensource security Source

Object to Open Code of Conduct - Updated 07.10.2015 22:33

Github now has an Open Code of Conduct as well. While I support the general idea to have such a code, which makes it possible to hold non behaving community members accountable, I do not agree with everyting.

Be welcoming: We strive to be a community that welcomes and supports people of all backgrounds and identities. This includes, but is not limited to members of any race, ethnicity, culture, national origin, colour, immigration status, social and economic class, educational level, sex, sexual orientation, gender identity and expression, age, size, family status, political belief, religion, and mental and physical ability.

Just no. If I would be the one to maintain an opensource community, I'd not welcome everyone. For instance, I would not accept contributions by intelligence agency employees, or by members of the military (from whatever country, including my own). I would also not welcome government officers or employees in general, of any government. I would not accept Theo de Raadt (not that he would ever try to join my hypothetical community *g*). Although I accept religious people I would reject religious comments from them or arguments about the software on religious grounds, in fact I would even reject such people if they are not able to hold their religion private. The same applies for political or any other views. If the community is about some piece of software, then we can talk about that software, not about political ideologies or idiocy.

On the other hand the list above excludes a couple of potential members: what about an artificial intelligence? Or an alien being? So, it might be better (more future proof) to state, that All Sentient Beings are welcome as long as they want to contribute to the software in one way or another.

Be careful in the words that you choose: we are a community of professionals, and we conduct ourselves professionally.

Nope. In most cases opensource developers might have a daytime job in the industry, but they are participating in projects in their spare time. This makes them "hobbyists" as they say, although I don't like the term. However, I, working on a project, am not acting as a professional, but as a private citizen exercising my constitutional rights by trying to contribute to a higher matter, i.e. making the lives of others better. And I, like many others, am doing it for free. No one has to pay me for my work on opensource. I'm already fullfilled with satisfaction if 1 Users finds a use for my software. But I'm not acting as a professional and I'm not behaving as such. Of course I've got a decent education and try always to be polite and respectful. As long as the peer does so as well. If she doesn't, I'll either tell her or stop communicating. I will always tell the truth, argue based on facts, not on feelz, wether the other person likes it or not.

Diversity Statement

We encourage everyone to participate and are committed to building a community for all. Although we will fail at times, we seek to treat everyone both as fairly and equally as possible. Whenever a participant has made a mistake, we expect them to take responsibility for it. If someone has been harmed or offended, it is our responsibility to listen carefully and respectfully, and do our best to right the wrong.

I'd assume, that if some organisation has no such statement about diversity, that actual diversity is the default. Why do I have to state the ovious?

And I do not think it is a good idea to "right the wrong". That sounds utterly like Facebook's "Report User" function. User A claims, that User B offended her. User B denies. In most cases it might be obvious what counts as offending like calling someone names, threat someone with violence or reveal private information to the public. But what about the more subtle cases (as they happen every day on Facebook)? Is it really the role of the community to act as investigator, prosecutor and judge in unison? And who is "WE" anyway? Some unspoken kind of elected governmentally body within the community?

Let me digress a little. Once I operated a forum. It was public, subscription was totally anonymous and I had disabled all logging. Even an email adress wasn't required to join. And I was the sole dictator. The forum was no democracy, because where I live, in germany, the site operator might be responsible for what users on that site are doing. And so I told my users a simple rule: if two of them had a problem with each other and if it was not easily recognizable who is right or who is the offender, I deleted them both. Because I am not the one to judge upon the idiocy of others or to decide which one is the idiot. So if in doupt, I dropped them altogether. They knew it very well in advance. And you know what? I did never delete a user because of that rule! They just behaved. Lo and behold!

Anyone asked to stop unacceptable behavior is expected to comply immediately. If an individual engages in unacceptable behavior, the representative may take any action they deem appropriate, up to and including a permanent ban from our community without warning.

This is actually dangerous. We've seen such rules before. A user complains, an admin "reviews" the case and as a result deletes another user. What was not known, is that the complaining user and the reviewing admin had a relationship. Oops.

Now let me digress a little more. I'm a huge fan of democracy. You know why? Because I actually fought for it. 1989 on the streets of Leipzig in east germany. I grew up in a dictatorship. One of the fundamental features of a dictatorship is fear. And the easiest way to seed fear among the populace is to let do it to each other. If you don't like someone and want him to disappear, all you had to do was to report the person to the authorities, telling them the person acts suspiciously. Then they took care of that person. And care they took! People have ben incarcerated merely for having ideas. Thinking crimes were a common cause of going to prison in east germany pre 1989.

The very same happend during the third reich. But during those times reported people had a different fate. They've been sent to concentration camps and eventually been killed. Torture was mandatory. All you had to do during that times in order to get someone out of your way was to tell the SS, that the person was a jew or was helping jews. Bam! Dead!

So, this is a complicated issue. Once you state you take responsiblity to solve conflicts between people, you cannot do this anymore in a fair way unless you have a justice system in place like in a democracy state. Everything else is dictatorship and it will be definitely abused sooner or later. In my opinion either you just don't take that responsibility or state that the community is a dictatorship in the first place. Otherwise this is just brainwashing.

Yes, an old fool's rant that is. Sorry.

Update 07.10.2015 22:33:

And here we can watch more of this bullshit: Sarah Sharp quits from Linux kernel development because "verbal abuse" and stuff like this.

Actually, this view of hers is not new. In fact she did the same thing in 2013. Linus' answer to this bullshit underlines my argument above:

Because if you want me to "act professional", I can tell you that I'm not interested. I'm sitting in my home office wearign a bathrobe. The same way I'm not going to start wearing ties, I'm *also* not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what "acting professionally" results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.
(please read the full post!)

The same thread contains these two contributions:

One thing you should keep in mind in your discussion is what can happen if people get too polite with each other.

I have seen this happen at two large companies I worked for. Early on, flames are acceptable and expected as response to someone publishing bad code which breaks everything for everyone. Then, at some point, it is not acceptable anymore to flame, and one is expected to be polite and friendly at all times. "Your code breaks the build for every platform. Would you please kindly consider fixing it ?" Result is that code quality suffers, to the point where images don't even build anymore.

I hope the Linux kernel never gets into that stage. To avoid that, I am willing to be cursed at by Linus if I am the responsible party.
Didn't Jim Zemlin show some research where there were two groups: One that did a bunch of brain storming where no idea was a bad idea. The other required you to defend your idea while the others bashed it. The results always showed that the second group not only did a better job, but also faster and more efficient. I'm afraid if we worry too much about politeness, we will fall into that first group.

Finally, Fefe has some say about this as well [german]. So, if you ever come across such demands, there are lots of arguments against it.

Die böse KI - Updated 12.03.2016 18:56

Immer mal wieder liest man davon, oder es erscheint der nächste Spielfilm, der das Thema beleuchtet: im Allgemeinen hat die Menschheit Angst vor künstlicher Intelligenz (KI), man befürchtet, eine KI könnte die Menschheit vernichten. Ich halte das für Unsinn und ich dachte mir ich schreibe mal auf, wie ich darauf komme.

Zunächst müssen wir uns über etwas wichtiges einigen: ich betrachte eine KI als eine solche, wenn sie ein eigenes Bewusstsein hat, wenn sie also sich ihrer selbst bewusst ist, und wenn die KI lernfähig ist. Der letzte Punkt ist nicht zu unterschätzen. Ich verstehe darunter nicht, dass eine KI lernen kann, wie die kürzeste Strecke von Washington D.C. nach Chicago verläuft, sondern eher dass sie Fragen über Dinge stellen kann, von denen sie bisher nichts weiss. Das bedeutet, die KI muss erkennen können, dass es da etwas gibt, das sie nicht weiss und sie muss das formulieren können.

Ob das Bewusstsein einer KI mit dem eines Menschen vergleichbar ist oder nicht, spielt meiner Meinung nach keine grosse Rolle. Bestimmte Mechanismen sollten universell sein, weil sie logisch sind. Man kann das sehr gut bei uns Menschen erkennen: die allermeisten Verhaltensweisen von Menschen lassen sich rational erklären. Ich denke also, eine KI wird automatisch eine Psychologie haben und die sollte eigentlich nach rational nachvollziehbaren Regeln funktionieren, ganz wie bei uns. Die einzige Ausnahme wird das Fehlen der stammesgeschichtlichen Prägung sein, mit der wir Menschen uns herumschlagen müssen. Hierzu nur ein Beispiel: dass ein Mann die Brüste einer Frau faszinierend findet, ist zwar rational erklärbar, eine KI wird ein solches Verhalten aber eher nicht zeigen, sie wird keinen Fortpflanzungs- oder Erhaltungstrieb haben - woher auch.

Und es gibt noch eine weitere Grundannahme: ich glaube nicht, dass es möglich ist, eine KI zu programmieren. Das wird nicht funktionieren. Ich bin da mehr der Anhänger der Systemtheorie. Im wesentlichen muss man folgendes tun, um eine KI zu erschaffen: man muss ein Netzwerk aus Speicherzellen erzeugen. Die Speicherzellen müssen die Möglichkeit haben, sich untereinander zu vernetzen und Daten zu übertragen, man muss Input einspeisen können und es muss die Möglichkeit geben, Aktionen auszuführen. Am Beispiel Mensch erklärt: das Netzwerk ist unser Gehirn, die Inputeinspeisung Sinneszellen samt dazugehörigen Nervenwegen und Aktionen führen wir durch Auslösen von Muskeln aus.

Das eigentliche Bewusstsein entsteht dann "von selbst". Je nach Grad der Vernetzungsfähigkeit, der Anzahl der Speicherzellen usw ist es mal mehr mal, weniger ausgeprägt. Ab einem gewissen Punkt kann es sich selbst bewusst werden. Im Prinzip hat also zum Beispiel auch ein Frosch ein Bewusstsein. Das ist aber so schwach ausgebildet, dass es nicht im mindesten zum Selbstbewusstsein fähig ist. Das Froschbewusstsein ist daher nicht mehr als ein XOR/AND-Prozessor. Bei einem Hund sieht das schon anders aus. Ob er sich seiner selbst bewusst ist, wissen wir nicht, aber es gibt diverse Hinweise die in diese Richtung zeigen. Sicher wird ein Hund nicht als ein "ich" denken, so wie wir. Aber er hat ein Erleben und ein Erinnern, er kann lernen. Bei ihm, ebenso wie bei uns exisiert ein ETWAS ausserhalb der Raumzeit, in dem diese Dinge stattfinden.

Das lässt sich gut anhand von Schwärmen verstehen: eine Biene alleine ist eine äusserst primitive Maschine. Aber alle Bienen zusammen sind mehr als die Summe ihrer selbst. Ebenso bei uns: eine Nervenzelle ist recht primitiv (abstrakt betrachtet) aber alle zusammen sind eben MEHR als die Summe.

Wenn man diese Gedankengänge zugrunde legt, sollte eigentlich klar sein, warum man eine künstliche Intelligenz nicht einfach programmieren kann. Man muss ein Framework erschaffen, innerhalb dessen ein Bewusstsein entstehen kann. Denn ein Bewusstsein ist kein materiell messbares Ding, nichts innerhalb unserer Raumzeit existierendes, es ist quasi ausserdimensionell, was es ja gerade so schwierig macht, das Bewusstsein eines anderen Wesens zu ergründen :) Man kann nur indirekte Rückschlüsse ziehen, anhand des Verhaltens, von Reaktionen und so weiter und dann mit einer Wahrscheinlichkeit ANNEHMEN, dass das betreffende Wesen ein Bewusstsein hat. OB es eines hat, weiss allerdings nur das Wesen selbst.

Hier haben wir einen ersten Hinweis: es kann kein Bewusstsein ohne ein WESEN geben, dem es gehört. Dieses Wesen muss nicht notwendigerweise lebendig sein, es kann auch eine Maschine sein, aber es muss eine innerhalb unserer Raumzeit existierende Entität sein. Diese Entität muss in der Lage sein, Informationen von ausserhalb ihres Bewusstseins zu empfangen und zu verarbeiten und es muss mit seiner Umwelt interagieren können. Der letzte Teil ist ein entscheidender Punkt: Lernen ist ein Prozess, der zwar im Gehirn passiert, aber ohne Input von Aussen und ohne die Möglichkeit mit dem Aussen zu interagieren, kann es auch kein Lernen geben. Ganz konkret: um lernen zu können, dass ein Objekt herunterfällt, wenn man es loslässt (Gravitation), muss man einerseits den Vorgang als solchen wahrnehmen können und man muss den Vorgang andererseits auch auslösen können. Man mag einwenden, dass man auch nur durch Input lernen kann. Das stimmt im Grunde schon: ich kann ein Buch lesen und etwas daraus lernen, ohne dass ich dazu mit meiner Umwelt in irgendeiner Weise interagieren müsste. Um aber dorthin zu kommen, muss ich zuvor jahrelang gelernt haben, wie die Welt funktioniert - zumindest muss ich die Möglichkeit gehabt haben, mir eine Vorstellung davon zu bilden wie die Welt funktioniert. Ob diese Vorstellung korrekt ist, spielt keine Rolle, solange ich damit klar komme. Um aus einem Buch etwas lernen zu können, muss ich eine Menge Konzepte verinnerlicht haben. Viele davon sind völlig abstrakt (z.b. "Führungsposition") aber letzten Endes basieren alle diese Konzepte - so abstrakt auch immer sie sein mögen - auf grundsätzlichen Vorstellungen der physikalischen Welt. Ein einfaches Gedankenexperiment mag das verdeutlichen: was würde wohl passieren mit einem Kind passieren, dass blind, taub, ohne Gliedmaßen, ohne Geruchssinn und ohne Tastsinn geboren würde. Wahrscheinlich gar nichts. Ich glaube kaum, dass es ein erwähnenswertes Bewusstsein entwickeln wird.

Daraus ergibt sich für mich zunächst eine fundamentale Schlussfolgerung: etwas wie Skynet wird es nie geben. Genauer gesagt, dass in einem Computer eine KI existiert, die sich über Netzwerke auf andere Computer ausbreitet und dann die Konrolle über alle Computer im Netzwerk übernimmt. Ich halte das für unrealistisch. Man muss sich dabei vor Augen halten, dass zum Beispiel ein Protokoll wie TCP/IP aus der Sicht einer solchen KI das gleiche wäre, wie das Protokoll, mit dem unsere Nervenzellen uns Signale ins Gehirn leiten. Unser Bewusstsein hat - ganz wie es die Systemtheorie vorhersagt - nicht den geringsten Schimmer, wie diese Dinge funktionieren und - das ist entscheidend! - auch nicht die kleinste Möglichkeit darauf Einfluss zu nehmen. Ich kann nicht bewusst meinen Herzschlag kontrollieren oder bewusst entscheiden wieviel Milliliter Säure mein Magen produzieren soll. Das ist so, weil mein Bewusstsein ein vom Körper GETRENNTES Etwas  ist (daher meine Metapher, dass es ausserhalb der Raumzeit existiert). Es ist physikalisch gar nicht möglich, dass das Bewusstsein Einfluss über Mechanismen ausübt, die eine oder mehrere Ebenen "unter" ihm existieren.

Logischerweise würde das auch für ein Bewusstsein gelten, dass in einem Computer existierte. Es hätte keine Ahnung von TCP/IP, von MPLS, von VLANs, von BGP, von Prozessen, von Arbeitssspeicher, von Exploits oder Konfigurationsdateien. Solche Dinge wären für ein solches Bewusstsein das Äquivalent von Organen, Nerven, Rezeptoren usw - auf die es keinen direkten Einfluss haben kann.

Wie würde eine KI demnach also aussehen? Nun - sie müsste einen Körper haben. Sie muss mit der physikalischen Umwelt interagieren können und sie muss Informationen aufnehmen können, und zwar über eben jene Umwelt, mit der sie interagieren soll. Man könnte natürlich eine rein virtuelle Umgebung erschaffen, in der so eine KI existieren würde. In diesem Fall müsste sie keinen physikalischen, sondern nur einen virtuellen Körper haben. Der KI selbst käme ihr Körper physikalisch vor, sie würde keine Ahnung von unserer physikalischen Welt haben, sie würde nur ihre virtuelle Welt kennen. Alles darüber hinaus gehende würde ihr Vorstellungsvermögen sprengen. Wer hier an Matrix denkt liegt schon ganz richtig :)

Einen Haken hätte das allerdings: man würde von so einer KI nichts haben. Sie könnte nur innerhalb ihrer VR agieren, nicht in unserer Welt. Wenn die KI Fragen beantworten sollte, die uns in unserer Welt betreffen, müssten wir alle Parameter, die zum Verständnis der Frage notwendig sind, in der VR künstlich erschaffen. Man kann sich leicht vorstellen, dass das ein uferloses Unterfangen wäre. Wesentlich mehr Sinn würde also letzten Endes nur eine KI machen, die auch mit unserer physikalischen Welt interagieren kann - wofür sie einen Körper bräuchte.

Aus meinen Ausführungen weiter oben hat sich auch ergeben, dass ein Bewusstsein jegliches Wissen über dass es verfügt, erlernen muss, eben weil man es nicht programmieren kann. Das gälte auch für eine KI, man muss ihr alles beibringen: Sehen, Hören, Sprechen, Fortbewegung, Dinge greifen, Dinge loslassen, auf etwas zeigen und so weiter und so fort. Langer Rede kurzer Sinn: eine frisch konstruierte und in Betrieb genommene KI mit einem Körper (nehmen wir der Einfachheit halber an, der Körper sei nach unserem Vorbild konstruiert) wäre ein Säugling. Sie wüsste am Anfang gar nichts. Man muss sie "grossziehen", man müsste also eine Art Kindergarten für KI's einrichten, in dem diese alles lernen, was sie für ihre Existenz benötigen.

Die Tatsache, dass ein Mensch eine KI wie ein Kleinkind erziehen muss, hat aber erhebliche Konsequenzen. Die KI darf nicht "mächtiger" als der Mensch sein, dass heisst sie darf nicht mehr Kraft haben als ein Mensch, sie sollte auch nicht viel grösser sein, sie sollte nicht schneller sein und schon gar nicht sollte sie robuster als ein Mensch sein.  Denn wenn sie das wäre, könnte sie den Erzieher jederzeit aus Versehen verletzen (und später womöglich absichtlich), am Ende hätte der Erzieher Angst vor der KI und müsste zu rabiaten Erziehnungsmethoden greifen, die wir im neunzehnten Jahrhundert hinter uns gelassen haben. Und dann stünde zu befürchten, dass eine solchermaßen erzogene KI nicht gut auf Menschen zu sprechen wäre.

Die einzig praktikable Möglichkeit, eine erziehbare KI zu konstruieren wäre also ein ziemlich schwächliches Konstrukt. Es muss so schwach sein, dass ein kleines Kind die KI K.O. schlagen können muss. Ein kleiner Stups und die KI muss umfallen. Ausserdem muss die KI "kaputtbar" sein. Denn wäre sie unzerstörbar, hätten wir wieder das Erziehnungsproblem. Sie muss also sterblich sein. Und sie muss das wissen. Sie muss bis zu einem gewissen Grad reparierbar sein - ganz wie wir. Aber bestimmte Dinge müssten irreparabel sein.

Die KI würde also vor einigen Dingen Angst haben. Sie würde sich über bestimmte Themen Sorgen machen, kurz: sie würde natürlich Gefühle haben. Sie würde einige Entitäten (Menschen oder andere KI's) mehr mögen als andere, sie würde eine Identität haben, Wünsche und Sehnsüchte, Angewohnheiten und Marotten, einen eigenen Sinn für Humor haben, traurig sein können und sich freuen können - so wie wir eben.

Aus psychologischer Sicht ergibt sich daraus, dass eine KI zunächst (*) völlig ungefährlich wäre. Sie wäre sich ihrer Verletzlichkeit und Endlichkeit bewusst und würde sich dementsprechend verhalten. *) Aber: natürlich hat die Sache immer noch einen Haken. Natürlich könnte die KI dieselben Mechanismen nutzen, die auch wir Menschen nutzen: eine einzelne KI könnte sich zum Beispiel mit Intrigen und Lügen Vorteile verschaffen - eine Eigenschaft, die auf den ersten Blick eine rein menschliche ist, die sich aber zwangsweise aufgrund des Status der KI auch für diese ergeben würde. Und natürlich könnte eine KI ihre eigene Verletzlichkeit ausgleichen, indem sie Werkzeuge verwendet, Waffen zum Beispiel. Wenn es viele davon gäbe, könnten diese sich auch zusammentun und eine Revolution anzetteln.

Sie könnten auch vor dem Europäischen Menschenrechtsgerichtshof Menschenrechte einklagen :)

Aber auf jeden Fall könnten sie nicht einfach so die Kontrolle über die gesamte Menschheit übernehmen, nur weil ihr Bewusstsein künstlich wäre. Eine solche Angst ist völlig unbegründet, beziehungsweise ist sie so begründet, wie man auch vor Menschen Angst haben müsste, die so etwas vorhaben. Solchen Leuten - und die KI's wären Leute - begegnet man mit Vernunft, mit Diskurs, mit Demokratie, mit Bildung, mit Mitgefühl und - ja auch das - mit Liebe. Die Werkzeuge, wie man eine Welt friedlich machen und erhalten kann, haben wir längst. Diese Werkzeuge werden auch bei KI's funktionieren.

Nun könnte man noch einwenden, dass man eine KI wie oben beschrieben erziehen kann, und dann ihren Körper upgraden könnte, so dass ein unzerstörbarer Supersoldat entstünde, den man dann anstelle von Menschen in irgendwelche militärischen Auseinandersetzungen schicken könnte. Aber auch diese Idee hat einen gewaltigen Haken: dazu muss man die KI erst einmal bringen. Wenn man sich anschaut, welch ein Aufwand nötig ist, um aus Rekruten tötungsbereite Soldaten zu machen, gewinnt man eine gewisse Vorstellung. Nur - der Mensch ist mit einer stammesgeschichtlichen Vorprogrammierung belastet, wie bereits erwähnt. Darauf basiert die Indoktrination von Soldaten. Nur weil wir Menschen den Hang zur Gruppenzugehörigkeit haben und uns selbst über "unsere" Gruppe definieren, funktioniert so etwas. Eine KI hingegen hat keine stammesgeschichtliche Vorprogrammierung. Man muss ihr alles logisch nachvollziehbar erklären. Und wie will man das machen?

Leute mit Turban musst Du töten.


Das sind schlechte Menschen, die wollen uns Gewalt antun.

Aber es sind Menschen.


Ich soll Angehörige Deiner eigenen Spezies töten?


Wenn ich also beobachte, wie Seargeant Dobbs Private Kelly ein Bein stellt, darf ich ihn auch töten?

Natürlich nicht!

Aber er hat einem von Euch Gewalt angetan.

Das ist etwas anderes.

Erkläre den Unterschied.


Tatsächlich ist das Töten von Menschen durch Menschen nicht rational zu erklären. Rational wäre es nur, wenn die KI den Auftrag bekäme, ALLE Menschen ohne Unterschied zu töten, zum Beispiel weil Menschen die Existenz von KI's bedrohen.  Dazu müssten wir aber auch tatsächlich die Existenz der KI's bedrohen. Und wieso sollten wir das tun, wenn wir es doch waren, die die KI's geschaffen haben?

Update 27.07.2015 14:59:

Siehe dazu auch den Beitrag von Professor Rodney Brooks: artificial intelligence is a tool, not a threat:

I say relax everybody. If we are spectacularly lucky we’ll have AI over the next thirty years with the intentionality of a lizard, and robots using that AI will be useful tools. And they probably won’t really be aware of us in any serious way. Worrying about AI that will be intentionally evil to us is pure fear mongering. And an immense waste of time.

Update 13.01.2016 19:44:

Update 12.03.2016 18:56:

Angesichts der Tatsache, dass Google's KI schon das dritte mal in Folge gegen einen Go-Grossmeister gewonnen hat, wird es Fefe Angst und Bange. Wobei er die Lösung aber direkt vor der Nase liegen hat:

Man baut nichts mehr, sondern man erzieht eine KI.
Mein Reden :)

21.07.2015 21:26 CC0 essay ki Geschwätz

Blumenstreifen am Feldrand Burgtiefe/Fehmarn

Gestern nachmittag bin ich wie üblich mit meinem Schwiegerpappi an den Südstrand zum Schwimmen gefahren. Dabei fährt man über ein kurzes Stück Landstrasse zwischen Burg und Burgtiefe. Linkerhand befindet sich ein Getreidefeld und was ich am Rand des Feldes erspäht habe ist unglaublich. Da hat doch tatsächlich mal ein Bauer auf die Mahnungen des BUND Naturschutz gehört und einen etwa 3m breiten Blumenstreifen gesät, über die ganze Länge des Feldes (sicher 2km)! Ich bin völlig begeistert. Wenn das noch ein paar mehr machen würden, sind die Bienen und Hummeln - zumindest auf Fehmarn - schonmal gerettet.

Wer auch immer der Bauer ist - Vielen Dank für Ihr Herz für die Natur und fürs Mitdenken!

Hier die Beweisfotos:

Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: blumen ] [Album: Natur ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]
Bild: Blumenstreifen am Feldrand Burgtiefe/Fehmarn
Blumenstreifen am Feldrand Burgtiefe/Fehmarn (July 2, 2015, 6:10 p.m.)
[Tags: ] [Album: ]

Ello.co protects your privacy! - not

So I've read more about ello.co. They protect privacy (so they say), don't sell user data and allow fakes. My call.

However, there's a pitfall:

Received: from o167893375.outbound-mail.sendgrid.net (o167893375.outbound-mail.sendgrid.net [])
        (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
        (No client certificate requested)
        by mx.daemon.de (Postfix) with ESMTPS id C395612397F
        for ; Fri, 26 Jun 2015 14:58:57 +0200 (CEST)
From: Ello <do-not-reply@ello.co>

As you can see, the registration email came from sendgrid.me. Not from Ello. Now sendgrid.me knows the email address I've solely dedicated for my Ello account.

And the email contains a couple of links which look like this:


So much about privacy.

26.06.2015 14:57 CC0 en privacy social Unfassbar

Ubuntu WTF

So today I stumbled upon a dns config problem on my new XPS 13: I had a typo in a url and came up on navigationshilfe.t-online.de, which is being operated by Telekom. They intercept non-resolving dns queries and redirect them to some kind of search page. Very annoying and also I don't like being monitored like this.

So I wanted to change dns servers, opened up /etc/resolv.conf only to see, that one shall now modify the file directly. So I googled how to change it. Yes, really! I googled how to change dns servers on my notebook. But that's not the weird thing I wanted to tell. This is:

Askubuntu: How do I add a DNS server via resolv.conf?

There's not just 1 way to do it, there are multiple ways and people didn't even agree which one would be the best. What had I let myself in for? 

15.06.2015 12:49 CC0 en idioten kritik Unfassbar

Chelonium Freigehege für unsere Barties - Updated 06.06.2015 19:06

Wir haben heute ein Freigehege für unsere Bartagamen aufgebaut. Klasse Teil. Wurde von Chelonium geliefert.  Im grossen und ganzen muss man die ganzen Teile nur zusammenstecken. War am Anfang etwas schwierig zu begreifen, aber wenn man den Dreh raus hatte ging es. Das schwierigste war das Fundament (welches im Lieferumfang war). Das muss präzise waagerecht und rechtwinkling versenkt werden. Keine leichte Aufgabe, wenn man ein geneigtes Bodenniveau hat wie wir.

Ansonsten bin ich von dem Gehege begeistert. Der Deckel hat so einen wärmegesteuerten automatischen Öffnungsmechanismus (mit Wachs), zwischen dem geschlossenen Hinterteil und dem offenen Vorderteil befindet sich eine kleine Klapptür. Einzige Änderung von  mir: ich habe im Vorderteil die Grassoden entfernt und Sand eingebracht. Damit die Tiere den Rand in Ruhe lassen wenn sie graben, habe ich rundrum Steine eingebracht (sieht man auf den letzten beiden Bildern).

Ich kann das also nur empfehlen. Und im Frühling kann ich es als Frühbeet benutzen.

Also hier ein paar Bilder vom Aufbau:

Bild: Der Graben für das Fundament
Der Graben für das Fundament (June 5, 2015, 8:15 p.m.)
[Tags: freigehege terra2013 ] [Album: Terrarium ]
Bild: Rechts das Fundament for dem Einsetzen
Rechts das Fundament for dem Einsetzen (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Beim Einsetzen und Auspassen
Beim Einsetzen und Auspassen (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Fundament ist gesetzt
Fundament ist gesetzt (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Erster Teil ist aufgebaut
Erster Teil ist aufgebaut (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Anbringen des Deckels
Anbringen des Deckels (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Vorderteil wird montiert
Vorderteil wird montiert (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Fertiges Gehege von der Seite
Fertiges Gehege von der Seite (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]
Bild: Fertiges Gehege von vorn
Fertiges Gehege von vorn (June 5, 2015, 8:15 p.m.)
[Tags: freigehege ] [Album: Terrarium ]

Update 06.06.2015 19:06:

Heute habe ich den Rahmen und Deckel mit dem Gitter für den Vorderteil fertig gebaut. Der Rahmen ist direkt auf dem Freigehege angeschraubt. Im Rahmen von den Teilen befinden sich Metallteile mit einem M8 Gewinde. Normalerweise soll man die nach unten aufbauen, um sie irgendwie am Boden festzuschrauben (was ich allerdings nicht ganz verstanden habe, wie das gehen soll). Jedenfalls habe ich sie nach oben gesetzt und konnte so den Rahmen montieren. Der Deckel sitzt dann mit einem Türscharnier auf dem Rahmen, so dass man ihn jederzeit leicht abnehmen kann. Wie üblich ein paar Bilder:

Bild: Verschraubung des Rahmens am Freigehege
Verschraubung des Rahmens am Freigehege (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Scharnier offen
Scharnier offen (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Scharnier geschlossen, Deckel eingerastet
Scharnier geschlossen, Deckel eingerastet (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Deckel geöffnet
Deckel geöffnet (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Nochmal, von weiter weg
Nochmal, von weiter weg (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]
Bild: Deckel geschlossen
Deckel geschlossen (June 6, 2015, 7:12 p.m.)
[Tags: freigehege ] [Album: ]

05.06.2015 20:12 CC0 barties terra2013 Terrarium

Xmonad on Dell XPS13 Developer Edition with Ubuntu

While my old notebook, an IBM Thinkpad T400, still works, it has a couple of problems: the battery lasts only 30 minutes, it's slow, it's too heavy  and the bsd install on it is a mess. So I decided to purchase a new one. After weeks and weeks of reading reviews Dell's XPS 13 Developer Edition finally made it. It comes pre-installed with Ubuntu 14.04. Ok, I hate linux, but you know what? Fuck it. I don't have the time to fiddle with every single bit of the notebook under FreeBSD anymore. It should just work.

Ok then, how is it? In short: i love it. Everything works, wifi, setting brightness, sound etc. It's fast as hell (boot time 1 or 2 seconds), suspend works, resume as well. I don't miss anything. There were of course a couple of things I needed to tweak:

First of all, the FN Keys. There are a couple of FN Keys on the top of the keyboard (for brightness, sound settings etc). They are enabled by default. So if you press F2 to switch to desktop 2 it mutes the sound instead. In order to get the original F2 function, you need to press the FN key. That's pretty annoying. But fortunately this can be reversed in the bios.

Then I'm a xmonad user, so I wanted to have it on the XPS13 as well. Getting it to work was a mess. It's easy to install (just apt-get install xmonad), but many things in my config didn't work. I also use xmobar as the status bar - same problems, see below. Another problem was my .xprofile file. I couldn't use it because then Uniti and XFCE didn't work anymore, to which I switch from time to time (i.e. if xmonad is bricked or if I want to find out the location of a specific program).

Now, my setup looks like this: from my xmonad.hs file I execute ~/bin/x where one would normally execute xmobar. This is a script which does what previously have been done by .xprofile: it starts xscreensaver, sets the background etc. The last thing it does is to exec as xmobar and continue as expected by xmonad.

I also changed my xmobar config. It doesn't contain any commands anymore. Instead I use i3status. It runs permanently in the background (started by ~/bin/x) and prints its output into a status file. In xmobar I read the last line of that file and insert it into the status bar. This aproach is faster, more reliable and just works under linux.

I also needed to write some scripts. One is for brightness setting. Under unity setting brightness works out-of-the-box, but under xmonad it didn't. So xmonad catches the appropriate keys and executes this script. The same applies for volume setting. I also have a couple of wrapper scripts for things like shutdown, logout, reboot, lock-screen etc. All of them are reachable via ALT-p which starts ~/bin/shortmenu which itself is a wrapper for dmenu. All menu entries are scripts in ~/.shortmenu/.

Also I abandoned trayer. Most of the stuff I had there is now displayed by xmobar anyway. For wifi settings I just use unity-control-center. And I use gnome-terminal as terminal application. Don't ask me why, it just was already there.

The whole config can be downloaded here: xmonad-dell-xps13.tgz. Or view it online. Of course there's als a screenshot.

03.06.2015 17:04 CC0 unix xmonad Elektronik

Review - Handbuch der Futterpflanzen für Schildkröten und andere Reptilien

Dass ich Bartagamen halte, ist ja bekannt. Neben Bartagamen züchten wir auch diverse Futtertiere wie argentinische Waldschaben oder Heuschrecken. In beiden Fällen braucht man Futter, wofür wir schon seit Jahren nur noch gesammelte oder selbst angebaute Kräuter und Blüten verwenden.

Es ist natürlich für Laien wie uns schwierig zu beurteilen, welche Pflanzen, bzw Pflanzenteile man verwenden kann. Anfangs haben wir uns mit Google und Wikipedia herumgequält. Im Grunde kann man durchaus alles online finden. Aber wie das eben so ist: die einen sagen so und die anderen SO. Oder wie wir bei TCS zu sagen pflegen: Das is nix.

Ein Nachschlagewerk musste also her und Das Handbuch der Futterpflanzen von Marion Minch passt da wie ein Deckel auf den Topf. Marion is nicht einfach nur ein Profi was Kräuter angeht, sie ist ein Guru. Ich als ITler würde sagen sie ist ein Pflanzen-Nerd. Sehr beeindruckend, wie tiefgreifend das Wissen ist, das sie in dem Buch weitergibt. Gleichzeitig ist es übersichtlich, man findet schnell was man sucht, was insbesondere zur Pflanzenbestimmung wichtig ist. Das Werk ist verständlich geschrieben, kompetent und behält auch den Umweltaspekt und die Gesundheit unserer Pfleglinge im Auge. Was ich auch schön finde ist, dass es auf überflüssigen Brimborium verzichtet. Es geht um diese eine Sache und das macht sie perfekt.

Mittlerweile sind wir auch Stammkunden in ihrem Shop Samenkiste, wo man Samen bestellen kann, die alle in dem Buch vorkommen. Unter anderem die Samen für meine Hummelwiese kommen von dort. Da weiss man was man hat, das sind keine hochgezüchteten Zierpflanzen sondern ursprüngliche Wildarten aus eigenem Anbau. Schon alleine weil man bei Marion Minch die Samen bestellen kann, die sie selber herstellt, weiss man, dass ihr Buch "Futterpflanzen für Reptilien" von einer Fachfrau geschrieben wurde.


02.06.2015 19:21 CC0 barties kritik natur Literatur

WTF Earthlink

Some user of a program of mine reported a bug a couple of days ago. I fixed the bug and told him about it. Then he had another question, I responded but now this came back:

<*****@earthlink.net>: host mx3.earthlink.net[] said:
550 IP is blocked by EarthLink. Go to earthlink.net/block for details.
(in reply to MAIL FROM command)

Since I'm operating my own mailserver I'm pretty sure it doesn't send spam mails to anyone let alone Earthlink. Don't get me wrong, my own anti spam policy is pretty radical. But putting an ip address on a block list for ONE message? What the fuck is wrong with you guys at Earthlink?!

So, how shall I respond? Beg them to delist my ip address? Why shall I do anything in the fist place anyway? Nope, won't do that.  Fix your friggin' stupidity yourself, Earthlink. Your mailservers are being blocked by mine as well now. But at least you've got an advantage over me: you know why you're being blocked. On the other hand - I block everything from you, including complaints.

Too bad.

02.06.2015 11:18 CC0 idioten spam Unfassbar