1st Festival for Digital Poetry Vienna

featuring Code Poetry Slam Vienna 2017



Submissions until November 13, 2017

To Event Infos

Event Infos

Programers and Poets!

The 1st Festival for Digital Poetry Vienna featuring Vienna Code Poetry Slam 2017 will be held on the 20. November 2017 at 19:30 in the Festsaal, TU Wien.
We are looking forward to your submissions until the 13. November 2017.
We ask you to register to have a seat for sure.

Programm:

Preferably there will also be a workshop for interested participants to explore the medium Code Poetry. To indicate your interest to us please write a mail to: contact@codepoetry.at.

The event is organized by Cornelia Travnicek, Sabrina Burtscher, Gabriel Grill und Edith Sarau. Contact: contact@codepoetry.at


code_poetry_slam = {
"when?" : "20. November 2017 at 19:30",
"where?" : "Kontaktraum, TU Wien,
Gußhausstraße 25 – 27, top floor (6th)"
, "submissions_until" : "13. November 2017" "Registration" : We ask you to register if you plan to attend. }

Sponsored by:

What is "Code Poetry"?

Code Poetry is whatever you want it to be, as long as it has something to do with programming languages.

From poems which make use of the structure and key words of programming languages, to odes in C++, from spoken word performances concerning programming to lyrics in machine language, everything up to and including executable scripts, that make your laptop sound like W.B. Yeats ― that and much more can be Code Poetry. We want you to explore where human language and computer language can meet, mingle and make something new happen!

We are looking for esthetic quality in your contributions and are happy if we get executable code ― best case scenario is a text, which can be read (and enjoyed ;) by humans and computers alike.

Please have a look at Code Poetry submission from the slams in 2015 and 2016.

See also:



Submissions

Please fill out the form completly. The last date for submission will be on the 13. November 2017! We will read all submissions, but it will usually take a couple of days until we send you a message.

For submissions the “first come, first-served”-principle is applied until an upper limit is reached. The organizer team also retains the possiblity to decline certain submissions. This will include for example submissions that discriminate against groups of people or are obviously not meant as actual submissions. All accepted submissions will be presented in fornt of an audience and all finalists will receive Goodies in case they present at the event or send a replacement. The submissions will be posted publicly to the website of the Vienna Code Poetry Slam.


Senryū Competition

Nobody has got the time for reading any more? The only things that's left that speaks to us is Twitter?

We think, poems have always been and will always be able to touch humans, no matter how short these poems may be.

Send us your Haiku/Senryū to the topic - "Poems for the Digital Age/Gedichte für das Digitale Zeitalter"!

Our jury will select three poems that will win one copy of "Uncreative Writing" by Kenneth Goldsmith! Selected poems will be presented at the 1. Festival for Digital Poetry Vienna on the 20th of November at TU Vienna. Some of these poems might also be published in one of Austria's literature magazines - we will contact the selected writers individually.

Please send your poems under the subject "Haiku-Wettbewerb" to: submit@codepoetry.at

Remember to give us your full name and use an e-mail adress, where we might contact you!

Die Einreichungen 2016

Die Publikumslieblinge waren:

Nachfolgend findest du die Einreichungen in alphabetischer Sortierung:

(def is "death")

von Bernd Schwarzenbacher: download

(def is "death") (

def is true) (
def was #(not (= % false))) (
def said "you") (

while (some was said) (
and "nothing" was :done) (
some #{said} ["you"
"are the chosen" "one"]) ({

:to :die :in :this} :world) (-> (
:to (:die :al(:one {
:to :die :forsaken
:as :the :only :one (

let [him "finish" his "job"] ({
:you :can't :interfere
"your job i":s {:to "keep going\n"}
:and "wait" :for him :here

"he" :will (take his) :time (
and "so should you"
:life is (not :a))} :s))})))print)
"remember that too")

Der Text is ausführbarer Clojure Code. Um den Text zu lesen, werden die Sonderzeichen ignoriert. Z.B. `:s))})))print)` wird zu `sprint`.

In einer endlosen Schleife gibt das Programm aus:

keep going
keep going
keep going
keep going
...

Arnold and the Christmas Tree Thief

von Georg Braun: download

IT'S SHOWTIME
HEY CHRISTMAS TREE THIEF
YOU SET US UP @NO PROBLEMO
BECAUSE I'M GOING TO SAY PLEASE @I LIED
STICK AROUND THIEF
GET TO THE CHOPPER THIEF
HERE IS MY INVITATION @I LIED
YOU'RE FIRED THIEF
GET DOWN THIEF
ENOUGH TALK
CHILL
TALK TO THE HAND THIEF
BULLSHIT
YOU HAVE NO RESPECT FOR LOGIC
YOU HAVE BEEN TERMINATED

Das Program ist ausführbarer ArnoldC Code, macht aber nichts.

Das kleine Licht

von Martin Szalay: download

Es handelt sich hierbei um eine Erzählung mit Bildern für die shell. Zum Ausführen: Das Zip-File von https://github.com/mszkb/DasKleineLicht runterladen. Und mittels python3 Licht.py im Terminal ausführen.

Das 1. Bild:

Designer Shirt Designer (patent pending)

von Julian Schrittwieser: download

  1. Run script
  2. Produce cheap shirts with meaningless design
  3. ???
  4. PROFIT

Hier zwei Beispiele:

DuckDuckElfchen

von Katharina Brunnmayr: probieren

Der Grundgedanke ist eigentlich ganz simpel: Kann man mit einer Suchmaschine Gedichte erzeugen? Vielleicht auch solche, die Sinn ergeben?

Diese Einreichung ist eine Version 0 dieses kleinen Experiments, das mithilfe der DuckDuckGo-API zusammengebastelt wurde. Als Vorlage wurde die Struktur von Elfchen (das ist ein Gedichten in elf Wörtern, wobei jede Zeile eine bestimmte Bedeutung hat) adaptiert und auch der/die KlickerIn des Zufalls-Gedichts darf sich noch mit einer Zeile beteiligen.

Für die Ausführung ist Internetzugriff nötig!

Hier zwei Beispiele:

Ein Mensch namens Claus

von Claus Volko: download

using System;

class Mensch
{
    string name;
    bool _wohlfuehlen;
    bool _gesund;
    bool _wohlfuehlen_definiert;
    bool _gesund_definiert;
    int zustandNr = 0;

    public Mensch(string neuerName)
    {
        name = neuerName;
    }

    public bool wohlfuehlen
    {
        get
        {
            return _wohlfuehlen && _wohlfuehlen_definiert;
        }
        set
        {
            _wohlfuehlen = value;
            _wohlfuehlen_definiert = true;
            if (!value) gesund = false;
        }
    }

    public bool gesund
    {
        get
        {
            return _gesund && _gesund_definiert;
        }
        set
        {
            _gesund = value;
            _gesund_definiert = true;
            if (value) wohlfuehlen = true;
        }
    }

    public string Evaluiere(bool wert, bool definiert)
    {
        if (!definiert) return "UNDEFINIERT";
        return wert ? "JA" : "NEIN";
    }

