Tag Archive for 'university'



Abgabe

3

Gestern vormittag war die Deadline für den zweiten Teil des Compilerbau-Projekts und ich muß sagen, daß ich heilfroh bin, daß das endlich vorbei ist. Zwar habe ich in keiner Vorlesung bisher so viel gelernt, sowohl neue Konzept (Baumautomaten und abstrakte Syntaxbäume), als auch altbekanntes endlich ganz verstanden (warum case-Statements immer ein break am Ende brauchen). Dafür war aber der Frustfaktor auch ziemlich hoch. Wie oft hätte ich meinen Rechner am liebsten getretten wegen der scheiß C-Grammatik.

Jetzt geht’s aber gleich munter weiter: mit Klausuren. Morgen erstmal Differential Equations und am Samstag noch die Miniklausur zum Compilerbau. Irgendwie werde ich auch das überstehen und dann sind Ferien. Naja, nicht wirklich, denn ich habe ja da noch mein DFKI. Und außerdem wollte ich auch endlich mal mit meiner Diplomarbeit anfangen, die seit einem halben Jahr im Schreibtisch vergammelt. Eigentlich war ja die Idee, schnell fertig zu werden, damit ich endlich von hier verschwinden kann. Aber das muß wohl noch ein wenig warten.

Trotzdem wird es dann ein wenig ruhiger werden, man kann ausschlafen und auch endlich ein paar dieser Sachen machen, die man immer lieber machen wollte, als lernen, Übungblätter lösen oder Folien durcharbeiten!

a ↑ b

0

Das ist der Pfeil-Operator der Informatiker-Legende Donald Knuth. Die Idee dahinter ist, daß arithmetische Operationen wie Multiplikation und Potenzierung verkürzte Schreibweisen sind, also a*3 = a+a+a und a3 = a*a*a usw.

Der Pfeil-Operator macht im Prinzip nichts anderes als das. a ↑↑ 3 = aaa. Aber das wäre viel zu einfach! Daher gibt es noch die Möglichkeit, da ein wenig Rekursion reinzubringen. Man kann nämlich mehrere Pfeil hintereinanderschreiben, also etwa a ↑↑↑ 3 = a ↑↑ a ↑↑ a = …

Und dieses Zeugs darf ich jetzt in meinen Compiler einbauen :-D

EAMT’05

0

Seit einem Jahr schlage ich mich mit dem Machine Translation Seminar rum. Daß ich nicht fertig werde, liegt nicht etwa daran, daß ich das Thema langweilig finde, sondern an einer Mischung aus Falschplanung, nicht-funktionierenden Tools, Anleitung-nicht-zuende-lesen und natürlich auch einem Stück Faulheit. Doch im Moment sieht es so aus, als hätte ich es endlich hinbekommen, daß alles richtig läuft.

Letzte Hürde auf dem Weg zum statistischen Ruhm war, daß ich kein richtiges Sentence-Alignment für meinen Korpus hinbekommen habe, was daran lag, daß irgendwelche Pseudo-XML-Tags verstreut im Text vorkamen. Jetzt habe ich die aber kategorisch rausgefiltert und nun habe ich einen sauberen Portugiesisch-Englischen Parallelkorpus von 948 047 Sätzen mit jeweils um die 26 Millionen Tokens. Das sollte ausreichen, um damit statistische Sprachverarbeitung zu betreiben :-D

Nach der Euphorie über das Gelingen dieses eigentlich völlig banalen Teils kommt auch schon wieder die Leere. Im Durschnitt dauert ein Training in eine Richtung (also pt->en) um die 16-20 Stunden. Nur gut, daß ich das auf einem der Rechner am DFKI machen kann! Jetzt heißt es erstmal warten.

iTunes U

0

Podcast logoÜber einen Artikel über iTunes U, der virtuellen Audio-Universität, kam ich auf die Ideen, nach Vorlesungen im Podcast-Format zu suchen. Und bin auch fündig geworden. Und es gibt sogar eine, die zu Compiler Construction. Aber auch die anderen sind nach dem ersten Reinhören doch recht interessant.

Insgesamt sind es vier Vorlesung, davon drei über Informatik (nämlich über Programmiersprachen, Datenstrukturen und Systemarchitektur) und eine über Geschichte (Nationalsstaaten von der Renaissance bis heute). Zwar ist ab und an die Qualität nicht so gut, aber sonst ist das alles eigentlich recht cool, sich eine Vorlesung anzuhören. Sollte man echt auch hier einführen. Sowas gab’s zwar schon mal (sogar mit Videoaufzeichnungen) wurde dann aber wieder eingestellt (oder wird halt einfach nicht mehr gemacht). Aber zumindest den Podcast könnte man wieder einführen.

Changeset 30

0

Mein erstes switch-Statement hat gerade fehlerfrei compiliert! Oh Mann, das ist soo cool, wie aus einem kleinen sinnlosen Programm richtiger Assembler-Code entsteht. Zwar ist es für die meisten nicht gerade erhellend, aber ich muß das einfach posten :-)

# CS 561 : Compiler Construction
# Summer 2006
# SPIM S20 MIPS simulator.
# MIPS code for test/switch.c

.globl main
main:
addu $s7, $0, $ra
addi $tt0, $0, 3
addi $s0, $0, 4
la $s2, jt_0

# handle switch value not in interval
slt $s2, $tt0, $zero
bne $s2, $0, .switch_escape_2
slt $s2, $tt0, $s0
beq $s2, $0, .switch_escape_2

# switch performed by using jump table
add $s0, $tt0, $tt0
add $s0, $s0, $s0
add $s0, $s0, $s2
lw $s2, 0($s0)
jr $s2

