Dienstag, 10. November 2009
a Maze Ing
Puh... eigentlich wollte ich schon seit einer Stunde im Bett sein. Wachgehalten hat mich die Reinforcement-Learning-Übungsaufgabe. Es lief nicht so, wie ich wollte. Meine Hartnäckigkeit (aka Dickköpfigkeit) hat schließlich zum Erfolh geführt, die Maschine spuckt plausible Werte aus. Interessant ist nur, wie es dazu kam. Ich habe stundenlang Veränderungen am Programm geschrieben, weil es nicht lief. Als ich dann aber zwei mal fast dieselbe Version (der einzige Unterschied war die Debug-Ausgabe) laufen ließ, funktionierte alles. Selbst als ich danach die Debug-Ausgabe wieder wegließ.

... link (0 Kommentare)   ... comment


Freitag, 2. Oktober 2009
Ook? Ook!
So, das war's! Mein Ook-Brainfuck und mein Brainfuck-Ook-Parser sind fertig. Na gut, eigentlich nur der Kern. Jetzt muss ich den beiden nur noch beibringen, Kommandozeilenparameter zu interpretieren.
Ach ja, geschrieben habe ich die Parsers in Ruby, als Teil meines Vorhabens, Ruby besser kennen zu lernen.
Bein Gelegenheit stelle ich die Skripte dann auch online.

... link (0 Kommentare)   ... comment


Donnerstag, 1. Oktober 2009
Primzahlberechnung
So, nach dem ich gestern (ups, es war schon vorgestern, und zwar seit vier Minuten) die verbesserte Version meines Brainfuckinterpreters online gestellt habe, wollte ich mal genau wissen, wie schnell die verschiedenen Versionen sind.
Getestet wurde alles unter ausreichend gleichen Bedingungen, auf einem Zweikern-Processor, ohne andere Programme, die das System belastet haben.
Die Zeitmessung war für die Messwerte hinreichend genau.
Ich habe also folgendes ausgeführt:
date >> stoppuhr && echo 255|brainfuck prime.bf && date >> stoppuhr
Nicht die genaueste Methode zu messen, aber es reicht. "echo 255" ist nötig, da das Programm eine Eingabe erfordert, bis zu welcher Primzahl gerechnet werden soll. Das manuell einzugeben war mir zu ungenau.
Hier haben wir die Ergebnisse:
Brainfuck-0.5 hat 5:36 Minuten gebraucht.
Brainfuck-0.6 hat 1:31 Minuten gebraucht.
Nun, das ist eine Verbesserung, auf die ich stolz sein könnte, wenn nicht... tja...
Ich habe im Netz einen BF-Compiler gefunden. In Assembler geschrieben, 170 Byte groß (im Vergleich: mein Interpreter ist 14kB groß). Nach dem compilen habe ich ein kleines Programm, das die Primzahlenberechnung in 4 (vier) Sekunden durchführt.
Naja, was soll's...

... link (0 Kommentare)   ... comment


Dienstag, 29. September 2009
Nochmal Brainfuck
Ok, ich habe es nicht lassen können, und einen etwas eleganteren Umgang mit Schleifen in meinen Brainfuckinterpreter implementiert. Ob er wirklich schneller ist, muss noch getestet werden. Mein Lieblingstestprogramm für lange Laufzeiten ist momentan ein Programm, das Primzahlen berechnet. Für Primzahlen von 1 bis 250 braucht der Interpreter auf einer 2GHz-CPU ca. zwei Minuten. Der einzige andere Interpreter, den ich bisher ausprobiert habe, war ein Interpreter in PHP auf einer Website. Hierbei hat das Programm die Laufzeit für PHP-Skripte überschritten, deswegen konnte ich nicht testen, wie es sich dort mit der Geschwindigkeit verhält.
brainfuck-0.6.tar.gz (gz, 11 KB)

... link (0 Kommentare)   ... comment