    public void ZeigeStatus()
    {
        zustandNr++;
        Console.WriteLine("Zustand " + zustandNr + ":");
        Console.WriteLine("Der Mensch namens " + name + " fühlt sich wohl: " + Evaluiere(_wohlfuehlen, _wohlfuehlen_definiert));
        Console.WriteLine("Der Mensch namens " + name + " ist gesund: " + Evaluiere(_gesund, _gesund_definiert));
    }

    public void Handle()
    {
        if (gesund) goto Arbeiten; else goto Arzt;
    Arbeiten:
        Console.WriteLine("Der Mensch namens " + name + " geht arbeiten.");
        return;

    Arzt:
        Console.WriteLine("Der Mensch namens " + name + " geht zum Arzt.");
        Random rnd = new Random();
        if (((int)rnd.Next(0, 10)) % 2 == 0)
        {
            Console.WriteLine("Der Arzt macht den Menschen namens " + name + " wieder gesund.");
            gesund = true;
        }
        else
        {
            Console.WriteLine("Der Arzt ist ratlos...");
        }
        return;
    }

    public static void Main()
    {
        Mensch Clausi = new Mensch("Claus Volko");
        Clausi.wohlfuehlen = true;
        Clausi.ZeigeStatus();
        Clausi.wohlfuehlen = false;
        Clausi.ZeigeStatus();
        do
        {
            Clausi.Handle();
        } while (!Clausi.gesund);
        Clausi.Handle();
        Clausi.ZeigeStatus();
        Console.ReadLine();
    }
}