L0:
addi $tt0, $0, 0
j .switch_escape_2
L1:
addi $tt0, $0, 2
j .switch_escape_2
L2:
addi $tt0, $0, 1
j .switch_escape_2
L3:
addi $tt0, $0, 0
j .switch_escape_2

.switch_escape_2:
addu $ra, $0, $s7
jr $ra
add $0, $0, $0

.data
jt_0: .word L0, L1, L2, L3

Und obwohl es immer noch ziemlich kompliziert ist, macht es im Moment sogar Spaß.

Lernerei

0

Langsam geht mir diese Lernerei für die Compiler Construction-Klausur ziemlich auf den Keks. Eigentlich ist ja die Klausur nicht das Entscheidende, sondern daß es danach munter weitergeht mit Uni-Streß. Am Dienstag ist nicht nur Klausur, sondern auch Abgabe für das Differential Equations-Übungsblatt, am Donnertag ist dann das Übungsblatt für Compiler Construction dran und am Sonntag muß die Code Generation für den Compiler stehen.

In solchen Zeiten fallen einem gleich tausend Dinge ein, die man lieber täte, auch wenn sie teilweise völlig überflüssig sind. Unter so “sinnvolle” Sachen wie mehr Zeit mit Liza oder Freunden zu verbringen, ins Kino zu gehen oder einfach nochmal ein Buch zu lesen, mischt sich dann so Zeugs wie AJAX und JavaScript lernen oder das Blog umbauen. JavaScript ist eine Programmiersprache, die eigentlich immer verabscheut habe und jetzt wäre ich sogar bereit sie zu LERNEN. Was Klausuren so alles mit einem anstellen können…

UdS Feed

1

UdS Feed

Warum haben Vorlesungsseiten eigentlich keinen RSS- oder Atom-Feed? Man würde nicht mehr irgendwelche Ankündigungen verpassen, wie etwa, daß die Vorlesung ausfällt und daß die neue Folien oder Übungsblätter online sind. Jetzt wo jede Pupsseite einen Feed hat, wäre das doch nochmal was sinnvolles. Allerdings würde es voraussetzen, daß die Bremser die Homepage der Vorlesung auch halbwegs regelmäßig updaten, denn sonst nützt einem auch der schönste RSS-Feed nichts.

Changeset 6

3

Compiler Construction on tracIn zwei Wochen ist Abgabe für den ersten Teil meines Compilerbau-Projekts, nämlich für die Codegenerierung. Am Anfang habe ich nicht so recht geschnallt, wie man den Code generieren soll, aber heute habe ich endlich die Stelle gefunden, die mir weitergeholfen hat.

Jeder Ausdruck und jedes Statement ist vom Typ Node, und jeder Node hat einen stringstream, an den man einfach die entsprechenden Kommandos schickt. Und in C++ geht das ja so schön:

out << "loadc 5" << std::endl;

Vorher war ich ein wenig skeptisch, ob ich das alles in zwei Wochen schaffe, aber jetzt bin ich eigentlich wieder ganz optimistisch. Aber es wird sicherlich noch die ein oder andere Schwierigkeit geben, da bin ich mir sicher. Und auch so ist es einfach sauviel Arbeit.

Living Library

0

Langsam rückt der Termin für Dropping Knowledge näher und die Arbeit wird immer mehr, anstatt abzunehmen. Das bedeutet für mich, daß ich auch länger arbeiten werde, was natürlich mein Studium und nicht zuletzt mein Privatleben noch weiter einschränken wird, wenn ich dann noch mehr Stunden pro Woche am DFKI verbrate. Allerdings krieg ich das auch bezahlt, von daher ist das ein kleiner Trost.

Natürlich muß ich tierisch aufpassen, jetzt mehr denn je, daß ich wirklich nicht mehr mache, als die Stunden, die im Vertrag stehen. Daher ein Aufruf an alle: Wer mich beim Überstunden-machen erwischt ist hiermit authorisiert mir einen zünftigen Tritt in den Allerwertesten zu verpassen. Auch wenn ich vielleicht in dem Moment nicht sonderlich glücklich sein werde, bin euch schon jetzt sehr dankbar dafür.

Hoffentlich wird es aber erst gar nicht dazu kommen. Ich muß das halt irgendwie gereiht bekommen, neben dem DFKI auch noch meine Übungsblätter zu machen und Zeit für all die anderen Dinge im Leben zu haben. Wird schon schief gehen.

UdS-Card

4

Habe meine UdS-Card verloren. Aber diesmal so richtig, sonst habe ich sie “nur” irgendwo liegenlassen und auf Nachfrage wiederbekommen. Drum war es fast schon Routine, als ich im Mensa-Café nach abgegebenen Karten fragte. Aber leider war meine nicht dabei. Alles abgesucht, überall nachgefragt, Liza gelöchert … nichts. Das Kartenbüro war auch schon zu. Und da der Busfahrer einer von der Sorte “In-meinem-Bus-habe-ICH-die-Macht” war, durfte ich auch noch die Fahrt blechen (kostet ganze 2 €, Sauerei!).

Jetzt werde ich morgen nochmal eine Mensa-Café-Kartenbüro-Tour machen, vielleicht ist sie mittlerweile aufgetaucht. Und wenn nicht, kriege ich hoffentlich bald Ersatz. Scheiße!

Update: Heute morgen war ich nochmal im Mensa Café und da sagte man mir, es wären noch zwei Karten aufgetaucht, die man ab 11:15 in der Mensa bei Frau Meyer abholen könnte. Und Gott sei Dank war meine Karte. Und die habe ich erstmal aufgeladen :-)




Twitter

    digg


      Warning: Invalid argument supplied for foreach() in /homepages/u19712/wordpress/wp-content/plugins/digg-widget.php on line 60