Montag, 21. September 2009
Digitale Messies
Nun, gestern wollten der Applefreak und ich eigentlich "mal eben" in einer kleinen Zeremonie auf seinem MacBook eine neue Festplatte und SnowLeopard installieren, gefolgt von einer Partie Spellforce... dumm nur, dass er über 200GB Daten von der alten auf die neue Festplatte rüberschaufeln musste. Geschätzte acht Stunden hat das zurückspielen des TimeMachine-Backups gedauert, dann war keine Zeit mehr zum Spielen, selbst zum Update sidn wir nicht mehr gekommen...

Edit 27.9.2009: Stand von gestern Abend: Time-Machine macht was es will, löscht gigabyteweise Backups, verschiebt Unmengen an Daten... ich bin froh, dass ich meine Backups noch manuell mache...

... link (0 Kommentare)   ... comment


Freitag, 18. September 2009
Brainfuck
Uff... mein Brainfuck-Interpreter ist mehr oder weniger fertig. Wer will, kann ihn herunterladen ;)
brainfuck-0.5.tar.gz (gz, 10 KB)
Features: Naja, was soll man sagen: halt ein Brainfuckinterpreter. Er kann mit praktisch beliebig langen Quelltexten umgehen (theoretisch gibt es eine Begrenzung von so vielen Byte, wie ein Integer auf der jeweiligen Plattform an Kombinationsmöglichkeiten hat), und erweitert den Speicherbereich für das "Tape" automatisch (hier ist der Speicher nur an der größe des Arbeitsspeichers des Systems limitiert). Vielleicht sollte ich noch erwähnen, dass es hier zu einem gewissen Overhead von, nun ja, 900% (bei 32-Bit-Systemen) bzw. 1700% (bei 64-Bit-Systemen) kommt.
Das Brainfuck-Programme meist klein sind, wird das aber nicht ins Gewicht fallen.

Nächstes Projekt: ein Ook2Brainfuck-Parser

... link (0 Kommentare)   ... comment


Donnerstag, 10. September 2009
Qemu
Klasse... nachdem ich endgültig genug von Vmware hatte, habe ich versucht, stattdessen Qemu zu benutzen. Problem bis jetzt: Um unter Windows 98 den CD-Rom-Laufwerktreiber zu installieren, müssen Daten von der Windows98-CD gelesen werden...

... link (0 Kommentare)   ... comment


Samstag, 29. August 2009
Benutze tiefgefrorener Hamster mit Mikrowelle
Ich habe es wieder getan. Obwohl ich mit Adventures ja eigentlich übrhaupt nicht klarkomme, habe ich "Day of the Tentacle" angefangen. Und sofort darf ich mich wieder über diese absurde Logik freuen:
-"Willst du nicht einen Baum fällen?"
-"Ich fälle nur Kirschbäume. Das ist Familientradition."
Man geht also raus und malt die Kumquats an einem Baum rot an. Dann hält der Typ sie für Kirschen und fällt den Baum.

PS: Jetzt weiß ich auch, woher die Pflanze im Lebor e.v. ihren Namen hat.

... link (0 Kommentare)   ... comment


Freitag, 21. August 2009
Brainf*ck
Es läuft!
Ich habe soeben einen Brainfuckinterpreter geschrieben. Zugegebenermaßen nichts Besonderes, aber da ich mich ein wenig in Brainfuck einarbeiten wollte, und im Portage keinen gefunden habe (wohl aber brainfuck-Syntax für vim), habe ich mir selbst einen geschrieben.
Aufgrund eines ziemlich dummen Fehlers habe ich etwas länger gebraucht, aber jetzt läuft er. Jetzt muss ich ihn nur noch etwas idiotensicherer und benutzerfreundlicher machen.

... link (0 Kommentare)   ... comment


Donnerstag, 6. August 2009
Twisted (2)
Nachdem eine meiner Kisten zeitweise nur auf ihre verdrehte Mac-Adresse gehört hat, kann man sie nun wieder mit der richtigen Adresse wecken. Einfach so? Einfach so.
Ich frage mich, wie lange das so bleibt.

... link (0 Kommentare)   ... comment