Archiv für den Monat April 2012

The Segmentation Cake is a Lie

Island! Land der atemberaubenden Landschaft, der monumentalen Fjorde, der schier unendlichen Gesteinswüsten, der Jahrtausende währenden Demokratie und des Esszimmers, wo wir alle vor unseren Laptops sitzen.

Um sich dem schlechten Einfluss Erlehmanns zu entziehen, sind wir kurzerhand mit 6 anderen Leuten 1000 km nach Dänemark gefahren und haben uns in eine Fähre gesetzt, die drei Tage lang weg, einfach nur weg schipperte. Wir hätten auch die Malediven genommen, aber Island tut es auch.

Aber natürlich haben wir uns nicht von der trivialen Natur hier, die sich so unverschämt anbietet, ablenken lassen. Wir hatten tatsächlich zwei Programmiersessions. Und zwar angenehm kurz und angenehm buchlos.
Diesmal ging es um Speichermanagement. Und Plom leitete die Session mit der Offenbarung ein, dass das Fledermausland von dem ich sprach eine Lüge ist. Kurze Erklärung wie ich mir das bisher vorgestellt hatte:
Wenn ich ein Programm bastle, wird dafür ein Stack angelegt, also ein Bereich auf meinem Arbeitsspeicher. Und der ist so aufgebaut:

—————————————————-
Programmanweisungen (mein Code, den ich schrub)

Programmdatendings, also zB mein Ascii-Code, mit dem was gemacht werden soll

Äh Ende

FLEDERMAUSLAND

Dings

Dingseaxscheißewashastdugesagt?
.section .achichsollimmernochichdachtewirhättenschonaufgehörtohok

————————————————

Naja mir fiel auf, dass ich noch nicht wirklich eine Ahnung habe, wie der Stack jetzt wirklich aufgebaut ist. Deswegen haben wir nochmal zusammen einen Stack gemalt. (haha fun-fact, grad nochmal Plom nach etwas gefragt und hab erfahren, dass das ja gar nicht der Stack ist, sondern der Arbeitsspeicher!) Und der sieht so aus:

————————————————————————————————————–

 Byte 0                    #Hier stehen so Dinge wie "kannst du  
.section .text             #bitte grad ne Einkaufsliste schreiben und                           #beweg doch noch eben den Müll nach
                           #draußen und das ganze ist hier z.B. 100                             #Bytes lang
  
 Byte 100                  #Und hier steht drin was auf die
.section .data             #Einkaufsliste soll

 Byte 300                  #Hab vergessen was da drin steht, irgend 
.section .bss              #etwas mit Buffer glaube ich
 
 Byte 400 
--------------------------- 
BREAK BREAK BREAK          #Den Speicherort des BREAKS kann ich 
---------------------------#adressieren und verschieben, um den 
                           #Buffer zu vergrößern 

.section .fledermausland   #Ja haha, fledermausland,von wegen, ficken
                           #das gibt es ja noch gar nicht  
---------------------------
 Byte 1337
STACK                      #Und hier fängt jetzt endlich mein Stack
                           #an, ihr wisst schon, den ich mit pushl
                           #und popl mit Dingen vollmachte.

———————————————————————————————————————-

Also wie gesagt, das ist gar nicht der Stack den ich grad beschrieben hab, sondern der Arbeitsspeicher. Na was auch immer das jetzt heißt.
Jedenfalls muss der Bereich in .fledermausland erst gemappt werden damit ich ihn überhaupt lesen und beschreiben kann. Vorher ist da nicht wirklich irgendwas. Der Bereich auf meinem Arbeitsspeicher der reserviert wird, ist nämlich nur virtuell und nicht physisch vorhanden.  Das ist so wie einen Tisch im Restaurant servieren. Vielleicht in so einem Dunkelrestaurant wo man nichts sieht. Und man denkt, man sitzt an einem Tisch für die ehrenwerte 40-köpfige Gesellschaft für Volkskunde aber in Wirklichkeit wird immer nur ein weiterer billiger Ikeatisch heimlich an unseren rangetragen sobald neue Gäste kommen.