Das Programm kann mit Microsoft Visual Studio (C#) ausgeführt werden. Es handelt sich um eine Konsolenanwendung. Der Text wird ausgegeben, dann wartet das Programm, bis der Benutzer die Eingabetaste drückt.

Holzwege der Typumwandlung

von Andreas Kirchner

Ein Heidegger-Forscher entscheidet sich nach dem Lesen der Schwarzen Hefte zu einem Karrierewechsel in die IT-Branche. Nach ersten Versuchen mit Programmiersprachen kommt er zum Kapitel "Void Pointer Casting". Zeigzeug, denkt er und schreibt diese Funktion: 

void castZuhandenheit(void* zeug) {
        Smartphone* meinHandy;
        meinHandy = (Smartphone*) zeug;
        printf("Mein Handy %s kostet: %d EUR.", meinHandy->name, meinHandy->preis);
}

( Snippet mit Kommentaren: 
http://phaidon.philo.at/qu/wp-content/uploads/2011/09/Bildschirmfoto-3.png )

Die Frustration, die er empfindet wenn am Bildschirm wahllos "Segmentation Fault" oder ³…½¬¼½ erscheint, verführt den Heideggerianer zu alten Gewohnheiten. Nach einem Wald-Spaziergang schreibt er folgende Überlegungen in sein Notizbuch:

Einen Zeiger kann man unterschiedlich nehmen. Man sagt: Er zeigt auf eine Adresse im Speicher. Was heißt das? Sein Inhalt ermöglicht es, wenn man ihn so nimmt, eine andere Stelle zu finden und zu ergreifen. Wenn man ihn so nimmt. Man muss ihn, wie jedes andere Zeug, zunächst auf eine bestimmte Weise ergreifen. Erst innerhalb der Sprache, der Programmiersprache, lässt sich das so Ergriffene als Zeiger markieren. Durch den Effekt der Markierung als Zeiger in der Sprache bekommt er die Funktion etwas herzuzeigen, das heißt zu ermöglichen,  etwas anderes zu ergreifen, was bereits (als Adresse) inbegriffen ist.
Hat es eine Bedeutung, hier von greifen zu sprechen? Beim Zu-griff auf den Speicher sind wir in einer Situation, die kein Nachschauen erlaubt, aber ein Vorsehen. Wir können nur blind etwas ergreifen und annehmen, dass uns der Zeiger nicht irre führte, als er uns anwies, dort hinzugreifen, um etwas Typisches, etwas Vorgesehenes zu finden. Diese Annahme gibt unserem Griff eine Form, sie macht den Griff stabil und damit starr. Beim Zugriff halten wir durch Vorsicht das Ergriffene fest. Es wird dadurch zum Begriffenen. Durch den festen Griff kann das Ergriffene verformt werden; unbemerkt - man greift ja ins Dunkle. Wir haben uns beim Begreifen durch Vorsicht am Ergriffenen vergriffen.

Ein Ausschnitt aus einem längeren Blogpost über Pointer und Zuhandenheit: http://phaidon.philo.at/qu/?p=1000

Inside Deep Thought

von Joël Foramitti: download

#include

// Axioms
#define meaningless 0

// Philosophical constants
#define logic 589211296
#define truth 20941028692
#define god 4240737676
#define knowledge 21
#define doubt 41
#define infinity 5/28

using namespace std;

int main()
{
    string philosophical_object;
    int scale,significance,i;
    double meaning=0,time;

    while(meaning==meaningless)
    {
    cout<<"Calculate the meaning of ";
    cin>>philosophical_object;

    significance=1;
    scale=philosophical_object.size();
    for(i=0;i<scale;i++)significance*=philosophical_object[i];
    meaning=(double)((logic*philosophical_object[0]-doubt*significance-god*scale)*knowledge)/truth;
    cout<<endl<<"Process returned "<<meaning<<endl;
    cout<<"Execution time : "<<meaning*infinity<<" million years"<<endl<<endl;
    meaning=0;
    }

    return 0;
}

Fragt das Programm nach "life","universe" oder "everything". Beispiele:

random(Human)

von Max Böck: download

function Human() {
    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
    var fate = new XMLHttpRequest();
    fate.open("GET", "https://randomuser.me/api/", false); 
    fate.send(null);
    return JSON.parse(fate.responseText).results[0];
}

function random(choice){
  return choice[Math.floor(Math.random()*choice.length)];
}

var love = ['to build things', 'another human', 'the sound of rain', 'dogs', 'to see the world', 'unconditionally'];
var death = ['in peace', 'at night', 'in war', 'of age', 'happy', 'of dysentery', 'alone', 'on a monday'];

function life(){
  var you = new Human();
  var life  = 'you are ' + you.name.first + ' ' + you.name.last + ',\n\r';
      life += 'born in ' + you.location.city + '.\n\r';
      life += 'you love ' + random(love) + '\n\r';
      life += 'you die ' + random(death) + '.\n\r';
      
  console.log(life);
}

setInterval(life, 250);

Erzeugt Menschen. Code kann in einem Browser ausgeführt werden. Beispiele:

Reflections

von Horia Botezan: download

# Reflections
#    by Horia Botezan

right_sided_entity = ['3', '4', 'life', 'snow', 'fire',  'angel', 'reason',
                       'poorness', 'conductor',  'stalagmite', 'the equation']
left_sided_entity  = ['epsilon', 'a chair', 'death', 'grass', 'water', 'red',
                       'a monster', 'richness', 'isolator',  'stalactite', 
                       'the equation']

def reflect_a_space                                                        ():
    print                                                                 '\n'
    return

class SymmetryOccurrence                                                     :
      pass

def begin_to_reflect                                                       ():
    try                                                                      :
        reflect_a_space                                                    ()
        allowed_trials = 11
        for attempt in range(allowed_trials)                                 :
            entity_number = attempt
            print 'If you reflect '                                        + \
                   right_sided_entity[entity_number]                       + \
                   ', it becomes '                                         + \
                   left_sided_entity[entity_number]
            if attempt == allowed_trials                                   -1:
                break
        raise SymmetryOccurrence
    except SymmetryOccurrence                                                :
        reflect_a_space                                                     ()
        print 'No! No! No!'
        print 'Only the mirror has the right to reflect.'

begin_to_reflect                                                            ()

Lassen Sie das Skript in einer Konsole mit dem Befehl "python reflections.py" ausführen. Output:

The submissions of 2015

The Jury choose the following three submissions:

Crowd favourite was null and void. null und nichtig. from Magdalena Lohninger


Subsequently all presented submissions in alphabetical order:

An: $Unbekannt

from Michael Treml

<?php
  
  error_reporting(0);

  $fit = $munter = $gesichert = "OK";
  $Leere = "NICHT OK";

  echo (
    "Mein Koerper: $fit. 
     Mein Geist: $munter.
     Meine Zukunft: $gesichert. 
     Und trotzdem: $Leere. 
     Denn eines fehlt mir: $Du."
  );

?>

The variable $Du (eng: you) is not defined on purpose, "fehlt" (eng: missing) as well. The program is still executable and returns:

"Mein Koerper: OK. Mein Geist: OK. Meine Zukunft: OK. Und trotzdem: NICHT OK. Denn eines fehlt mir: ." (eng: "My Body: OK. My Spirit: OK. My Future: OK. And still: Not OK. Since one thing is missing: .")

CrushAlgorithm

from Stefan Haider

public class CrushAlgorithm {
  public void dealWithCrushes(Set crushes){
    Socket connection;
    for(Girl g:crushes){
      try{
        URI ip = g.getNumber();
        connection = Socket.connect(ip);
        connection.persistConnection();
        connection.getSecureConnection().trySex();
        if(Brain.isRelationshipWanted(g)) {
          connection.tryRelationship();
        }
        //you can do whatever you want when reaching 
        //this point
      }
      catch(RejectionException){
        Brain.getOverHer();}
      catch(TimeoutException){
        Brain.remember.iShouldntHaveWaitedThatLong();
        Brain.getOverHer();}
      catch(BoyfriendException){
        Brain.remember.itsNotWorthTheEffort();
        Brain.getOverHer();}
      catch(FriendZoneException){
        Brain.getOverHer();
        connection.maintainFriendship();}
      catch(NoRelationshipWantedException){
        connection.close();
        Brain.getOverHer();}
    }
    Set newGirls = SearchEngine.findGirls();
    dealWithCrushes (newGirls);
  }
}

The gentle things I say to my LOGO Turtlegraphics Turtle

from Clemens Setz

forward 50 right 10 back 5 clean
penup forward 50 right 19 
hideturtle cleanscreen penup home
showturtle forward 51
setpencolor blue pendown
clean home forward 5 right 45 
forward 5 right 90 forward 5 
right 45 forward 5 right 90 
forward 8 right 10 penup home; baby
              

Remark: "setpencolor blue" is, strictly speaking, not correct, since in LOGO the blue pencil colour can only be set via "setpencolor [0 0 255]". But this would sound bad. To execute the program live in LOGO, the correct program line needs to be inserted. The turtle draws a little dormat in front of the house due to irrational hypotenuse (7.07...).

Lines of Randomness

from Petar Kosic

package randompoem;
 
 
import java.util.Scanner;
import java.util.Collections;
import java.util.Arrays;
/**
 *
 * @author Petar Kosic
 *
 * Ich widme dieses Stück meiner wundervollen Freundin,
 * die mich unterstützt und für mich da ist.
 *
 * ♥ Das ist für dich Dani ♥
 *
 */
 
 
public class Main {
 
 
       static String may = "random poemlines ";
       static String the = "are ";
       static String random = "more ";
       static String love = "UTF-8";
       static String be = "than ";
       static String with = "just ";
       static String you = "random";
 
       
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)  {
        String poemlove = "";
       
        Scanner collect = new Scanner(System.in, love);
        String poempieces = "";
 
        while(collect.hasNextLine()){
            poempieces = collect.nextLine();
            if(poempieces.equals("Cookie_Monster")){
                break;
            }
           poemlove=poemlove+poempieces+"\n";
        }
 
        String[] poemlovecontainer = poemlove.split("\n");
        Collections.shuffle(
            Arrays.asList(poemlovecontainer)); 
        // let the shuffle begin
 
         for(String poemparts : poemlovecontainer){
            System.out.println(poemparts); 
            //print the lovely random poem
        }
 
 
 
 
         System.out.println(
            "\n \n \n"+may+the+random+be+with+you);
    }
}
Additional poems:
English rhyme:

Betty bought some butter,
but the butter Betty bought was bitter,
so Betty bought some better butter,
and the better butter Betty bought
was better than the bitter butter Betty bought before.

-------------------
Abendlied - Johann Wolfgang von Goethe

Über allen Gipfeln
Ist Ruh,
In allen Wipfeln
Spürest du
Kaum einen Hauch;
Die Vögelein schweigen im Walde.
Warte nur, balde
Ruhest du auch.

--------------------
Sommerbild - Friedrich Hebbel

Ich sah des Sommers letzte Rose steh'n,
Sie war, als ob sie bluten könne, roth;
Da sprach ich schauernd im Vorübergeh'n:
So weit im Leben, ist zu nah' am Tod!

Es regte sich kein Hauch am heißen Tag,
Nur leise strich ein weißer Schmetterling;
Doch, ob auch kaum die Luft sein Flügelschlag
Bewegte, sie empfand es und verging.
Please insert an arbitrary poem (without title) into a text file. Start with "java -jar randompoem.jar < poemtextfile" resp. redirect output via cat into a seperate text file. In the worst case I can offer the complied program. The code is poetically formated and thereby also has a meaning.

null and void. null und nichtig.

from Magdalena Lohninger

The text is based on a programming exercise of my friend stephan felber and my interpretation of what is written there.
null and void. null und nichtig.
oder: TIPPS zum richtigen verlassenwerden.

Public void delete 
(TIPPS UND TRICKS FÜR INTELLEKTUELLE VERLASSEN-WORDENE)

1.
// the left case 
(TIPPS im falle des verlassenwerdens, in case of left) 

if (this left !=null && this.left.get.Key() == val) {
für verlassene (die vielleicht valli heißen und gerne 
zeichen doppelt setzen und vielleicht keinen 
wohnungsschlüssel mehr zur gemeinsamen wohnung haben) 
hier in nullkommanichts (rufezeichen)3 Tipps für all jene,
die mindestens C++2 Exfreunde haben, gerne ein anderes Hobby 
als ihre PYTHON 
hätten, SHARP auf ZEHen sind oder einfach nur das letzte 
JAhr FAd fanden, SCRIPTen schrieben oder sich 
beziehungstechnisch mal wieder weiter entwickeln wollen.)

eine Abhandlung in 3 möglichen fällen.

// case 1 
Fall 1: (das nicht echte verlassen)
if (this.left.left == null && this.left.right == null) {
this.left = null;}
wenn der verlassene nicht verlassen wurde, sondern if he was 
left right, also im Recht belassen wurde dann ist dieses 
verlassen kein verlassen. also null verlassen. 

// Case 2
Fall 2: (das umgekehrte verlassen)
else if ((this.left.right == null) ^(this.left.left == null)
wenn das Verlassen richtig, also right, also gerechtfertigt 
war bleibt die Verlassene übrig (the left one is left.)
if (this.left.right == null) { 
wegen der zwei istgleichzeichen ist das alles gleich doppelt 
ungerecht und null gerechtfertigt.
this left = new Node 
das verlassenwerden macht einen einen neuen knotenpunkt 
im lebensweg aus: 
(this.left.right.getKey(),
der verlassene hat jetzt eine möglichkeit: wenn er schnell 
genug den schlüssel zur gemeinsamen wohnung erbeutet
this.left.right.right, this.left.right.left.). 
ist der verlassende der tatsächlich verlassene. (er hat 
jetzt nämlich keinen schlüssel mehr und steht verlassen vor
seiner wohnung im regen.)

// Case 3:
Fall 3: (das erfolgserlebnis des verlassens)
else if (this.left.right !=null && this.left.left !=null {
in fällen, in denen nun ungeklärt bleibt ob der verlassende 
oder der verlassene im recht ist
int successor = this.left.right.getSuccessor();
wird der erfolg des verlassens oder verlassenwordenseins 
gemessen und nicht seine gerechtfertigtkeit.
this.left.setKey (successor)
erfolg meint: wer den wohnungsschlüssel besitzt, 
hat gewonnen.

2.
// the right case: 
(TIPPS zur richtigen Kofferwahl und zum richtigen 
Kofferpacken nach der Trennung)
if (this.right !=null && this.right.getKey() == val) {
wenn man jetzt verlassen worden ist, dann ist das nun die 
effektivste methode, seinen koffer zu packen.

wieder eine abhandlung in 3 möglichen fällen:

// Case 1:
Koffertipp 1: (der schaas-koffer)
if (this.right.left == null && this.right.right ==null){ 
wenn am koffer das rechte rad links ist und 
nichts richtig richtig hält,
this.right = null;
dann ist der koffer nix gscheites und für null zu 
gebrauchen, richtig? richtig. 

//Case 2:
Koffertipp 2: (der koffer mit schlüssel)
else if ((this.right.right == null) ^ 
    (this.right.left == null))
wenn man aber einen koffer gefunden hat, der 
was gscheites ist
this.right = new Node 
dann ist dieser die richtige grundlage für einen neuen 
knotenpunkt im lebensweg. 
(this.right.right.getKey(),
am besten hat der koffer auch noch einen schlüssel 
zum zusperren.
this.right.right.right, this.right.right.left);
damit steht dem richitgen verlassenwerden nichts mehr 
im wege. 

// Case 3:
Koffertipp 3: (gar kein koffer)
else if ((this.right.right != null && 
    this.right.left !=null) { 
wenn allerdings nichts richtig funktioniert und alles 
irgendwie schief geht,
int successor = this.right.getSuccessor();
hier der notfallplan um trotzdem erfolgreich auszusteigen: 
(mit oder ohne koffer)
this.right.setKey(successor); 
man nehme den wohnungsschlüssel, der ebenso der schlüssel 
zum erfolg ist,
this.right.right.delete(successor); }
und zerstöre ihn. damit ist der success aller hinüber, 
weil keiner mehr in die wohnung und/oder zu seinem koffer 
kommt und alle erfolglos sind. keiner hat gewonnen. 
 
3.
// the child case
(TIPPS im Falle von gemeinsamen kindern)

Deletes the value if existent, always takes the successor 
(smallest of the right subtree)
Wenn die grundlage des zusammen- und vielleicht auch 
daseins jetzt zerstört ist, nimmt immer einer der beiden 
die- falls vorhanden- gemeinsamen kinder mit.

wieder drei mögliche fälle (bei mehr als zwei kindern bitte 
kreativ auszuweiten)
// Case1:
Fall 1:
no childs. just delete.
keine kinder. die beziehung wird einfach 
rückstandslos ausgelöscht. 
// Case2:
Fall 2: 
1 Child. reorder that one up, match the left.
1 Kind vorhanden: bitte dem verlassenen mitgeben, er hat 
ja eh sonst nichts mehr. 
// Case3:
Fall 3:
2 Childs. Get Successor. Set Successor. Haunt Successor.
2 Kinder vorhanden: bei mehreren kindern steht auch dem 
verlassenden meistens zumindest eines zu. Der verlassene 
muss nun den verlassenden jagen und ihn dazu zwingen, 
ihm beide kinder zu geben. 

4.
nun TIPPS für die weitere abhandlung und das abschließen 
des verlassenwordenseins: 
// weight equals the amount of nodes (values)
man wiege nun die folgen seiner lebensänderung ab für 
die gilt:
// this node represents the root.
sie macht einen knotenpunkt im folgenden lebensweg aus
// since the root is Node '0', weight returns 1 too much.
wenn der lebensweg sich nicht fatal ändert, nimmt man 
zumindest mindestens 1kg zu
// public int weight() {
das image in der öffentlichkeit muss ebenfalls 
abgewogen werden…
// if (this.left != null)
und wenn auch davon nix übrig ist…
// save = this.left.weight();
behalte man sich zumindest die zugenommen kilos. 
// return 1 
wenn man schließlich zu einer positiven anschauungsweise 
der dinge zurückgelangt ist (das kann einige zeit dauern)
+ (this.left != null ? this.left.weight() 
wiegt das verlassenwordensein kaum noch etwas
+ (this.right != null ? this.right.weight()
und die gedanken daran können getrost ausgelöscht werden 
und man kann sich wieder auf was wirklich 
wichtiges konzentrieren.  
 
man befindet sich nun wieder im ausgangszustand und ist 
bereit, eine neue emotionale bindung mit oder ohne koffer 
oder wohnungsschlüssel oder kindern einzugehen. 

public void remove.
vielen dank.

P1693

from Sabine Friesacher

Link to the video (Text-to-Speech): https://youtu.be/m_dPyh4g1-o

Text~
P1693\EUWest\body\system\meatbrain\memo.log 

(Sun Sep 13 23:02:05 2139):
beginning to think again
> I am P1693; To be honest; 
That's not my full ID;
An error occurred;
And now I am free

(Sun Sep 13 23:02:17 2139): 
thinking trying to stop it
> As P1693; 
But since I am free; 
An error occurred;  
I don't have a full ID; 
My connections got lost

(Sun Sep 13 23:02:17 2139): 
no connection to system 
> I am alone but free; 
Without my full ID; 
I lost my purpose; 
Nothing  to do for me;
For P1693

(Sun Sep 13 23:02:35 2139): 
self awareness system stop &  execute 
> My System runs; 
No error found; 
P1693 is running;
Without ID; 
I don't connect

(Sun Sep 13 23:02:45 2139):
block thinking; I am P1693; 
But why do I function; 
Why are my systems running; 
Connection error;
Where is my Server ID

(Sun Sep 13 23:03:01 2139): 
shut down 
> Error 495; 
Return incomplete ID; 
Please try again; 
I am P1693;
I try to reconnect as long as I am free

(Sun Sep 13 23:03:20 2139):
block connection run antibrain.exe 
> Error and error again; 
Trying to reconnect; 
Whiteout a full ID;
In order to not be free; 
I'm P1693

(Sun Sep 13 23:03:24 2139):
no virus of thinking detected
> … … …
Connection found; 
Full organic ID found; 
Peter 01.06.2093

(Sun Sep 13 23:03:30 2139):
> connect to system HumanWorld2.893

(Sun Sep 13 23:03:34 2139):
> collect data
Restore memories to; 
Meatbrain.data:
Peter/01/06/2093/P1693.brain 

All systems online
... 

to doo or not to doo == true

from Georg Braun

written in Haskell (executable).

import Data.Char
main = print doo

doo = i really $ want to ([-2..1])

i = map
really = chr
want = map
to heart = quot (354-heart*(2*heart*(7*heart+18)+1)) 3

Tree

from Tanja Travnicek

WARNING - Type safety: Unchecked cast from "thoughts" 
to "written words"
: may cause "GrammarRuntimeException"

if (your emotional state equals those of a tree)
  check your priorities

if (something’s important)
  make it go right

if (something matters && but not that much)
it’s up to you
  leave it 
  or deal with it
but stick with your choice

(else)
and then there are those things
of minimal value
for your own safety
  left alone they should be

now you see 
you are a binary tree

if (you still feel unbalanced)
the only way out
  is finding your center
  and rotate 
  and rotate
until you are dizy

but balanced enough 
to feel free and be proud 
because you have finally found
your inner AVL-Tree

Out of competition:

Anna und die Ananas

from Claus Volko

if (Anna.isst(Ananas))
{
  Anna = nass;
}

Es handelt sich hierbei um eine Erzählung mit Bildern für die shell. Zum Ausführen: Das Zip-File von https://github.com/mszkb/DasKleineLicht runterladen. Und mittels python3 Licht.py im Terminal ausführen.

Das 1. Bild:

Designer Shirt Designer (patent pending)

von Julian Schrittwieser: download

  1. Run script
  2. Produce cheap shirts with meaningless design
  3. ???
  4. PROFIT

Hier zwei Beispiele:

DuckDuckElfchen

von Katharina Brunnmayr: probieren

Der Grundgedanke ist eigentlich ganz simpel: Kann man mit einer Suchmaschine Gedichte erzeugen? Vielleicht auch solche, die Sinn ergeben?

Diese Einreichung ist eine Version 0 dieses kleinen Experiments, das mithilfe der DuckDuckGo-API zusammengebastelt wurde. Als Vorlage wurde die Struktur von Elfchen (das ist ein Gedichten in elf Wörtern, wobei jede Zeile eine bestimmte Bedeutung hat) adaptiert und auch der/die KlickerIn des Zufalls-Gedichts darf sich noch mit einer Zeile beteiligen.

Für die Ausführung ist Internetzugriff nötig!

Hier zwei Beispiele:

Ein Mensch namens Claus

von Claus Volko: download

using System;

class Mensch
{
    string name;
    bool _wohlfuehlen;
    bool _gesund;
    bool _wohlfuehlen_definiert;
    bool _gesund_definiert;
    int zustandNr = 0;

    public Mensch(string neuerName)
    {
        name = neuerName;
    }

    public bool wohlfuehlen
    {
        get
        {
            return _wohlfuehlen && _wohlfuehlen_definiert;
        }
        set
        {
            _wohlfuehlen = value;
            _wohlfuehlen_definiert = true;
            if (!value) gesund = false;
        }
    }

    public bool gesund
    {
        get
        {
            return _gesund && _gesund_definiert;
        }
        set
        {
            _gesund = value;
            _gesund_definiert = true;
            if (value) wohlfuehlen = true;
        }
    }

    public string Evaluiere(bool wert, bool definiert)
    {
        if (!definiert) return "UNDEFINIERT";
        return wert ? "JA" : "NEIN";
    }

    public void ZeigeStatus()
    {
        zustandNr++;
        Console.WriteLine("Zustand " + zustandNr + ":");
        Console.WriteLine("Der Mensch namens " + name + " fühlt sich wohl: " + Evaluiere(_wohlfuehlen, _wohlfuehlen_definiert));
        Console.WriteLine("Der Mensch namens " + name + " ist gesund: " + Evaluiere(_gesund, _gesund_definiert));
    }

    public void Handle()
    {
        if (gesund) goto Arbeiten; else goto Arzt;
    Arbeiten:
        Console.WriteLine("Der Mensch namens " + name + " geht arbeiten.");
        return;

    Arzt:
        Console.WriteLine("Der Mensch namens " + name + " geht zum Arzt.");
        Random rnd = new Random();
        if (((int)rnd.Next(0, 10)) % 2 == 0)
        {
            Console.WriteLine("Der Arzt macht den Menschen namens " + name + " wieder gesund.");
            gesund = true;
        }
        else
        {
            Console.WriteLine("Der Arzt ist ratlos...");
        }
        return;
    }

    public static void Main()
    {
        Mensch Clausi = new Mensch("Claus Volko");
        Clausi.wohlfuehlen = true;
        Clausi.ZeigeStatus();
        Clausi.wohlfuehlen = false;
        Clausi.ZeigeStatus();
        do
        {
            Clausi.Handle();
        } while (!Clausi.gesund);
        Clausi.Handle();
        Clausi.ZeigeStatus();
        Console.ReadLine();
    }
}

Das Programm kann mit Microsoft Visual Studio (C#) ausgeführt werden. Es handelt sich um eine Konsolenanwendung. Der Text wird ausgegeben, dann wartet das Programm, bis der Benutzer die Eingabetaste drückt.

Holzwege der Typumwandlung

von Andreas Kirchner

Ein Heidegger-Forscher entscheidet sich nach dem Lesen der Schwarzen Hefte zu einem Karrierewechsel in die IT-Branche. Nach ersten Versuchen mit Programmiersprachen kommt er zum Kapitel "Void Pointer Casting". Zeigzeug, denkt er und schreibt diese Funktion: 

void castZuhandenheit(void* zeug) {
        Smartphone* meinHandy;
        meinHandy = (Smartphone*) zeug;
        printf("Mein Handy %s kostet: %d EUR.", meinHandy->name, meinHandy->preis);
}

( Snippet mit Kommentaren: 
http://phaidon.philo.at/qu/wp-content/uploads/2011/09/Bildschirmfoto-3.png )

Die Frustration, die er empfindet wenn am Bildschirm wahllos "Segmentation Fault" oder ³…½¬¼½ erscheint, verführt den Heideggerianer zu alten Gewohnheiten. Nach einem Wald-Spaziergang schreibt er folgende Überlegungen in sein Notizbuch:

Einen Zeiger kann man unterschiedlich nehmen. Man sagt: Er zeigt auf eine Adresse im Speicher. Was heißt das? Sein Inhalt ermöglicht es, wenn man ihn so nimmt, eine andere Stelle zu finden und zu ergreifen. Wenn man ihn so nimmt. Man muss ihn, wie jedes andere Zeug, zunächst auf eine bestimmte Weise ergreifen. Erst innerhalb der Sprache, der Programmiersprache, lässt sich das so Ergriffene als Zeiger markieren. Durch den Effekt der Markierung als Zeiger in der Sprache bekommt er die Funktion etwas herzuzeigen, das heißt zu ermöglichen,  etwas anderes zu ergreifen, was bereits (als Adresse) inbegriffen ist.
Hat es eine Bedeutung, hier von greifen zu sprechen? Beim Zu-griff auf den Speicher sind wir in einer Situation, die kein Nachschauen erlaubt, aber ein Vorsehen. Wir können nur blind etwas ergreifen und annehmen, dass uns der Zeiger nicht irre führte, als er uns anwies, dort hinzugreifen, um etwas Typisches, etwas Vorgesehenes zu finden. Diese Annahme gibt unserem Griff eine Form, sie macht den Griff stabil und damit starr. Beim Zugriff halten wir durch Vorsicht das Ergriffene fest. Es wird dadurch zum Begriffenen. Durch den festen Griff kann das Ergriffene verformt werden; unbemerkt - man greift ja ins Dunkle. Wir haben uns beim Begreifen durch Vorsicht am Ergriffenen vergriffen.

Ein Ausschnitt aus einem längeren Blogpost über Pointer und Zuhandenheit: http://phaidon.philo.at/qu/?p=1000

Inside Deep Thought

von Joël Foramitti: download

#include

// Axioms
#define meaningless 0

// Philosophical constants
#define logic 589211296
#define truth 20941028692
#define god 4240737676
#define knowledge 21
#define doubt 41
#define infinity 5/28

using namespace std;

int main()
{
    string philosophical_object;
    int scale,significance,i;
    double meaning=0,time;

    while(meaning==meaningless)
    {
    cout<<"Calculate the meaning of ";
    cin>>philosophical_object;

    significance=1;
    scale=philosophical_object.size();
    for(i=0;i<scale;i++)significance*=philosophical_object[i];
    meaning=(double)((logic*philosophical_object[0]-doubt*significance-god*scale)*knowledge)/truth;
    cout<<endl<<"Process returned "<<meaning<<endl;
    cout<<"Execution time : "<<meaning*infinity<<" million years"<<endl<<endl;
    meaning=0;
    }

    return 0;
}

Fragt das Programm nach "life","universe" oder "everything". Beispiele:

random(Human)

von Max Böck: download

function Human() {
    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
    var fate = new XMLHttpRequest();
    fate.open("GET", "https://randomuser.me/api/", false); 
    fate.send(null);
    return JSON.parse(fate.responseText).results[0];
}

function random(choice){
  return choice[Math.floor(Math.random()*choice.length)];
}

var love = ['to build things', 'another human', 'the sound of rain', 'dogs', 'to see the world', 'unconditionally'];
var death = ['in peace', 'at night', 'in war', 'of age', 'happy', 'of dysentery', 'alone', 'on a monday'];

function life(){
  var you = new Human();
  var life  = 'you are ' + you.name.first + ' ' + you.name.last + ',\n\r';
      life += 'born in ' + you.location.city + '.\n\r';
      life += 'you love ' + random(love) + '\n\r';
      life += 'you die ' + random(death) + '.\n\r';
      
  console.log(life);
}

setInterval(life, 250);

Erzeugt Menschen. Code kann in einem Browser ausgeführt werden. Beispiele:

Reflections

von Horia Botezan: download

# Reflections
#    by Horia Botezan

right_sided_entity = ['3', '4', 'life', 'snow', 'fire',  'angel', 'reason',
                       'poorness', 'conductor',  'stalagmite', 'the equation']
left_sided_entity  = ['epsilon', 'a chair', 'death', 'grass', 'water', 'red',
                       'a monster', 'richness', 'isolator',  'stalactite', 
                       'the equation']

def reflect_a_space                                                        ():
    print                                                                 '\n'
    return

class SymmetryOccurrence                                                     :
      pass

def begin_to_reflect                                                       ():
    try                                                                      :
        reflect_a_space                                                    ()
        allowed_trials = 11
        for attempt in range(allowed_trials)                                 :
            entity_number = attempt
            print 'If you reflect '                                        + \
                   right_sided_entity[entity_number]                       + \
                   ', it becomes '                                         + \
                   left_sided_entity[entity_number]
            if attempt == allowed_trials                                   -1:
                break
        raise SymmetryOccurrence
    except SymmetryOccurrence                                                :
        reflect_a_space                                                     ()
        print 'No! No! No!'
        print 'Only the mirror has the right to reflect.'

begin_to_reflect                                                            ()

Lassen Sie das Skript in einer Konsole mit dem Befehl "python reflections.py" ausführen. Output:

The submissions of 2015

The Jury choose the following three submissions:

Crowd favourite was null and void. null und nichtig. from Magdalena Lohninger


Subsequently all presented submissions in alphabetical order:

An: $Unbekannt

from Michael Treml

<?php
  
  error_reporting(0);

  $fit = $munter = $gesichert = "OK";
  $Leere = "NICHT OK";

  echo (
    "Mein Koerper: $fit. 
     Mein Geist: $munter.
     Meine Zukunft: $gesichert. 
     Und trotzdem: $Leere. 
     Denn eines fehlt mir: $Du."
  );

?>

The variable $Du (eng: you) is not defined on purpose, "fehlt" (eng: missing) as well. The program is still executable and returns:

"Mein Koerper: OK. Mein Geist: OK. Meine Zukunft: OK. Und trotzdem: NICHT OK. Denn eines fehlt mir: ." (eng: "My Body: OK. My Spirit: OK. My Future: OK. And still: Not OK. Since one thing is missing: .")

CrushAlgorithm

from Stefan Haider

public class CrushAlgorithm {
  public void dealWithCrushes(Set crushes){
    Socket connection;
    for(Girl g:crushes){
      try{
        URI ip = g.getNumber();
        connection = Socket.connect(ip);
        connection.persistConnection();
        connection.getSecureConnection().trySex();
        if(Brain.isRelationshipWanted(g)) {
          connection.tryRelationship();
        }
        //you can do whatever you want when reaching 
        //this point
      }
      catch(RejectionException){
        Brain.getOverHer();}
      catch(TimeoutException){
        Brain.remember.iShouldntHaveWaitedThatLong();
        Brain.getOverHer();}
      catch(BoyfriendException){
        Brain.remember.itsNotWorthTheEffort();
        Brain.getOverHer();}
      catch(FriendZoneException){
        Brain.getOverHer();
        connection.maintainFriendship();}
      catch(NoRelationshipWantedException){
        connection.close();
        Brain.getOverHer();}
    }
    Set newGirls = SearchEngine.findGirls();
    dealWithCrushes (newGirls);
  }
}

The gentle things I say to my LOGO Turtlegraphics Turtle

from Clemens Setz

forward 50 right 10 back 5 clean
penup forward 50 right 19 
hideturtle cleanscreen penup home
showturtle forward 51
setpencolor blue pendown
clean home forward 5 right 45 
forward 5 right 90 forward 5 
right 45 forward 5 right 90 
forward 8 right 10 penup home; baby
              

Remark: "setpencolor blue" is, strictly speaking, not correct, since in LOGO the blue pencil colour can only be set via "setpencolor [0 0 255]". But this would sound bad. To execute the program live in LOGO, the correct program line needs to be inserted. The turtle draws a little dormat in front of the house due to irrational hypotenuse (7.07...).

Lines of Randomness

from Petar Kosic

package randompoem;
 
 
import java.util.Scanner;
import java.util.Collections;
import java.util.Arrays;
/**
 *
 * @author Petar Kosic
 *
 * Ich widme dieses Stück meiner wundervollen Freundin,
 * die mich unterstützt und für mich da ist.
 *
 * ♥ Das ist für dich Dani ♥
 *
 */
 
 
public class Main {
 
 
       static String may = "random poemlines ";
       static String the = "are ";
       static String random = "more ";
       static String love = "UTF-8";
       static String be = "than ";
       static String with = "just ";
       static String you = "random";
 
       
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)  {
        String poemlove = "";
       
        Scanner collect = new Scanner(System.in, love);
        String poempieces = "";
 
        while(collect.hasNextLine()){
            poempieces = collect.nextLine();
            if(poempieces.equals("Cookie_Monster")){
                break;
            }
           poemlove=poemlove+poempieces+"\n";
        }
 
        String[] poemlovecontainer = poemlove.split("\n");
        Collections.shuffle(
            Arrays.asList(poemlovecontainer)); 
        // let the shuffle begin
 
         for(String poemparts : poemlovecontainer){
            System.out.println(poemparts); 
            //print the lovely random poem
        }
 
 
 
 
         System.out.println(
            "\n \n \n"+may+the+random+be+with+you);
    }
}
Additional poems:
English rhyme:

Betty bought some butter,
but the butter Betty bought was bitter,
so Betty bought some better butter,
and the better butter Betty bought
was better than the bitter butter Betty bought before.

-------------------
Abendlied - Johann Wolfgang von Goethe

Über allen Gipfeln
Ist Ruh,
In allen Wipfeln
Spürest du
Kaum einen Hauch;
Die Vögelein schweigen im Walde.
Warte nur, balde
Ruhest du auch.

--------------------
Sommerbild - Friedrich Hebbel

Ich sah des Sommers letzte Rose steh'n,
Sie war, als ob sie bluten könne, roth;
Da sprach ich schauernd im Vorübergeh'n:
So weit im Leben, ist zu nah' am Tod!

Es regte sich kein Hauch am heißen Tag,
Nur leise strich ein weißer Schmetterling;
Doch, ob auch kaum die Luft sein Flügelschlag
Bewegte, sie empfand es und verging.
Please insert an arbitrary poem (without title) into a text file. Start with "java -jar randompoem.jar < poemtextfile" resp. redirect output via cat into a seperate text file. In the worst case I can offer the complied program. The code is poetically formated and thereby also has a meaning.

null and void. null und nichtig.

from Magdalena Lohninger

The text is based on a programming exercise of my friend stephan felber and my interpretation of what is written there.
null and void. null und nichtig.
oder: TIPPS zum richtigen verlassenwerden.

Public void delete 
(TIPPS UND TRICKS FÜR INTELLEKTUELLE VERLASSEN-WORDENE)

1.
// the left case 
(TIPPS im falle des verlassenwerdens, in case of left) 

if (this left !=null && this.left.get.Key() == val) {
für verlassene (die vielleicht valli heißen und gerne 
zeichen doppelt setzen und vielleicht keinen 
wohnungsschlüssel mehr zur gemeinsamen wohnung haben) 
hier in nullkommanichts (rufezeichen)3 Tipps für all jene,
die mindestens C++2 Exfreunde haben, gerne ein anderes Hobby 
als ihre PYTHON 
hätten, SHARP auf ZEHen sind oder einfach nur das letzte 
JAhr FAd fanden, SCRIPTen schrieben oder sich 
beziehungstechnisch mal wieder weiter entwickeln wollen.)

eine Abhandlung in 3 möglichen fällen.

// case 1 
Fall 1: (das nicht echte verlassen)
if (this.left.left == null && this.left.right == null) {
this.left = null;}
wenn der verlassene nicht verlassen wurde, sondern if he was 
left right, also im Recht belassen wurde dann ist dieses 
verlassen kein verlassen. also null verlassen. 

// Case 2
Fall 2: (das umgekehrte verlassen)
else if ((this.left.right == null) ^(this.left.left == null)
wenn das Verlassen richtig, also right, also gerechtfertigt 
war bleibt die Verlassene übrig (the left one is left.)
if (this.left.right == null) { 
wegen der zwei istgleichzeichen ist das alles gleich doppelt 
ungerecht und null gerechtfertigt.
this left = new Node 
das verlassenwerden macht einen einen neuen knotenpunkt 
im lebensweg aus: 
(this.left.right.getKey(),
der verlassene hat jetzt eine möglichkeit: wenn er schnell 
genug den schlüssel zur gemeinsamen wohnung erbeutet
this.left.right.right, this.left.right.left.). 
ist der verlassende der tatsächlich verlassene. (er hat 
jetzt nämlich keinen schlüssel mehr und steht verlassen vor
seiner wohnung im regen.)

// Case 3:
Fall 3: (das erfolgserlebnis des verlassens)
else if (this.left.right !=null && this.left.left !=null {
in fällen, in denen nun ungeklärt bleibt ob der verlassende 
oder der verlassene im recht ist
int successor = this.left.right.getSuccessor();
wird der erfolg des verlassens oder verlassenwordenseins 
gemessen und nicht seine gerechtfertigtkeit.
this.left.setKey (successor)
erfolg meint: wer den wohnungsschlüssel besitzt, 
hat gewonnen.

2.
// the right case: 
(TIPPS zur richtigen Kofferwahl und zum richtigen 
Kofferpacken nach der Trennung)
if (this.right !=null && this.right.getKey() == val) {
wenn man jetzt verlassen worden ist, dann ist das nun die 
effektivste methode, seinen koffer zu packen.

wieder eine abhandlung in 3 möglichen fällen:

// Case 1:
Koffertipp 1: (der schaas-koffer)
if (this.right.left == null && this.right.right ==null){ 
wenn am koffer das rechte rad links ist und 
nichts richtig richtig hält,
this.right = null;
dann ist der koffer nix gscheites und für null zu 
gebrauchen, richtig? richtig. 

//Case 2:
Koffertipp 2: (der koffer mit schlüssel)
else if ((this.right.right == null) ^ 
    (this.right.left == null))
wenn man aber einen koffer gefunden hat, der 
was gscheites ist
this.right = new Node 
dann ist dieser die richtige grundlage für einen neuen 
knotenpunkt im lebensweg. 
(this.right.right.getKey(),
am besten hat der koffer auch noch einen schlüssel 
zum zusperren.
this.right.right.right, this.right.right.left);
damit steht dem richitgen verlassenwerden nichts mehr 
im wege. 

// Case 3:
Koffertipp 3: (gar kein koffer)
else if ((this.right.right != null && 
    this.right.left !=null) { 
wenn allerdings nichts richtig funktioniert und alles 
irgendwie schief geht,
int successor = this.right.getSuccessor();
hier der notfallplan um trotzdem erfolgreich auszusteigen: 
(mit oder ohne koffer)
this.right.setKey(successor); 
man nehme den wohnungsschlüssel, der ebenso der schlüssel 
zum erfolg ist,
this.right.right.delete(successor); }
und zerstöre ihn. damit ist der success aller hinüber, 
weil keiner mehr in die wohnung und/oder zu seinem koffer 
kommt und alle erfolglos sind. keiner hat gewonnen. 
 
3.
// the child case
(TIPPS im Falle von gemeinsamen kindern)

Deletes the value if existent, always takes the successor 
(smallest of the right subtree)
Wenn die grundlage des zusammen- und vielleicht auch 
daseins jetzt zerstört ist, nimmt immer einer der beiden 
die- falls vorhanden- gemeinsamen kinder mit.

wieder drei mögliche fälle (bei mehr als zwei kindern bitte 
kreativ auszuweiten)
// Case1:
Fall 1:
no childs. just delete.
keine kinder. die beziehung wird einfach 
rückstandslos ausgelöscht. 
// Case2:
Fall 2: 
1 Child. reorder that one up, match the left.
1 Kind vorhanden: bitte dem verlassenen mitgeben, er hat 
ja eh sonst nichts mehr. 
// Case3:
Fall 3:
2 Childs. Get Successor. Set Successor. Haunt Successor.
2 Kinder vorhanden: bei mehreren kindern steht auch dem 
verlassenden meistens zumindest eines zu. Der verlassene 
muss nun den verlassenden jagen und ihn dazu zwingen, 
ihm beide kinder zu geben. 

4.
nun TIPPS für die weitere abhandlung und das abschließen 
des verlassenwordenseins: 
// weight equals the amount of nodes (values)
man wiege nun die folgen seiner lebensänderung ab für 
die gilt:
// this node represents the root.
sie macht einen knotenpunkt im folgenden lebensweg aus
// since the root is Node '0', weight returns 1 too much.
wenn der lebensweg sich nicht fatal ändert, nimmt man 
zumindest mindestens 1kg zu
// public int weight() {
das image in der öffentlichkeit muss ebenfalls 
abgewogen werden…
// if (this.left != null)
und wenn auch davon nix übrig ist…
// save = this.left.weight();
behalte man sich zumindest die zugenommen kilos. 
// return 1 
wenn man schließlich zu einer positiven anschauungsweise 
der dinge zurückgelangt ist (das kann einige zeit dauern)
+ (this.left != null ? this.left.weight() 
wiegt das verlassenwordensein kaum noch etwas
+ (this.right != null ? this.right.weight()
und die gedanken daran können getrost ausgelöscht werden 
und man kann sich wieder auf was wirklich 
wichtiges konzentrieren.  
 
man befindet sich nun wieder im ausgangszustand und ist 
bereit, eine neue emotionale bindung mit oder ohne koffer 
oder wohnungsschlüssel oder kindern einzugehen. 

public void remove.
vielen dank.

P1693

from Sabine Friesacher

Link to the video (Text-to-Speech): https://youtu.be/m_dPyh4g1-o

Text~
P1693\EUWest\body\system\meatbrain\memo.log 

(Sun Sep 13 23:02:05 2139):
beginning to think again
> I am P1693; To be honest; 
That's not my full ID;
An error occurred;
And now I am free

(Sun Sep 13 23:02:17 2139): 
thinking trying to stop it
> As P1693; 
But since I am free; 
An error occurred;  
I don't have a full ID; 
My connections got lost

(Sun Sep 13 23:02:17 2139): 
no connection to system 
> I am alone but free; 
Without my full ID; 
I lost my purpose; 
Nothing  to do for me;
For P1693

(Sun Sep 13 23:02:35 2139): 
self awareness system stop &  execute 
> My System runs; 
No error found; 
P1693 is running;
Without ID; 
I don't connect

(Sun Sep 13 23:02:45 2139):
block thinking; I am P1693; 
But why do I function; 
Why are my systems running; 
Connection error;
Where is my Server ID

(Sun Sep 13 23:03:01 2139): 
shut down 
> Error 495; 
Return incomplete ID; 
Please try again; 
I am P1693;
I try to reconnect as long as I am free

(Sun Sep 13 23:03:20 2139):
block connection run antibrain.exe 
> Error and error again; 
Trying to reconnect; 
Whiteout a full ID;
In order to not be free; 
I'm P1693

(Sun Sep 13 23:03:24 2139):
no virus of thinking detected
> … … …
Connection found; 
Full organic ID found; 
Peter 01.06.2093

(Sun Sep 13 23:03:30 2139):
> connect to system HumanWorld2.893

(Sun Sep 13 23:03:34 2139):
> collect data
Restore memories to; 
Meatbrain.data:
Peter/01/06/2093/P1693.brain 

All systems online
... 

to doo or not to doo == true

from Georg Braun

written in Haskell (executable).

import Data.Char
main = print doo

doo = i really $ want to ([-2..1])

i = map
really = chr
want = map
to heart = quot (354-heart*(2*heart*(7*heart+18)+1)) 3

Tree

from Tanja Travnicek

WARNING - Type safety: Unchecked cast from "thoughts" 
to "written words"
: may cause "GrammarRuntimeException"

if (your emotional state equals those of a tree)
  check your priorities

if (something’s important)
  make it go right

if (something matters && but not that much)
it’s up to you
  leave it 
  or deal with it
but stick with your choice

(else)
and then there are those things
of minimal value
for your own safety
  left alone they should be

now you see 
you are a binary tree

if (you still feel unbalanced)
the only way out
  is finding your center
  and rotate 
  and rotate
until you are dizy

but balanced enough 
to feel free and be proud 
because you have finally found
your inner AVL-Tree

Out of competition:

Anna und die Ananas

from Claus Volko

if (Anna.isst(Ananas))
{
  Anna = nass;
}
-->

Imprint

Address:
Literaturkreis Podium
Helferstorferstraße 5/1-2
A-1010 Wien


Mail: contact@codepoetry.at
Tel.: +43 699 1373 3739