Und was der Chef des Dunkelrestaurants tut, ist seine MitarbeiterInnen mit seinem Allokierer oder seinem Pager dazu aufzufordern, diese Tische möglichst lautlos und unbemerkt rumzutragen.
Die Chefin, das bin natürlich ich. Eine Funktion namens alloc ist der Pager, und damit pinge ich den Kernel an, also meinen Mitarbeiter, der dann die Bytes heranträgt.

So einfach ist das!

Und jetzt wo ich den langweiligen Teil und eigentlich Zweck dieses Blogs abgehakt habe, kann ich ja über die interessanteren Dinge sprechen.

Island ist so toll :)))
Ich habe plomlompom dazu überredet, mit mir Yoga zu machen und auf einen riesigen Berg zu klettern, fast bis in die Wolken rein. Im Gegenzug hat er mir den Fenstermanager I3 gezeigt. Und ich habe beschlossen, dass ich in Zukunft weniger grafisches Klimbim haben möchte, sondern versuche so viel wie möglich in der Konsole zu erledigen. Sogar meine Hausaufgaben.
Ich habe immerhin schon die Farbe meiner Konsole in der config-Datei geändert. Hust… in grün auf schwarzem Hintergrund natürlich.
So wie allgebrah, der uns ebenfalls auf unserer Reise begleitet. Und ziemlich viel Hackercontent mit einbringt. Einer dieser Menschen die auf den Faröerinseln durch ein pittoreskes Dorf laufen, vorbei an Jahrhunderte alten Gebäuden und sich wie ein Gargoylebernd auf einen Sockel setzen, den Laptop ausklappen und ein offenes W-Lan suchen. Und dabei immer filmreif grüne Schrift über ihren Bildschirm fließen lasen. Er ist also schon ein bisschen Erlehmann-Ersatzbernd. Aber natürlich kein würdiger Ersatz. Und das spricht eigentlich für ihn.

Als wir gestern in Reykjavik waren, haben Plom und ich eine Freundin besucht, und von ihrem Mitbewohner habe ich erfahren, dass hier in Island zum Einen deutsche ARRRRRBeitskraft sehr wertgeschätzt wird und unter Anderem gute ProgrammiererInnen gesucht werden. Wie durch Zufall erfuhr ich dann, dass COBOL-Programmierer um die 200€ pro Stunde verdienen. Erinnert mich daran, fionalerntcobol.wordpress.com zu reservieren…
Der Mitbewohner macht irgendwas mit 3D-Druckern und kann ein wenig „Processing“, was eine Programmiersprache ist. Beim Nachschlagen auf Wikipedia stießen wir auf diese interessante Website:

http://www.helloworldexample.net/

„Hello World“ auf etlichen verschiedenen Programmiersprachen. Da gibt es so verrückte Sprachen wie Whitespace oder eine Hundeprogrammiersprache. Es lohnt sich, da mal reinzuschauen und herablassend über Pythoncode zu lachen (Ha, das ist ja lächerlich, so unkompliziert!)

Was ich aber viel interessanter fand, dass er uns erzählte, mal bei einer Freundin gewesen zu sein, die einen kleinen Vulkan im Garten hatte. Lässig.

Von Reykjavik aus ging es dann zurück ins Ferienhaus, mit einem ziemlich kleinen gelben Trabbi namens Ulf, mit dem wir unter Anderem an Björks schwarzen Haus vorbeifuhren! Und immer wenn ein Auto an uns vorbei fuhr spritzte das Regenwasser so stark, dass Ulf fast komplett überschwemmt wurde. Schön war das.

Jetzt geht es aber auch schon fast wieder Richtung Heimat, Richtung die Stadt, in der erlehmann lauert. Bis dahin schaffen wir womöglich sogar noch ein weiteres Kapitel, das vom „Counting like a Computer handelt“.
Ich finde, Island ist genau der richtige Ort, um sich mit Boole’scher Logik zu befassen. Warum auch immer.

Und hier wird übrigens über unseren Urlaub gebloggt.
http://isnodrama.wordpress.com/


Vorne: Plomlompom, Fotografiona
im Hintergrund: Erlehmann