Tuesday, June 06, 2006

unter der nase weg

Ich hatte mich gestern sehr auf Half-Life 2: Episode One gefreut und habe es nachdem der download soweit fertig war das man anfangen konnte es auch gezockt, mit Kopfhörern auf denn ich war zu faul die Boxen anzuschließen. Nach drei Stunden spielspaß, ging ich nach unten wunderte mich das die Tür offen ist „War ich draußen gewesen und habe die Tür danach nicht wieder richtig zugezogen?“, warum die Kopfhörer nicht mehr auf der Tasche lagen „ hatte ich den iPod rausgenommen?“, bis es mir dann langsam dämmert das eingebrochen wurde, unter meiner Nase. Was für ein Dreckspack. Die/der Dieb war jedenfalls sehr Apple fixiert, denn es fehlen der iPod neuen Kopfhörern, Netzteil und Firewire-Kabel, das iBook mit Netzteil.

Die Polizei konnte leider nicht mehrl machen als meine Aussage aufzunehmen.

Ein schöner Feiertag, wenigstens der Abend mit 101 Reykjavik und Little Britain dann noch zum lachen.

Saturday, May 27, 2006

Same Difference / Ganz Gleich

Da les ich die SZ von gestern einen Bericht über einen Comic und denke den kennst du doch, den hast du doch schon online gelesen. Same Difference von Derek Kirk Kim [1] [2] ist auf Deutsch im Reprodukt Verlag erschienen.

Um die Rezension in der Online-Ausgabe zu lesen muß man entweder Abonnent sein, oder man liest sie auf Bücher.de

  1. Kurzbiographie
  2. lowbright.com Derek Kirk Kims Homepage

Saturday, May 20, 2006

Tagging mit iTunes

Problem: Ich habe mehrere mp3s die keine Gemeinsamkeiten haben d.h. die üblichen Tags: Album, Artist etc. sind fast alle verschieden, aber ich möchte diese mp3s finden und in einer Playlist haben. Da ich in die Tags auch keinen Mist schreiben möchte kann ich die mp3s auch nicht zb. in ein Album zusammenfassen.

Lösung:

  1. Es gibt ein Feld das mich bisher nie interessiert hat, das relativ groß ist und für frei formartierbar ist: Comment.
  2. In iTunes kann man das Feld nicht durchsuchen, aber es gibt Intelligente Wiedergabelisten, die komplexere Suchen erlauben bei denen alle Felder durchsucht werden können. Zudem wird die Anfrage gespeichert, so das wenn man eine neue Datei zu iTunes hinzufügt auch die Playlist ggf. ergänzt wird.

Intelligente Wiedergabelisten + Comment-Feld = Tagging

Wednesday, May 10, 2006

Post von der GEZ

Ich dachte bis heute das man als Privatmensch mit der GEZ keine guten Erfahrungen machen kann, aber man hört ja auch immer nur die schlimmen Sachen.

Ich hatte ich jedenfalls vor kurzem, im April, bei der GEZ endlich mal abgemeldet da mein Radio leider kaputt ist und ich seitdem kein Radio mehr höre. Man kann sich zwar online bei der GEZ anmelden etc. aber abmelden ist nur schriftlich möglich, also Formular ausgedruckt und mit einem normalem Brief abgeschickt. Erwartet hatte ich das noch eine Rechnung für das nächste Quartal kommt und danach entweder eine Bestätigung oder gar ein „ne so kommen sie nicht davon“. Als ich heute den Brief aufmachte und unter der Bestätigung noch einen Scheck fand war ich dann doch sehr überrascht.

Sunday, May 07, 2006

Die Rückseite der Reeperbahn

Noch eine: Matt Wagner, seines Zeichens Musikjournalist aus dem Herzen der Stadt: St. Paul Seilerstraße. Interessante Geschichten vom Kiez. Ich wühle mich gerade durch das Archiv.

Wednesday, May 03, 2006

parser generator

The ECLM2006 convinced me to start working on my parser generator again, and after lots of grammar-debugging it is “done”. Well done in the sense that it successfully parses the grammar of the grammars it is supposed to accept. The parser had just one bug, it was mainly the grammar which needed debugging. It is however totally unoptimized and not well tested. Creating a parser in SBCL takes unbearable long, which I guess is due to SBCLs compile-everything strategy. In CLISP and CMUCL creating a parser takes almost no time and compiling the created parser is a lot faster than in SBCL.

Documentation & Download.

Sunday, April 23, 2006

Blogempfehlung

kompilieren geht über studieren: Auf das Blog bin ich beim Suchen nach meinem blog (blöde Anke) gestoßen und dachte zuerst es wäre ein weiteres Hamburger Informatiker Blog, aber Sie kompiliert dann wohl doch andere Sachen. Zum Blog selbst möchte ich garnicht so viel sagen, nur daß es eine große musikalische bereicherung für mich ist, besonders da ich weder Funk- noch Internet-Radio höre, und mir somit fast nie etwas neues in die Ohren dringt.
PS: Zudem kann sie den Nachnamen von Mr. Zulu richtig schreiben: Takei.

Wednesday, April 19, 2006

PHP Wishlist

  1. A modified phpxref which can save its data, so the whole tree ist just parsed once and subsequent calls only parse the files which changed.
  2. Improved support for showing the argument list in emacs, specifically showing the arglist of builtin functions.
  3. Better Syntactic support for lambda-functions, something like Javascripts function () { ... }. because writing a function within a string simply sucks. Feels a lot like eval. And while we are at it: Closures.

Α is difficult for me as phpxref is written in perl, a language which seems to love implicity and side-effects, and is neither well structured nor properly documented. Nonetheless i'm trying.

Β is something i've been planning to do for a long time, but i haven't done any work to find out how to extract that information from the documentation. Anyways, setting up emacs to show the html docs within emacs is more important/easier to/for me.

Γ is wish where others can do better me.

Tuesday, April 18, 2006

php-mode.el

php-mode now comes in syntax-checking flavour, at least if you have the cli version of php installed (type php --version in a shell, you should get something like PHP 5.0.5-2 ...)

You can press F12 the check the syntax of the current buffer, or put the following code into you .emacs file to do a syntax-check after saving a php file.

;;; perform syntax check after saving a php file
(defun php-check-syntax-hook ()
(when (string-match "\.php$" buffer-file-truename)
  (php-check-syntax)))

(add-hook 'after-save-hook 'php-check-syntax-hook)

download php-mode.el

Sunday, April 09, 2006

Bücherregal

Ich bin zu faul die Bücherrücken jetzt zu scannen also nur eine Liste:

  • Structure and Interpration of Computer Programs; Abelson, Sussman
  • Gödel, Escher, Bach; Hofstadter
  • Wealth of Nations; Smith
  • Simplify your life; Küstenmacher

Den Jänich habe ich durchgelesen und die Prüfung bestanden, das Compilerbuch ist vorerst auf später verschoben und in der Warteschlange ist noch Getting Things Done von David Allen.

Bei Getting Things Done und Simplify your life geht es im Prinzip um das gleich wie im Antiverpeil-Howto. Das eigene Leben etwas mehr auf die Reihe zu bekomme und wichtige Aufgaben endlich mal zu erledigen.

Tuesday, March 14, 2006

Zwei Honecker-Witze

Was ist der Unterschied zwischen Honecker und einem besetztem Telefon?
Keiner, einfach aufhängen und neu wählen.

Honecker öffnet am Morgen das Fenster seines Büros, freut sich über die strahlende Sonne und sagt "Guten Morgen liebe Sonne" und die Sonne antwortet "Guten Morgen Erich".
Mittags öffnet Erich wieder das Fenster und sagt "Guten Mittag liebe Sonne" und die Sonne antwortet "Guten Mittag lieber Erich".
Es ist Abend und Honecker öffnet wieder das Fenster und sagt "Guten Abend liebe Sonne", aber die Sonne antwortet nicht, "Guten Abend liebe Sonne", aber die Sonne antwortet wieder nicht. "Guten Abend liebe Sonne, warum antwortest du nicht?". Da sagt die Sonne "Ach leck mich am Arsch, ich bin jetzt im Westen"

Wer diese Witze in nächster Zeit wieder Hört hat vmtl. eine gute Wahl getroffen.

Sunday, March 12, 2006

Rein, Raus, Computer Aus

Ich habe mir letzte Woche eine neue Festplatte gekauft, denn zum Brennen & Archivieren war es nötig geworden Daten die ich nicht unbedingt brauchte auf DVDs zu bringen. Mit der neue Festplatte hatte ich nicht nur die Platzprobleme gelöst sondern auch die Möglichkeit Ubuntu zu installieren, ohne das ich das bestehende Debian System anfassen muß.

Also Ubuntu DVD Image geladen & gebrannt. Die Installation verlief sehr flüssig, bis zum Neustart, der ging in die Hose. GRUB meldete Error 21. Also neustart mit DVD, Live-Image gestartet und gegoogelt. Letztendlich liegt es wohl daran das GRUB keine Zugriff auf meine neue S-ATA bekommt und deswegen alles fehlschlägt weil auf der Platte auch die Daten für GRUB liegen. Letztendlich habe ich den Linux-Kernel für Ubuntu auf der Debian-Installation untergebracht und muß nun bei Updates den Kernel immer kopieren. Das mit der Installation war nervig, aber nun gut es läuft und ich habe ein bischen über GRUB und co gelernt.

Was mir aber eben passiert ist war dann doch sehr großer Mist. Der Rechner reagierte erst langsamer, später garnicht mehr. Nach einem Neustart meinte er dann Es gäbe keine System-Partition mehr. Uh-oh!? Alles weg? Würde mich sehr wundern, es sei denn die Platte hat den Geist aufgegeben oder jemand hat mein System gehackt. Aber Linux passt sich an Herrschende Verhältnisse an, also Neustart, Debian. Das meckert beim booten auch rum das die Ubuntu Partition nicht existiert, aber die braucht es ja nicht. Hm, die S-ATA platten hängen softwaremäßig als SCSI-Platten im System, genauso wie USB-Geräte wie Memory-Sticks oder iPods, und ich hatte meinen im Rechner stecken, also abgezogen und die Ubuntu-Partition mounten, klappt, Neustart Ubunto ohne USB-Stick geht auch. Bleibt nur die Angst, daß wenn ich den USB-Stick wieder anschließe mein Ubuntu wieder flöten geht.

Monday, March 06, 2006

Die beste Ausrede

Die BILD zu lesen:

Ich gestehe, ich lese die BILD, aber nur weil ich sonst die Zusammenhänge auf Bildblog.de nicht verstehe.

Jolas Welt, nähe S-Hasselbrook.

Next Blog

Oder: Wie identifiziert man Spam-Blogs.

Am Anfang habe ich die Blogger-Bar nicht wirklich gemocht, erstens empfand ich sie als nutzlos, zweitens hat sie mein Layout zerschossen und auf einem Ausdruck macht sie sich auch nicht gut. Aber sie gehört halt zum Blog, schließlich bezahle ich nichts dafür, man kann sie mit ein paar Tricks deaktivieren, fänd ich aber nicht fair.

Das einizge was ich von ihr nutze ist der „Next Blog“ Link, manchmal finden sich dort auch interessante Blogs, ist ein bißchen Zappen beim Fernseher, viel Mist, vereinzelt Interessantes, ausländische Sender und leider auch Werbung, hier Spam-Blogs. Ich will sie nicht und Blogger/Google will sie auch nicht. Zur erkennung setzt Blogger einen Algorithmus ein der sich Blogs anschaut und dann vermutlich anhand der Links und des Textes entscheidet ob Spam oder Ham, sehr gut schein der Alg. aber nicht zu sein, mein Blog musste ich letztens wieder von Spam zu Ham erklären lassen.

Und jetzt kam mir beim Browsen eine Idee wie man den Algorithmus verbessern kann: Die Seiten die kritisch sind, d.h. der Algorithmus kann nicht recht entscheiden ob ein Blog Spam ist oder nicht, werden von einem Menschen bewertet. Da das aber ein langweiliger Job ist und für Blogger wahrscheinlich ein schlechtes Kosten/Nutzen Verhältnis ist extra jemanden dafür zu bezahlen, macht man sich Blogleser zu nutzen und leitet sie über „Next Blog“ auch auf ein Paar dieser kritischen Blogs weiter, diese können dann auch über die Blogger-Bar das Blog flaggen. Wenn man sie nicht auf zu viele Spam-Blogs los läßt merkt der Benutzer davon wahrscheinlich nicht mal was, denn Spam gibt es im Internet immer mal wieder. Wenn ein Benutzer aber besonders gut ist, d.h. viele richtige Entscheidungen trifft, möchte man sich das vielleicht auch zu nutzen machen und er trifft auf mehr Spam-Blogs die er auch alle flaggen soll, das ist dann aber für den Benutzer beschiss denn er erwartet nicht für Blogger einen Drecksjob zu erledigen sondern interessante Blogs zu lesen und nun wird er für seine gute Arbeit sozusagen noch bestraft.

Ich weiß nicht was Blogger mit den Flags anfängt, noch weiß ich wie das nächste Blog ausgewählt wird, aber mich würde es sehr wundern wenn nicht mindestens die Flags zum Erkennungs-Algorithmus gehören.

Sunday, March 05, 2006

Die letzten Zehn

Filme:

  1. In Good Company
  2. Punch-Drunk Love
  3. Transporter 2
  4. Sin City
  5. Adaption
  6. Secretary
  7. Die Fetten Jahre Sind Vorbei
  8. Zathura
  9. Abgezockt
  10. Walk The Line

Nur ein kurzer Kommentar zu In Good Company (de: Reine Chefsache) mit Spoilern.

Was micht am Ende ein bißchen gewundert hat ist das Carter am Ende nicht das erwartete (Frau und Job) hat, keine Statussymbole, kein Porsche. Man sieht ihn wie er am Strand joggt und sich über die Geburt der dritten Tochter seines ehemaligen Arbeitskollegen freut. Das erweckt den Eindruck in mir, daß er sich von seinem altem Job völlig getrennt hat und statt auf einem Laufband zu joggen, „richtig“ anfängt zu leben/laufen.

Das ist mein Trinken

Dem Zwiebelfisch sei Dank, denn er macht uns auf einen großen Mißstand in Deutschland aufmerksam und bietet praktische Abhilfe in seiner Kolumne bei dem Spiegel. Wir Deutschen habe es verlernt richtig zu schreiben, wir machen in allen Bereichen der Orthographie große Fehler. Das ist nicht meine Meinung, aber das kommt bei mir rüber wenn ich den Zwiebelfisch, diverse Blogs & deren Kommentare lese.

Der Fisch und seine „Anhänger“ gehen von einem Idealzustand aus: Es gibt eine verbindliche Vorschrift für korrektes Schriftdeutsch. Dies halte ich nicht für gänzlich falsch, denn der Duden ist für Behörden (ua. Schulen) verbindlich, aber für sehr realitäts- und lebensfern. Der Duden und sein Verbindlichkeit für die Behörden ist sinnvoll, denn dadurch wird es dem Bürger, der des Lesens mächtig ist, ermöglicht, offizelle Dokumente zu lesen und zu verstehen. Aber dies sehe ich als einzigen Grund für die Verbindlichkeit des Dudens, dem Bürger die Möglichkeit zu geben das Staatswesen nachvollziehbar und kritisierbar zu machen. Daraus allerdings abzuleiten das die Sprache eingefroren und unveränderlich ist, dem Regelwerk einen Status zu geben der über den Menschen steht, die diese Sprache benutzen, halte ich für falsch. Es hat gewiß Vorteile starre Vorschriften einzuführen, aber genauso gewiß sind die Nachteile allen Menschen vorzuschreiben was sie machen dürfen und was gefälligst nicht.

Niemand kann eine Sprache alleine beherrschen, sie kontrollieren, denn sie wird von allen zur Kommunikation benutzt und jeder bringt seine Eigenheiten mit ein. Ich halte Sprache für eine lebendiges Subjekt das sich mit und vor allem durch die Menschen entwickelt. Wenn es sich nicht entwickeln würde, sprächen wir wohl alle die gleiche Sprache, aber Neues ließe sich nicht durch die Sprache erfassen, mit neuem meine ich nicht nur neue greifbare Objekte, sondern auch neue Lebensumstände, Situationen. Eine der Möglichkeiten Neues zu beschreiben ist Begriffe zu benutzen die vergleichbares beschreiben, und wenn sich Begriffe einer Gruppe nach Schema XY verhalten (bzw. flektiert, benutzt werden) dann wird sich der „neue“ Begriff wahrscheinlich auch an das Schema „anpassen“.

Damit bin ich dann auch bei dem Grund für diesen Eintrag, „Trinken“ als Nomen (Verb „zu trinken“) statt Getränk mag ungewöhnlich klingen, weil es neu/nicht so verbreitet im Gebrauch ist, aber es hat unbstreitbar parallelen zu „Essen“ (zu essen). Auch wenn es noch nicht im Duden stehen mag, die Chancen stehen dafür, meiner Meinung nach, nicht schlecht, denn Der Duden ist zwar eine Vorschrift aber auch eine Beschreibung dessen was benutzt wird. Er beschreibt die deutsche Sprache, damit die, die ihn benutzen, sich verständlich, für die die Sprache benutzen, verständlich ausdrücken können.

Shoblogger: Eindeutige Einkaufslisten

Thursday, February 23, 2006

Die Gebrechen anderer Leute

Verstopfungen - Kein Thema für ein Partygespräch“ - Überschrift eines Kapitels eines Buches eine ältere Dame mit ihrer Leselupe in der StaBi las.

Monday, February 20, 2006

Perfektes Deutsch

Ich verlange aber nur von Ihnen, wenn sie perfekt Deutsch sprechen wollen, ohne eine Spur von jiddischem Akzent, den Humor wegzulassen

Schmecht in Der Zug des Lebens

Tuesday, January 03, 2006

On the Face

Als Christ entwickelt man ein allgemeines Interesse an Israel, besonders als deutscher Christ.
On the Face ist das Weblog von Lisa Goldman aus Tel Aviv. Lisa ist eine Kanadische Journalistin die seit einigen Jahren in Israel lebt. Israel ist aus zwei Gründen interessant, einmal aus religiösen Gründen als Heimstätte der Juden und des Wirkungstätte Jesus und aufgrund des dauerhaften Konfliktes zwischen Israel und Palästina. Ich bin nicht sehr mit dem Jüdischen Glauben vertraut und schon garnicht mit dem praktischem, gelebtem Glauben. Mit dem Konflikt bin auch nur oberflächlich vertraut, zum einen filtern die Medienberichte sehr viel und bietem einem nur eine eingschränkte Sicht und von dem täglichem Leben wenig bis garnichts. Lisas Blog liefert natürlich auch nur ein kleines Bild von dem Leben in Israel aber es ist eine interessante und lesenswerte Perspektive. Als Einstieg sind die sechs Teile von „How Lisa Came to Israel” zu empfehlen, man findet sie rechts oben über der Blogroll. Der einize „Haken”an diesem Blog ist das Lisa auf Englisch schreibt, in gewisserweise auch ein Vorteil, Hebräisch wurde ich wiederum nicht lesen können.

Tuesday, December 27, 2005

Sicherheitsvorkehrungen

Zwei Dinge die ich auf meinen letzten reisen gelernt habe. Man sollte nicht versuchen mit einem Taschenmesser durch die Sicherheitskontrollen am Flughafen zu kommen, und wenn man es doch tut sollte das Handgepäck aus einer verschließbaren Tasch bestehen aus der nichts rausfallen kann wenn sie zu ist. Sonst kann es leicht passieren das man das das Handgepäck mit Messer einchecken muß und die Tasche zwar ankommt aber das Messer irgendwie verschwunden ist. Sollte eigentlich selbstverständlich sein, und auf dem Hinflug habe ich auch daran gedacht und das Messer in die große reisetasche gepackt, aber auf dem Rückflug habe ich das Messer einfach in der Hosentasche vergessen.

Der zweite Hinweis betrifft Militärausrüstung, Klamotten und Taschen insbesondere Rücksäcke. Ansich stellen die zwar für keinen eine Gefahr dar, aber unbedenklich scheinen sie nicht zu sein. Denn man kommt damit nicht überall so leicht rein, zb. in die Dohány Synagoge. Wenn man dann niemanden hat der draußen vor der Synagoge auf den BW Rucksack (oliv) aufpaßt oder man nach kurzer einer kurzen Diskussion nicht doch reingelassen wird hat man pech. Vielleicht war es auch die Kombination Deutscher & BW Rucksack, ich weiß es nicht. Aber schön anzusehen und interessant ist die Synagoge auf jedenfall.

Tuesday, December 13, 2005

Mailboxing

Ein Bericht über die CLINCH-Mailbox von 1986. Ach ja damals, als ein 14.4 Baud Modem noch irre schnell war. Ohne Mailboxen hätte ich wohl einige Shareware Klassiker nie bekommen, Keen läßt grüßen.

gefunden bei foobla

Tuesday, December 06, 2005

Warten

Erst verschlafe ich und träume von Terminatoren die mich verfolgen, dann ruft jemand im Treppenhaus, ich werde wach, ganze zwei Stunden später als geplant. Das wäre nicht ganz so schlimm wenn das Wasser nicht abgestellt worden wäre. Jetzt bringt eilen nichts, ich beschließe abzuwarten und erstmal Frühstück zu machen. Zwei Schnitten Schwarzbrot, eine weniger als sonst, aber im Schrank findet sich nur noch eine Schnitte. Also gibt es Schokomüsli, das ich mir zum Glück Samstag gekauft habe. Ich hoffe das Wasser fließt bald wieder

Saturday, December 03, 2005

Aufgrund von Beschwerden

... hier wäre zu wenig los, nun ein kleiner Quiz: Dieses Bild anschauen und alle Bandnamen nennen. Ich komme bisher auf 12 von ca. 60.

Gefunden bei die Bitter Lemon Religion

Edit: Bands die ich gefunden habe, bitte ergänzen

Monday, October 24, 2005

Semesteranfang

In Hamburg ist Heute, nur um das mal so zu dokumentieren. Mein erster Tag fängt mit “Die uralische Sprachfamilie und die kleineren uralischen Völker” an, der Rest wird mit Kryptik gefüllt: DKR und WBS.

Thursday, September 22, 2005

Get everything done before 33

Jack Black:
It’s the landmark year. I’m a Jew. Thirty-three is when Christ died. So though I’m a Jew, in the back of my mind I still think that I gotta get it done before I’m thirty-four because well, I don’t know why. He got it done before He was thirty-four.

Tuesday, September 20, 2005

Bücherregal

Bücher die ich momentan lese:

Structure and Interpretation of Computer Programs; Abelson, SussmanCompilerbau Teil 1;Aho, Sethi, UllmannLineare Algebra; Jänich

Vorbereitung für die Matheprüfung.

Sunday, August 28, 2005

Bücherregal

Bücher die ich momentan lese:

Structure and Interpretation of Computer Programs; Abelson, SussmanCompilerbau Teil 1;Aho, Sethi, Ullmann

Language habe ich jetzt endlich nach zwei Semestern durchgelesen. Jetzt kommen Mathe-Skripte und Bücher dran.

Tuesday, August 09, 2005

Katzen-Content

Mein erster Katzen-Content:

Monday, August 08, 2005

Die Wand

Die Wand aus Gegen die Wand

Gestern den Film gesehen und bei dem Praktikantenbericht gedacht “Die Wand kennst du doch”. In der nähe ist eine Katine, die ich aber nicht empfehlen kann. Am Berliner Tor gibt es mehr Auswahl für weniger Geld.

Monday, August 01, 2005

Dosierhilfen

Weil man mit Google die E-Mail Adresse für Dosierhilfen von Unilever (Sunil, Coral) nicht findet:

ud.dosierhilfen@unilever.com

Nicht vergessen die eigene Adresse anzugeben, sonst gibts kein Päckchen

Wednesday, July 27, 2005

Parser-Generator

Am Samstag habe ich mir überlegt habe wie ein Fragebogen aufgebaut sein soll und mir dazu eine CF-Grammatik aufgeschrieben, dabei kam mir die Idee einen Parser dafür zu schreiben. Ich habe zuerst die Grammatik in Lisp notiert, wollte dann anfangen die Funktionen zu schreiben, bis mir auffiel das ich ja auch die Grammatik selber parsen und einen Parser-Generator schreiben kann. Jetzt ist das Ding fertig und scheint zu funktionieren, ich habe es noch nicht mit der Fragebogen-Grammatik getestet.

Die Fragebogen-Grammatik:

   ((fragebogen  (+ gruppe))
    (gruppe      ueberschrift (+ element))
    (element     (+ (/ text area checkboxen radios)) frage)
    (checkboxen  (+ checkbox antwort))
    (radios      (+ radio antwort))
    (ueberschrift "<h2>" (+ zeichen) "</h2>")
    (text "<input type=\"text\" name=\"" (+ zeichen) "\">")
    (area "<textarea name=\"" (+ zeichen) "\"></textarea>")
    (frage (+ zeichen) "?")
    (radio "<input type=\"radio\" name=\"" (+ zeichen) "\" value=\"" (+ zeichen) "\">")
    (checkbox "<input type=\"checkbox\" name=\"" (+ zeichen) "\" value=\"" (+ zeichen) "\">")
    (antwort (+ zeichen))
    (zeichen (/ "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"
                "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"
                "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
                "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
                "Ä" "Ö" "Ü"
                "ä" "ö" "ü"
                "0" "1" "2" "3" "4" "5" "6" "7" "8" "9"
                "ß" "-"
                "\n" "\t")))

Das Herzstück des Parser-Generators:

(defmacro parse-production (production)
  (let ((results
         (loop for thing in production
            collect
            (if (listp thing)
                (cond ((eql '/ (car thing))
                       `(parse/ ,(cdr thing)))
                      ((eql '+ (car thing))
                       `(parse+ ,(cdr thing)))
                      ((eql '* (car thing))
                       `(parse* ,(cdr thing)))
                      (t
                       `(parse-production ,thing)))
                (cond ((stringp thing)
                       `(literal stream ,thing))
                      ((atom thing)
                       `(,thing stream)))))))
    (if (= (list-length production) 1)
        (car results)
        `(progn ,@results))))

Code: grammatik.lisp

php-mode.el

Jetzt mit rudimentärer Unterstützung zum anzeigen der Signatur. klingt blöd. C-. um die Parameter/Arglist eine Funktion zu zeigen.

php-mode.el

Tuesday, July 26, 2005

Social Problems of a Lisper

IncreduLISP versucht LISP (Common Lisp) zu verbessern, und fängt an mit einer neuen Syntax. Klar Klammern sind mist, nicht ohne Grund steht LISP für Lots of Irritating Superflous Parentheses und wenn wir schon mal dabei sind, die meisten Funktionen sind viel zu lang, also def statt defun (und was ist mit defclass, defstruct? Egal unwichtige Details), dazu noch ein ~ mit einem magischen, intuitivem N das die nächsten N Chunks einliest.

Aber weil die neue Syntax für Listen etwas schwer zu lesen sein kann (a:b,c ist (a b c) aber a:b:c,d ist nicht (a (b c)) sondern (a (b) c). Korrektur: Zu ((a)) gibt es kein mögliche Übersetzung ((a)) == a:: was wahrscheinlich angenehmer für Leute ist die von Rechts nach Links lesen) Sind Klammern trotzdem noch erlaubt. Das ganze ist nur eine alternative Syntax.

Aber das ganze ist auch egal, denn er weiß selber nicht was er will:

A major goal of this language is to have an incredibly terse syntax. It should be well-nigh unreadable: that is the point.

I would not advise using it that much in real programming.

Meiner meinung nach ist dieser sehr “smarte” Mensch einfach nur ein Troll, bleibt nur noch zu sagen:

Don't feed the troll

Saturday, July 23, 2005

Pornographisch Programmieren

J. McCarthy Zitate aus „LISP - Anwendungsgebiete, Grundbegriffe, Geschichte“ von H. Stoyan

zu NIL und NULL:

Außer der Ermutigung pornographischer Programmierung hat die Zuordnung einer speziellen Bedeutung zur Adresse 0 in allen darauffolgenden Implementationen Schwierigkeiten gemacht

Zu S. Russels Entscheidung EVAL zu implementieren:

Steve Russel sagte, ‚Gib mal her, warum sollte ich nicht dieses EVAL programmieren … ? ’, doch ich antwortete ihm, ‚Ho ho, du verwechselst Theorie und Praxis, denn dieses EVAL ist zum Lesen gedacht und nicht fürs Rechnen …’

Ich verstehe das mit pornographischer Programmierung zwar nicht, aber dennoch sind beide Zitate Amüsant. Zu EVAL sei noch gesagt das es damals nur eine Definition auf Papier und keinen Compiler gab (u.a. weil Compilerbau noch kaum erforscht war)

Friday, July 22, 2005

Bücherregal

Bücher die ich momentan lese:

Structure and Interpretation of Computer Programs; Abelson, SussmanLanguage; BloomfieldCompilerbau Teil 1;Aho, Sethi, Ullmann

Useless Trivia: Bücherrücken werden in englischsprachigen Ländern immer von oben nach Unten beschriftet, in Deutschland so wie es einem gefällt.

Friday, July 15, 2005

Schöne Ferien

Die letzten Tage waren etwas stressig, aber jetzt ist's schön. Mein dritter Antrag ist genehmigt worden, ganz ohne Sprachkurse versteht sich. Damit konnte ich diese Woche auch die Prüfungen in Finnougristik machen, die ich auch erfreulicherweise (trotz Civ 3 spielen) bestanden habe. Nach einer M2/3 Prüfung, die ich für September plane, ist dann auch das Thema Vordiplom abgehakt.

Thursday, June 23, 2005

Star Wars I-III

Das ich die Filme habe ist zwar schon länger her, aber man braucht ja Zeit zum Nachdenken.

  1. Anankin mochte ich nie, schon als Kind war er ein neunmalkluger (eigenen Roboter gebaut)
  2. Auch als er älter wurde, war er noch immer ein Kind (Ich will aber …)
  3. Darth Vader aus IV-VI und der aus III sind für mich getrennte Personen. Die Vorstellung das hinter dem „coolen” Vader, der mysteriös und furchteinflößend ist, die dickköpfige Nervensäge Anakin steckt ist schrecklich.
  4. Luke ist cooler als Anakin, denn er kämpft als Land-Ei gegen einen übermächtigen Vader und hat zudem mehr Respekt vor seinen Meistern.
  5. Han Solo & Leia Organa & Luke Skywalker sind ein Trio in dem alle wichtig und interessant sind. Das Duo Obi-wan Kenobi und Anakin Skywalker aus II & III ist kein wirkliches.

Sunday, June 12, 2005

Es war kalt

Altona Bhf

… Texte und Gesang gut, Bier auch kalt und der Kuchen wie immer lecker.

Thursday, June 09, 2005

tai eli vai

Die drei oder im Finnischen: tai vai und eli. Während ich mir eli noch gut merken kann verwechsle ich gerne tai und vai.

tai: Haluatko kahvia tai teetä? ‘Möchtest du Kaffee oder Tee?’ tai = entweder oder, logisches XOR

vai: Saatko kahvian kanssa sokerin vai kerran? ‘Bekommst du Kaffee mit Zucker oder Milch’ vai = 1 oder 2 oder beides, logisches OR

eli: Tämä on ruusu eli kukka ‘Dies ist eine Rose oder/bzw. eine Blume’

Monday, June 06, 2005

php-show-arglist

Improving the support for php in emacs, shows the argument list for a function in the minibuffer.

php-get-pattern can be found in php-mode.el

(defun php-show-arglist ()
  (interactive)
  (let* ((tagname (php-get-pattern))
         (buf (find-tag-noselect tagname nil nil))
         arglist)
    (save-excursion
      (set-buffer buf)
      (goto-char (point-min))
      (when (re-search-forward
             (format "function[ \t]+%s[ \t]*(\\([^{]*\\))" tagname)
             nil t)
        (setq arglist (buffer-substring-no-properties
                       (match-beginning 1) (match-end 1)))))
    (if arglist
        (message "Arglist for %s: %s" tagname arglist)
        (message "unknown function: %s" tagname))))

Sunday, June 05, 2005

Weiße Streifen

Darauf freue ich mich schon. Es klingt stark anders als die anderen Alben, aber es finden sich auch Songs nach vertrauter Art auf dem Album.

Abusing Amazon images

Tuesday, May 17, 2005

verpennt

„Man, scheiße, wenn ich noch weiter döse, dann verpenn ich noch alles.“ Dachte ich heute morgen und sprang auf, da klingelte der Wecker. Dabei war ich mir sicher den heute schon mal ausgestellt und mich wieder ins Bett begeben zu haben.

Saturday, May 14, 2005

Burnqvist

Hm, Blogger.com jetzt wohl auch Deutsch. Das macht es für Karsten leichter, der jetzt auch angefangen hat zu bloggen. Herzlich willkommen in der Blogosphäre.

Friday, April 29, 2005

cult7: Deine Spuren im Sand

  1. Wo versorgst Du Dich mit dem täglichen Lacher?
    pvponline, Penny Arcade Scarygoround Questionable Content Diesel Sweeties Waspsisquare
  2. … und wo, mit der täglichen Portion Nachrichten?
    Spiegel
  3. Jugendsünden hervor holen: Welche Seite war Deine erste selbstgemachte Internet-Seite?
    Die gibt es zum Glück nicht mehr. Hatte ein ganz tolles Layout mit einem Lila/Gelben Menü mit mouseover und auf einigen Seiten war auch eines der beliebten "Under Construction"-Männchen zu sehen.
  4. Wer hat Dich zum ersten Mal ins Internet gebracht?
    T-Online mit dem Rechner meines Vaters.
  5. Welche Community besuchst Du täglich?
    FB18 Das studentische Forum meines Fachbereiches an der Uni.
  6. Auf welche Website kannst Du nicht mehr verzichten?
    Die ganzen Weblogs die ich lese.
  7. Und welche Website willst Du Deinen Besuchern sonst noch empfehlen?
    Lambda The Ultimate, eine kleine aber feine Seite über Programmiersprachen/-paradigmen.

von cult 7

Sunday, April 24, 2005

Pen & Paper

Eines der nützlichen Dinge, die ich im letzten Sommersemester bei den Prüfungsvorbereitungen gelernt habe, ist mit Papier und Bleistift zu arbeiten. Daraus habe ich mir die Regel abgeleitet, immer genug Bleistifte und Schmierpapier rumliegen zu haben.

Für mich haben Papier und Bleistift (P&B) den Vorteil, daß ich das Gefühl habe, damit verschwenderisch umgehen zu können und mich so mehr auf die Arbeit konzentrieren kann. Da ich die meisten Sachen um Lesen ausdrucke, habe ich sehr viel Papier rumliegen. Bleistifte sind nicht sehr teuer, können nicht auslaufen, schmieren und mit dem Radiergummi, obwohl ich es eher selten benutze und stattdessen durchstreiche, kann man Fehler korrigieren. Beides ist im Gegensatz zu Computer & Notebook leicht und mobil.

Aufsätze schreibe und überarbeite ich auch mit P & B. Erst schreibe ich einen Teil auf Papier, tippe es ab und drucke es dann aus. Die gedruckte Form ist leichter zu lesen, ich kann meine Fehler besser finden, weil es zwar der gleiche Text ist aber in einer anderen Form und beim Abtippen muß ich den Text nochmal lesen und kann schon ein paar Sachen revidieren. Den gedruckten Text lese ich dann nochmal durch, korrigiere Rechtschreibfehler im Text, verbessere den Stil und schreibe auf der Rückseite Ergänzungen bzw. weiter.

Inspiriert zu diesem Text hat mich das Weblog 43Folders das vor allem für den Hipster PDA bekannt ist.

Tuesday, April 12, 2005

Zombies im Kaufhaus

Walter Benjamin brachte uns mit seinem „Passagen-Werk” bei, wie man sich selbst beim Abschreiten einer Kühltheke als dekadenter Dandy fühlt. George A. Romero impfte uns mit seinem Film „Zombies im Kaufhaus” ein gesundes Mißtrauen gegen träge Kundenmassen ein. Und das frühe Videospiel „Pacman” lehrte uns, das dreidimensionale Labyrinth aus Regalwänden ohne Angst vor plötzlich auftauchenden Hindernissen zu durchquere

aus FAZ: „Einzelhandel: Was ist nur aus dem Konsumterror geworden?“

Sunday, March 27, 2005

Rückblick, Reinschaun, Vorschau

Seit einer Zeig schaue ich mich in der Blogszene um und entdecke mehr und mehr Blogs deren Autoren in Hamburg leben aber schon auf die dreißig zugehen. Da ist Herr Paulsen, Don Dahlmann, Sebas und Anke. Alles nette Herren und Damen die sehr meist amüsantes oder anderweitig lesenswertes schreiben.

Einer von denen organisiert zudem Kaffee.Satz.Lesen in den Baderanstalten, wo ich mich letzte Woche zum ersten mal einfand. Nach fünf Stockwerken Treppensteigen betrat ich in einen sehr urigen Raum, der zur Hälfte aus einer Tribüne bestand auf der nur noch sehr wenige Sitzplätze frei waren. Ich setzte mich sehr ungünstig hin, sah viel von der Säule die mitten im Raum steht und wohl die Decke trägt. Das macht mir aber nicht sehr viel aus denn es ging ja um das hören der Vorträge, wenn ich meinen Kopf etwas zur Seite bewegte konnte ich die Autoren doch noch ein bischen sehen. Hinter dem Vortragsraum befand sich das Café, in diesem gab es eine nicht geringe Auswahl an exquisiten Kuchen sowie Wein, Limonaden und Kaffee. Da meine Begleitung fastete aß ich den Kuchen allein, Birne-Schokolade.

Zu hören gab es Geschichten über lesbische Paare beim Asiaten, Pinkeln nach der Sauna, ein sterbendes Hotel und nächtliche Anrufe: „Alles löschen“. Bis auf das Hotel gab es viel zu lachen, so daß ich mir vorgenommen habe am vierten Sonntag das Monats immer Kuchen essen zu gehen.

Galore ist eine Interviewmagazin, das ich wegen der Judith Holofernes, die auf dem Cover zu sehen ist, gekauft habe. Das ist wirklich sehr schön sich nur auf Interviews zu konzentrieren, es gibt zwar noch ein Editorial, Lesebriefe, kurze CD, DVD und Buchrezensionen. Aber die sind nur am Rand. Zu den Interviews gibt es sehr große Bilder der Personen. Was bei Judith und Eva Padberg ein besonderer Augenschmauß ist.

In Dummy habe ich noch garnicht reingeschaut, aber ich habs auch wegen des Covers gekauft. Ein Rotes pixeliges Bild, in der Mitte steht Sex und darum dreht sich die gesamte Ausgabe. Das Bild stellt einen Bauch dar, oben der Nabel unten Haare, und etwas anderes das ich noch nicht ausmachen konnte. Ist nicht gerade billig mit sechs Euro, aber erscheint auch nur vierteljährlich. Nennt sich Gesellschaftsmagazin, was das heißen soll werde ich wohl hoffentlich nach der Lektüre rausfinden.

Wednesday, March 09, 2005

Zwei Wochen

Mit Faulheit und aber auch Neugier gehe ich die letzten beiden Wochen der Semesterferien an. Eine Finnisch- und einen Matheprüfung stehen an, für die ist noch nichts gelernt ist. Es gibt ja noch andere interessante Dinge die gelesen werden wollen: SICP, The Humble Programmer, A Penetration Analysis of the Michigan Terminal System, The Watershed Transform: Definitions, Algorithms and Parallelization Strategies und mehr. Das letzte Paper muß ich lesen, der rest ist bis auf SICP recht kurz, es sollte also schaffbar sein. Wenn es doch nichts wird ist es auch okay, schließlich lese ich das rein aus eigenem Interesse.

Dann muß ich noch ein Referat über "Blackboard Architekturen" schreiben, das ist seit über einem Jahr fällig, ich hoffe ich bekommen den Schein dennoch.

Nachtrag zu "Verliebt sein": Ein Korb ists geworden.

Prädikat sehr wertvoll: Sohpie Scholl - Die letzten Tag
Nicht leicht zu verdauen: Das Meer in mir

Wednesday, February 09, 2005

Erkältung

Eine schrääkliche Erkältung habe ich mir am Montag geholt, da hilft nur warm einpacken, Milch mit Honig und Carla Bruni lauschen. Ich verstehe sie zwar nicht (als ich die Wahl hatte war mir die Tote Sprache lieber), aber es kommt mir bei Musik selten auf den Text an, Hauptsache das Ohr ist entzückt.

Eigentlich hatte ich gehofft auch eine CD von Nina Gordon im Laden zu finden und anzutesten, leider war sie aber weder bei Independent noch Rock/Pop zu finden. Nun denn, dann ich halt nur mit einer Frau nach Hause.

Saturday, February 05, 2005

Kulturtrip

Momentan bin ich auf dem Kulturtrip, Theater, Musical, Oper, Konzerte und Lesereihen.

Für das Musical mußte ich mich nich weit vor die Tür wagen, Tanz der Vampire findet ja praktischerweise bei mir vor der Haustür statt. Leider ging ich aber mit zu hohen Erwartungen in die Flora. An einem Musical soll wohl eher die Performance begeistern und die Geschichte nur einen Grund für Kostüme und Gesang liefern. Ich war also etwas enttäuscht und vermisste die Moral der Geschichte.

Richtig auf den Geschmack bin ich aber erst bei der Generalprobe von „Amys Welt“ im Ernst Deutsch Theater gekommen.

Donnerstag war ich dann, wie schon angekündigt in Onegin. Mein erstes mal in einer Oper. Das Stück hat mir sehr gefallen auch wenn ich die Texte kaum verstehen konnte und mich die männlichen Hauptdarsteller nicht sehr überzeugt haben. Im gegensatz du den Damen Tatjana und Olga wirkten die Herren Onegin und Lenski immer sehr angestrengt und angespannt als würden sie gleich ein Ei legen.

Heute Abend gehts weiter mit einem Orgelkonzert in der Hauptkirche St. Petri:

„Abschied von der Beckerath-Orgel“. Benefizkonzert zugunsten des St. Petri Orgelprojektes - an ein, zwei und drei Orgeln und mit anderen Instrumenten, Claus Bantzer, Eberhard Lauer, Manuel Gera, Daniel Stickan und TonusTrio, Karl Bernhardin Kropf, Thomas Hettwer, Mark Baumann und Thomas Dahl

Valentinstag steht eine Kino-Preview an: „Sophie Scholl - Die letzten Tage“, die Begleitung steht leider noch aus.

Am letzten Sonntag des Monats geht es in die rederei Kaffe.Satz.Lesen 18.

Und leider frühestens im nächsten Monat in ein spanisches Stück.

Wednesday, February 02, 2005

Blog Allerlei

Nina Hagen (schreckliche Website) tritt in der DNA Lounge von Jamie Zawinski auf.

Steffanie ist zurück.

Herr Paulsen kocht Brathähnchen und zerfallene Klöße.

und Ich gehe jetzt Klavier üben

Tuesday, February 01, 2005

Donnerstag Abend

Onegin - Eine Kammeroper

Lyrische Szenen in drei Akten

Saturday, January 22, 2005

Verliebt sein

ist einerseits schön aber macht die Sache nicht einfacher. Wenn ich nicht verliebt bin fällt es mir leichter mit der Frau zu reden, aber so mache ich mir zuviel Gedanken und bewundere ihre Schönheit. Es frustriert und das frustriert noch mehr.

Wenn ich es mir aussuchen könnte hätte ich mich erst später in K. verliebt und würde sie erstmal kennenlernen wollen. So ist es aber "ernst" für mich , da macht die Enttäuschung im Hintergrund Druck. Wenn sie da ist habe ich Angst das, wenn ich nicht schnell genug bin, jemand sie mir wegschnappt.

Nach dem blödem Traum wollte ich die Sache eigentlich lockerer angehen aber mit diesem Hemmschuh, der eigentlich ein Gefühlsverstärker ist, habe ich mehr Angst zu stolpern und mache mir zu viel Sorgen.

Leben, Luft & Liebe: Öffnen verpflichtet zum Kauf.

Saturday, January 15, 2005

Träume

Das man in einem Alptraum aufwacht ist ja nichts unbekanntes und mir auch schon passiert, aber gestern habe ich mich so geärgert das ich davon aufgewacht bin.

Thursday, January 13, 2005

USB Freuden

Unter der Überzeugung das Super Nintendo Spiele besser mit einem Gamepad spielen lassen habe ich mir letzte Woche Dienstag ein solches gekauft, das netterweise auch Zwei Buttons an der richten Stelle für Start und Select hat. Leider gestaltet sich das zusammenspiel zwischen Linux und USB Geräten nicht immer so leicht wie man es erwarten könnte, so das ich den halben Tag damit verbracht habe das ding zum laufen zu bekommen und es erst am nächsten Morgen benutzen konnte.

Ich bin zwar nicht der erste der das Problem hatte, aber das ich meinen Kernel auf einen Hybrid 32/64bit upgegraded hatte macht die Sache nicht einfacher. Wenn man das Gamepad anschließt kann man keine weiteren USB Geräte anschließen da der Treiber bei der initialisierung festhängt. Die schon angeschlossenen Geräte funktionieren aber weiterhin. Sollte man das Gamepad während des Bootvorgangs schon angeschlossen haben darf man es wieder rausziehen und wieder neustarten da er kurz nach dem laden der USB-Treiber hängt. Irgendwie hatte ich es sogar geschafft die USB-Treiber von Windows zu deinstallieren, ohne das ich etwas in Windows gemacht hatte.

Nach einigem Googlen bin ich auf die Ursache des Problems gestoßen, ein bug im USB-Treiber. Weil es keinen neueren Kernel für Debian Sid gibt der das Problem behebt mußte ich selber Patchen. Damit fingen die größeren Probleme an. Die Kernel-Quellen in Debian installieren, dann in mehreren anläufen per hand patchen (Probleme mit tabs und &gt;), und ja wie kompiliere ich eigentlich nur den Teil vom Kernel den ich wirklich brauche passt der dann auch zu meinem installierten kernel? Wenn die Module zum installierten Kernel passen sollen und ich nicht den Kernel selber konfigurieren will bräuchte ich die Konfiguration von meinem installierten Kernel. Die liegt, wie ich nach viel Google rausgefunden habe, in /boot/config-. Ok Treiber gepatcht, Kernel konfiguriert fehlt nur noch make.

Wenn da nicht noch der Hybrid kernel wäre, mit dem kann nicht einfach so einen neuen Kernel compilieren, also alten Kernel installieren, aber das geht auch, wieder wegen dem Hybriden, nicht ohne weiteres. mkinitrd versagt da seinen dienst, auch hier wieder Googlen führt zu einem ldd shell script. Danach klappte die Kernel-Installation, neustart, Kernel kompilieren, am nächsten Morgen die USB Module in /lib/modules... kopieren und endlich konnte Ich mit meinem Gamepad spielen.

USB-Patch: http://marc.theaimsgroup.com/?l=linux-usb-devel&m=109292956316049&w=2
ldd script: http://lists.debian.org/debian-kernel/2004/11/msg00041.html

Saturday, January 01, 2005

Update

Neues Jahr, neue Seite, endlich online aber noch nicht fertig.

Mein iBook will nicht mehr, scheint aber der bekannte Fehler zu sein.

Es war etwas ärgerlich auf dem 21C3 kein Netz zu haben, dafür war es sehr informativ.

Wenn ein Film erst ab 6 freigegeben ist kommt man nicht mit einer vierjährigen rein.

Zu Sylvester ein paar alte Schulfreunde getroffen, danach ausgeschlafen. Nach diesem Semester kommt einer wieder aus Kassel zurück.

Noch keinen Plan was ich an meinem Geburtstag mache.

Tuesday, November 23, 2004

Ostfriesisch & Half-Life 2

Angeregt durch die Podcasts von Steffanie habe ich Heute meinen ersten eigenen Podcast produziert. Es hat ein bißschen gebraucht, da ich bisher kein Aufnahmeprogramm für meinen Mac hatte und mein Headset für den PC zu verrauscht ist. Aber dank Rainer Joswig bin ich auf Audacity gestoßen.

podcast logo (8 Minuten 1,1MB)

Sunday, November 07, 2004

Natürlichsprachliche Schnittstellen

Ich weiß noch nicht ganz was ich damit machen soll, aber John hat über Natürlichsprachliche Systeme mit Lisp geschrieben.

Um ehrlich zu interessiert es mich nicht sehr, wenn ich meinem Computer über das Mikrofon befehlen kann was er tun soll, ich sitze vor dem Ding und statt Maus und Tastatur zu benutzen (was schneller wäre) Spreche ich mit dem PC. Wenn mich Jemand dabei hören würde wäre es sicher komisch, denn man muß ja deutlich und laut sprechen, was wiederum sehr unnatürlich ist, und wenn man es dann noch dreimal wiederholen muß …. Diese Vorstellunge reißt mich nicht vom Hocker, genausowenig wie einen Rechner als Übersetzer zu benutzen.

Aber so ein Programm daß ich nach dem Status von dem System Fragen kann, wie in dem vorgenannten Beitrag, reizt mich schon. Oder wie wäre es damit, weil ich keine vernünftige Anlage habe, höre Ich meine Musik über den Computer und statt daß Ich auf irgendwelche Knöpfe drücke könnte das Programm doch auf Sätze wie „Das Lied gefällt mir&ldquo, „Ich möchte ein anderes Lied hören“, „Das Lied mag ich nicht“, „Ich habe Lust auf Kings of Leon“, (Telefonklingeln) reagieren. So könnte ich beim Abwaschen gute Musik hören ohne meinen Mac naß zu machen.

Deutsch im Finnisch-Unterricht

Korrektur: Es gibt im Finnischen einen Perfekt!

In der Finnischen Sprache gibt es kein Perfekt stattdessen wird der Imperfekt (Präteritum) benutzt und wenn man von dem F. Sprache ausgeht gibt es keinen Passiv in der Deutschen Sprache. Damit setzt man sich auseinander wenn man Finnougristik Studiert, kein Wunder das man mit diesem Fach keine Arbeit findet.

Noch mal zum Perfekt, der ersetzt im der Deutschen Sprachgebrauch den Imperfekt, wer sagt denn noch „Ich buck den Kuchen“?. Siehste, stattdessen sagt man doch „Ich habe den Kuchen gebacken, vielleicht ist das Beispiel nicht so schön aber wenn es dafür schon ein Wort gibt ist es wohl doch ein Phänomen: Präteritumsschwund. Ein besseres Beispiel Imperfekt: „Ich lief zum Bahnhof“ vs Perfekt: „Ich bin zum Bahnhof gelaufen“

Soviel zur Sprachwissenschaft, das ist nicht ganz mein Ding, die Schule ist auch länger her … aber Ich hole es irgendwann nach.

Etwas für die Ohren

Ein neuer Blog-Fund: Deutsch für Anfänger. Eine Schwedin mit einer sehr schönen Stimme die Deutsch lernt und auch auf Deutsch bloggt.

Hm, mein Finnisch, ich sollte mich mehr darum kümmern, Hausaufgaben machen einfach Texte auf Finnisch lesen zb. aus dem Helsinginsanomat und auf Finnisch bloggen (?). Tu was, tu was, und schätze den Imperfekt (Ich buck den Kuchen).

Thursday, November 04, 2004

Pläne

In den nächsten Semesterferien muß ich unbedingt Urlaub im Ausland machen, am besten in Finnland um endlich meine Sprachkenntnisse anzuwenden und einen Ansporn zu haben diese auch mal zu verbessern, sprich auch außerhalb des Finnischunterrichts Vokabeln und Grammatik lernen.

Aber bevor das soweit ist muß ich dafür erstmal genug Geld verdienen und lernen mit der Fotokamera umzugehen.

Ein anderer Plan hat Heute konkretere Formen angenommen, die Website meiner Gemeinde bekommt bald ein neues Layout und, weil niemand mit dem altem System zurecht kommt, auch ein neues CMS für das ich zuständig bin.

Wednesday, November 03, 2004

Platte des Monats

Kings of Leon - Aha Shake Heartbreak

Seitdem ich sie Heute gekauft habe lief bisher noch nichts anderes. Aha Shake Heartbreak hat mich auf Anhieb beim reinhören im Laden überzeugt. Vom Sound ich würde sagen sie bleiben sich selbst treu, legen aber noch einen drauf.

Sunday, October 31, 2004

Assoziationen

Es ist interessant wie man Texte mit vielen Links liest. Mir ist jedenfalls aufgefallen das, Ich bei den Texte von Assoziations-Blaster, die mit Hyperlinks nur so durchsetzt sind, zwischen Links immer Pausen mache. Ich lese also nicht den ganzen Satz sondern die Links immer Wortweise.

Auch sehr interessant was Netzmanipulation angeht insert_coin.

Saturday, October 30, 2004

Heute angekommen

Heute angekommen
  • Contemporary Linguistics für Einführung in die Linguistik für Studierende der Finnougristik und hoffentlich auch für meinen Schwerpunkt im Informatik Studium
  • Ein Moleskin das hoffentlich nicht so leicht verschleißt wie das Notizbuch, das ich momentan in meiner Gesäßtasche rumtrage.
  • Batterien für meine Digitalkamera, damit mir während meines Besuchs bei meiner Schwester in Stuttgart nicht der Strom ausgeht.
  • Ein Spiegel im Briefkasten, ich bin zu faul für eine Tageszeitung und mir sind Zeitungen auch zu groß.
  • Technology Review vom Zeitschriftenladen, Abo ist heute bestellt worden.
  • CD-Rohlinge damit ich ein Backup von wichtigen Daten machen kann um danach Ubuntu zu installieren.
  • Gummibärchen, die gab es umsonst.

Thursday, October 28, 2004

das wars

Ich habe die letzte Prüfung vom letzten Semester bestanden. Damit sieht es bei den Prüfungen vom SS04 garnicht so schlecht aus:

IMGF1/2F3/4T3/4
4.02.3 (5.0)2.72.0

Sunday, October 24, 2004

piano dreams

Some months ago I had a strange dream, strange because it was emotionally intense and unusual wrt what happened in it. I was not processing what happened the day before nor was it very surreal, it was not the “usual strangeness” of a normal dream.

I do not remember most of it, but three things stuck. I played at a piano, Michael (band leader at our church) played guitar and I sung a song. I did not know the lyrics but improvised on the spot, not having to think about words, they just flowed out of my mouth.

It was amazing, I did not know how to play piano, nor did I know the song. I just sat down and started playing & singing.

I was so happy making music, moved to tears in the dream. Waking up in disbelief that I could be that moved by a dream, I touched my eyes to discover that tears really were running down my face. Even now when I write and recall it, it is still very touching.

I did play piano when I was younger, but stopped at about ten. I do sing in the youth group at our church. So I would not rate myself high, but in the dream I just knew, I just knew how to sing and play as if I had done nothing else in my life. It is the second dream that touched me so deeply and I believe both were God touching my life, something he wants to tell me, not a order of his, but something he wants to share with me.

Until thanksgiving nothing came of it, I enjoyed it but took no action. At thanksgiving however we had a meal in the church and I sat at a table with our second pastor and the young (and attractive) piano player. The pianist told of spoiled children she is teaching, how she learned playing and church music. It took some weeks but today I asked her if she can give me piano lessons. Making my dream reality.

Saturday, October 16, 2004

code aesthetically pleasing

It [emacs] is written in Lisp, which is the only computer language that is beautiful. Neal Stephenson

I agree with him, the fact that that lisp does use only a few characters with a special meaning for most of the code and the fact that the two most used special characters are round makes most lisp code aesthetically pleasing. Some format code though, can be like going cyrillic

.

Sunday, October 03, 2004

revising

busy, revising for exams, DFA, NFA, PDA, CFG, P, NP, TM, RAM etc.

Thursday, September 30, 2004

nacht

Saturday, September 11, 2004

Lisp in Games

It's not a secret that Naughty Dog uses Lisp to write its games like Jak & Dexter, and you can even look at the Lisp code that was used in Abuse (it is in the data files archive).

But it is more of a secret that at least two other games owned/distributed/whatever use Lisp for their AI. Age of Empires: Age of Kings uses as suspiciously Lisep-like syntax for their AI-scripts. report from the 2002 Game Developer’s Conference Question #6 near the end: &ldquoLISP is more a favorite of academics and rarely used by game developers, though the AI in Halo makes heavy use of LISP scripts.”. And to cheat in “A Bug's Life” you can edit "lisp\options.lsp".

This is a badly written text, basically it's just some links, I found on the usenet, surrounded by a few words

debugging lisp

The Conditions System of Common Lisp is something I have not grokked yet. I had a look at some examples and tutorials, but they usually involved too much information and code, more than I thought is neccessary for “simple” things. Sometimes in OpenMCL, when an error occurs it gives you the chance to assign/change a value or define a function and continue. But the debuggers in SBCL and CMUCL never offered such restarts. Because I knew OpenMCL can do it, and that capability ist often praised in Common Lisp, I thought it is “simple”. But the Condition System tutorials were always complex, using CLOS, creating new classes with :keywords and such, not just one, two functions/macros to remember and if one needs more one checks the manual.

So I was very happy when I found Joel R. Holvecks Usenet Post Re: Debugging Lisp code (stupid newbie question). He explains exactly what I want, getting an error, fix it, and restart from a frame rather than using one of the default restarts (abort). No CLOS, just a macro and a special operator, RESTART-CASE and UNWIND-PROTECT.

Wednesday, August 25, 2004

In one day

I rarely read a book in one day, but “Surely You're Joking, Mr. Feynman” was so good that I did. So I think it is highly recommendable, it's fun to read, the scientific parts are very lightweight and you get a bit of a insight into Mr. Feynmans life.

Tuesday, August 24, 2004

Great things to come ... *puff*

Sometimes when I read a paper or a book/paper about a great scientist, or simply some cool (mostly CS) stuff, I want to go out and develop the next great thing, write an application which puts some of the ideas, I just read about, in use. I am inspired by those texts, I want to do something, but nothing ever came from it, nothing. I hope someday something great will come from this, or I do something great, remember what I have read, how it inspired me, and think “ well it took some time, but at least something did come of it”

Probably it is not working out because you need to try and fail beforehand, build one to scratch it. Or in other words: It won't come from nothing, there is some work to be done upfront!

On a sidenote: There is one thing, nothing important, mostly of use for myself, i believe using emacs improved my typing. Maybe it's because it got in the way with I usually handle the keyboard. Previously I used key like END or PAGE UP, but with emacs I am using more different keychors.

If somebody reads this blog, it would be nice if you left a comment.

Reading

Reading, UK

Some days I am thinking I am not reading enough and should get out and shop for some english book. On other days I am thinking I should organise myself better and not read so much at the same time. I am really reading a lot, but not what I used to read. I have read some of Nick Hornbys books and liked them, I read Glue and Porno by Irvine Welsh, but I have read the last book of that kind over a year ago. Coincing with my LISP obsession I started reading more “scientific” books/papers. At the moment I am reading

  • “Can Programming Be Liberated from the von Neumann Style?”, John Backus - Paper
  • “Connection Machine Lisp: Fine-Grained Parallel Symbolic Processing”, Guy L. Steele Jr., W. Daniel Hills - Paper
  • “Surely You're Joking, Mr. Feynman“, Richard P. Feynman - Book
  • “Metamagicum”, Douglas R. Hofstadter - Book (German)

And there are more books & papers in the queue. But I read a lot onscreen aswell, news, blogs, etc. I consider it quite a lot and fear I might loose track somewhere and not grok a paper, loosing time to reread it, if I do it at all.

A another problem is that those books collide with the “required” reading for university, scripts and such.

unexpected call

One of my aunts found me in ICQ today, which is totally unexpected as most of my relatives do not use their computers for anything but work.

Keyboards

My first obession with keyboards was when I bought two german IBM Model M keyboards. Before Model M, I used the cheapest Cherry keyboard available, and before the Cherry I used and AT/XT keyboard which had a switch at the back to toggle between AT and XT PCs. The XT/AT keyboard is a monster in size, but it was my second keyboard and it has *click*, a quality which is missing from modern keyboards.

The keyboard I would like to have does not exist, nor would it be supported by current software. It would be like the old keyboards at university (eg. Stanford, MIT) computers. Those keyboards had an extended character set, eg. they supported entering λ, ∧ and ∨ directly, not latex style \lambda \wedge, \vee

Such a keyboard would probably look like the Knight keyboard or the Space Cadet keyboard. Though it might produce cokebottles and one may need quadruple bucky to enter some characters. Mr. Crunchly might complain.

Using Emacs you will inevitably stumble upon the Meta Key Problem, most keyboards do not have a meta key, (i think SUN keyboards have one, but it is not labelled as such). So the Alt key is used instead. However Meta is just one out of three, due to MIT & Lisp Machine heritage Emacs can also handle Super and Hyper, but unless you have a very very exotic keyboard you won't have them. If you have a keyboard with windows keys you could make more use of them than most users do, not mimick windows behavior but use them as Meta, Super and Hyper instead (which still gives you the option to use them as “windows” keys). If you do not have these extra keys, you are bound to rebind other keys. So, do you really use CapsLock? Do you need two Alt/Ctrl keys?

Supposing the answer is no to both questions, you can fiddle around with xmodmap & xkeycaps. The most common thing seems to be swapping Ctrl and CapsLock, so that Ctrl is next to “a”.
If you use an non-american keyboard there is even more you can do to ease programming, like making parens and other often used brackets more accessible.

The other reason why I'm writing this is to point to John McCarthys paper EFFECTIVE INTERACTIVE USE OF LARGE CHARACTER SETS

Sunday, August 15, 2004

Nachwehen

Gestern: Welt Astra Tag mit entsprechend viel Astra. Heute: Kopfschmerzen, Übelkeit, ..., der Tag ist im Eimer. Wahr wohl doch zuviel, aber schön ein paar alte Schulfreunde wiedergetroffen zu haben.

Thursday, August 05, 2004

How many hours does it take to go to Japan by car?

Fool's World Map

This is a project visualizing the world map which many fools in the world imagine. If you can see this map comfortably, you are definitely a fool.

ZEN-STYLE | Fool's World Map

Saturday, July 31, 2004

Gödel, Escher, Bach or Metamagical Themas

Gödel, Escher, Bach (GEB) is what I wanted to read, Metamagical Themas (MT) is what I'm reading. The problem is I just found this out after having read half of MT, I was already wondering where Mr. Tortoise was. I just hope GEB is doesn't have as many pages as MT and is easier to read and not less interesting after having read MT.

Firefox nuisances

Firefox can be a nice browser, but there are two things that annoy me. It seems like it can't handle many images, bigger than 500kb, at once. As today my system was unusable because it kept swapping like wild and so that at some point the kernel (or whatever manages memory eaters) decided to kill it.
The other thing is the download window, which was fine before 0.9, but now it is like a annoying popup window. Every time a downloaded it pops into the foreground, which is especially annoying when I start several downloads. Previously it just opened when it was not there yet, but stayed in the background afterwards. I “fixed” this problem by deactivating “Show Download Manager window when a download begins” under “Preferences” -> “Downloads”

There is however once feature they did improve, the DOM Inspector. I usually use it to prepare websites for printing, that is I start up the DOM Inspector by Control-Shift-i, and delete everything I don't want. It is very handy to get rid of ads, format tables to use the whole page and thus waste less paper. And if you can't find something in the tree, you can use its finde node feature which is just point and click. Quite neat.

Wednesday, July 28, 2004

Smalltalk aka forgotten language

Somehow this article: “Forgotten language enables nonstop gadgets”, reminds me of Master of Orion, especially the news story when you find ancient yet superior technology.

Saturday, July 17, 2004

spam

Silence is argument carried out by other means. - Ernesto Che Guevara (1928-1967) Show me a sane man and I will cure him for you. - Carl Gustav Jung (1875-1961) Be nice to people on your way up because you meet them on your way down. - Jimmy Durante

at least it's more interesting than obfuscating word, and writing useless crap.

Sunday, July 11, 2004

Uni Ärger

Ich studiere Informatik an der Universität Hamburg und weil man Informatik nicht um der Informatik willen studieren kann, sondern immer ein „Anwendungsgebiet“ braucht, muß man sich eine Ergänzungsfach (!= Nebenfach) aussuchen. Bei der Wahl des Nebenfachs sind einem eigentlich keine Grenzen gesetzt, man kann alles wählen was es so an den Hamburger Hochschulen angeboten wird. Für einige Fächer gibt es sogenannte „Ergänzungsfach-Rahmenpläne“, die machen das beantragen des Ergänzungsfaches ziemlich einfach, ein formloses Schreiben ala „Ich möchte X gemäß Rahmenstudienplan studieren“ genügt.

Für alle anderen Fächer ohne Rahmenstudienplan muß man sich selbst einen Plan zusammenstellen, d.h. Vorlesungen/Seminar/Praktika mit mindestens 12 Semesterwochenstunden (SWS) zusammensuchen, überlegen wo man einen Leistungsnachweis erbringen will/kann. Sich mit den Dozenten absprechen wegen der Vordiplomsprüfung. Dann bringt man das ganze auf ein Papier, besorgt sich eine Unterschrift & Siegel von seinem Prüfer, und gibt den Antrag im Prüfungsamt ab. Bis vor kurzem gab es noch keinen Vordruck für den Antrag und auch sonst recht wenig Informationen was man denn so beachten muß, ein eigener Ergänzungsfachplan ist wohl nicht so beliebt, die meisten studieren eh Experimentalphysik oder Psychologie.

Da mir die Fächer für die es einen Rahmenstudienplan gibt nicht wirklich gefallen und ich lieber etwas in Richtung Sprachen machen wollte, habe ich mir Finnougristik, bzw. Finnisch ausgesucht, entsprechend Kurse belegt und, recht spät, einen 1. Antrag gestellt. 8 SWS mit Prüfung „Finnisch I + II“, 2 SWS „Einführung in das Studium der Finnougristik/Uralistik“, 2 SWS mit Leistungsnachweis „Einführung in die Linguistik für Studierende der Finnougristik I“. Nach einiger Zeit kam dann eine Antwort: Eine Kopie des Antrags mit einer Bemerkung am Rand:

Sprachkurse können nicht anerkannt werden, da Sprachkenntnisse die Vorraussetzung für eine Studium (hier der Finnougristik) sind. Antrag abgelehnt.
<Unterschrift, Datum, Stempel >

Ja so einfach kann man meinen Antrag aber nicht ablehnen, jedenfalls nicht mit der Begründung, schließlich kann man Finnisch nicht in der Schule lernen, weshalb ich mir kaum vorstellen kann das es wirklich Vorraussetzung für das Studium ist. Wie dem auch sei, im „Studienplan für das Fach Finnougrstik/Uralistik“ steht es auch so ähnlich drin:

I. Allgemeine Bestimmungen
...
4. Sprachanforderungen
4.1 Die Sprachen, die den Gegenstand des Faches „Finnougrstik/Uralistik“ bilden, sind in der Regel keine Schulsprachen. Deshalb werden für die finnisch-ugrischen (uralischen) Sprachen keine Sprachanforderungen bei Beginn des Studiums gestellt. ...

Nach einem Gespräch mit der Studienberatung, habe ich dann einen schönen Schrieb bekommen und diesen mit einem neuen, inhaltlich gleichen, Antrag bei dem Prüfungsamt abgegeben. Die Sachbearbeiterin die den Antrag entgegengenommen hat, hatte auch Verständnis für meine Situation, naja und so hatte ich gehofft das Thema würde sich bald erledigen und erst wieder im Hauptstudium auftauchen.

Leider ist dem nicht so und das ist auch der Grund warum ich diesen Text schreibe. Der 2. Antrag wurde auch abgelehnt, auch wieder nur auf als Bemerkung, diesmal auf dem Schreiben von der Studienberatung:

Grundsätzlich können Sprachkurse nicht anerkannt werden als Prüfungsleistungen
<Unterschrift, Datum, Stempel >

Da fühle mich doch veräppelt, konnte man das nicht schon auf die erste Ablehnung schreiben? Jetzt ist das Semester fast zuende und ich habe immernoch kein Ergänzungsfach.

Ich weiß ja nicht warum Sprachkurse nicht als Prüfungsleistung anerkannt werden, aber so sind alle Fächer die sich mit ausländischen Sprachen, die man nicht schon vor dem Studium erlernen konnte, beschäftigen anscheinend nur mit großem Mehraufwand zu studieren. Denn die Finnisch Sprachkurse brauchen allein 16 SWS, davon kann man (hoffentlich) 12 SWS in den Plan einbringen (6 SWS Grund- + 6 SWS Hauptstudium). Da man die Kurse aber nicht aufteilen kann sind es 8 SWS je Plan, und man muß noch 6 SWS einbringen über die man geprüft werden kann, macht also 14 SWS. Normal sind 12 SWS, es gibt nur einen Rahmenstudienplan der auch 14 SWS hat: Theoretische Physik, und da wird auch extra auf den erhöhten Aufwand hingewiesen. Um die Sprachkurse werde und will ich wohl kaum herumkommen, schließlich erscheint es mir seltsam sich mit einer Sprache & Kultur auseinanderzusetzen, wenn man die Sprache nicht beherrscht.

Letztendlich hoffe ich mehr SWS machen zu können, denn ich will schon etwas tiefer in die Finnougristik eintauchen, schließlich bin ich zum Studieren an der Uni, nicht nur um einen Hochschulabschluß zu machen.

Saturday, July 10, 2004

Public Transport

I added myself to the Hamburg Blogplan. Blogplan lists the blogs by public transport station they are closest to, in my case it is Holstenstraße. Of all the blogs listed, I only know Satta.Name

Building 20

MITs Building 20

City of Sound has a nice article about Building 20 and the new Stata building which replaced it. There is also an older article about Building 20, with some nice quotes.

Reading both articles, I am reminded of lisp. (Which is also the way i found them, searching on daypop for lisp.) You could extend it in any way you like, as you weren't restricted by the initial placement of the floor/walls. And it spurred creativity. Which leads me to think that to be creative, don't adapt to the enviroment, but adapt the enviroment to your needs. Do what you want to do. Try to explore the space around you. I know that thinking out of the box is hard, and i do not know how you can get out of the box. But once done, it is absolutely thrilling for me.

You can program the way you always did, and think Eclipse is the way to go. Or take a look at Lisp Machines (unlikely) or Squeak, and notice that you can not only write programs with a language but also modify the system in which the programs “live”. That is a powerful concept which almost no language has.

These systems empower the user, he can change the enviroment and tailor it to his needs. This should result in a productivity boost, because the system can be changed in such a way that it assists you, not the user in general. It can also result in a deeper understand of the system, because the code is at your fingertips. If there is something which doesn't work as expected, or you don't understand it, you can look at the source code and, if necessary, change it. The language specification/documentation isn't a impenetrable barrier. There is no second-guessing, because you can look under the hood and see how it is acutally implemented.

Returning to Building 20, in my opinion one important propery of it was its uglyness. If you changed something, you did not ruin its visual asthetics. I wonder how that part design affects the use of the new buildings.

I *am* the blogosphere

I know it is old, but apparently I am the blogosphere.

what kind of social software are you?

Thursday, July 08, 2004

Java, not the next level

S-Bahn Haltestelle Hasselbrook

Maybe one of the reasons why I don't like it, is that in 2000 in school I was thinking OOP is the thing. I didn't know any better, I thought C and C++ were the languages, and anything else was irrelevant. Java is newer but overhyped, and, that's of course very important for someone who had never even written a single C program, slow. But Java didn't challenge, it didn't show me other ways to think about programming, structuring. OO did that, but I didn't get to know OO via Java. And as Java didn't change much, it still doesn't.

But at university I am forced to learn it, I'm forced to do something dull. I am more than a Java programmer, Java isn't and will never be the next level for me.

If you want to listen to something interesting, watch Croquet: A Collaboration Architecture, a presentation given by Alan Kay. He starts off with Croquet, which imho doesn't seem to be that innovative. The Q&A session afterwards is the real gem. To quote Dave Roberts:

Okay, but after that, Kay starts to take questions at the lecture. This was the best part, in my opinion. The questions are very interesting, as are Kay's responses. Simply, Kay has some pretty harsh criticism of computer science education these days. He says that nobody is doing computer science anymore and basically equates today's computer science curriculum with vocational work, simply training legions of Java programmers and not studying any hard problems or advancing the state of the art. He says that he actually looked at writing Croquet in Java originally, but found it sadly lacking on a number of fronts and so they went back to Smalltalk (Squeak). He has high praise for Lisp and McCarthy, saying that it was one of the most impactful ideas ever in computer science. At one point, he blasts Stanford's Bill Gates-funded computer science building, saying it's an oxymoron.

Wednesday, July 07, 2004

defmacro insert-pair

Would a function with a optional parameter be better?

(defmacro insert-pair (name char1 char2)
  "Creates function name which is Like insert-parenthesis, but inserts char char2
   instead of parenthesis "
  `(defun ,name (arg)
     (interactive "P")
     (if arg (setq arg (prefix-numeric-value arg))
       (setq arg 0))
     (cond ((> arg 0) (skip-chars-forward " \t"))
           ((< arg 0) (forward-sexp arg) (setq arg (- arg))))
     (insert ,char1)
     (save-excursion
       (or (eq arg 0) (forward-word arg))
       (insert ,char2))))

(insert-pair insert-brackets "[" "]")
(global-set-key "\M-[" 'insert-brackets)

Sunday, June 20, 2004

* ** ***

Whenever I tex my math or tech homework I'm using lisp as a calculator as it knows how to handle fractions and as I'm using Emacs it's just a buffer away. So yesterday, while checking my calculations I discovered this imho funny piece of lisp code: (* ** *). Which multiply the second-last with the last return value, nothing you would use in a program, but quite usefull in the REPL.

Monday, June 14, 2004

the end is near

The semester ends soon (July 14th), which means I'm learning for exams. Vocabulary and grammar for finnish, vocabulary and grammar for formal CS, ideas & whatsoever for technical CS and IMG (IT, Man & Society). At the moment I'm reading “F2 - Automaten und formale Sprachen”, which will be followed by a short repitition of “F1 - Formale Gundlagen der Informatik”.

Thursday, June 03, 2004

php-complete-function ready for testing

I think I have completed it and would love to have some feedback, especially if it works with XEmacs. You can download it here, before you use it however you should M-x customize-group RET php RET it and set php-manual-path to directory which contains the php manual in many html files or generate a file with one function name per line and set php-completion-file to it. If you want to include completions from your tag file you must visit-tags-file. The key combination for completion is M-TAB, if that doesn't suit you rebind it.

php-completion-table

I did solve the problem of getting the right table and solved a another problem. The right completion table is now computed by etags-tags-completion-buffer and the other problem was that I didn't join the right tables, not having thought about how it was done, the incorret code would do nothing because (mapatoms (lambda ...) nil) should do nothing.

(defun php-completion-table ()
  (or php-completion-table
      (let ((table (make-vector 1022 0))
            (php-completion-buffer (find-file-noselect php-completion-buffer-file))
            (my-tags-table (if (functionp 'etags-tags-completion-table)
                               (with-current-buffer (get-file-buffer tags-file-name)
                                 (etags-tags-completion-table))
                               nil)))
        (save-excursion
          (set-buffer php-completion-buffer)
          (goto-char (point-min))
          (while (re-search-forward
                  "^\\([-a-zA-Z0-9_.]+\\)\n"
                  nil t)
            (intern (buffer-substring (match-beginning 1) (match-end 1))
                    table)))
        (when my-tags-table
          ;; Combine the tables.
          (mapatoms (lambda (sym) (intern (symbol-name sym) table))
                    my-tags-table))
        (setq php-completion-table table))))

Fanta the german drink

I just heard it on the radio and could not believe it so I checked the Wikipedia entry for Fanta. Basically there was shortage of ingredients to produce coca-cola in Third Reich and thus a new drink Fanta (from fantastisch - fantastic) was invented.

php-complete-function

Dissapppointed by the poor php-mode for emacs, I am trying to improve it by adding php-complete-function. I can now complete most of the php functions (methods of objects are missing), but I'm struggling on how to mix the php functions with user defined functions from TAGS. I somehow can't get the right tags-completion-table and merge it with my php-completion-table.

(defcustom php-completion-buffer-file "/home/tekai/emacs/php_functions"
  "*Path to the file which contains the function names"
  :type 'string
  :group 'php)

(defvar php-completion-table nil
  "Obarray of tag names defined in current tags table.")
;; Define function name completion function

(defun php-complete-function ()
  "Complete the function name at the point from known PHP functions."
  (interactive)
  (let ((pattern (funcall (or find-tag-default-function
                              (get major-mode 'find-tag-default-function)
                              'find-tag-default)))
        beg
        completion
        (php-functions (php-completion-table)))
    (search-backward pattern)
    (setq beg (point))
    (forward-char (length pattern))
    (setq completion (try-completion pattern php-functions nil))
    (cond ((eq completion t))
          ((null completion)
           (message "Can't find completion for this \"%s\"" pattern)
           (ding))
          ((not (string= pattern completion))
           (delete-region beg (point))
           (insert completion))
          (t
           (message "Making completion list...")
           (with-output-to-temp-buffer "*Completions*"
             (display-completion-list
              (all-completions pattern php-functions)))
           (message "Making completion list...%s" "done"))))
  ;;(complete-tag)
  ;;(message "php-complete-function not implemented yet")
  ;; how to read the list of functions from a separate file?
  )

(defun php-completion-table ()
  (or php-completion-table
      (let ((table (make-vector 1022 0))
            (php-completion-buffer (find-file-noselect php-completion-buffer-file))
            (tags-table (if (functionp 'tags-completion-table)
                            (progn (visit-tags-table-buffer)
                                   (tags-completion-table))
                            nil)))
        (save-excursion
          (set-buffer php-completion-buffer)
          (goto-char (point-min))
          (while (re-search-forward
                  "^\\([-a-zA-Z0-9_.]+\\)\n"
                  nil t)
            (intern (buffer-substring (match-beginning 1) (match-end 1))
                    table)))
         (if tags-table
             ;; Combine the tables.
             (mapatoms (lambda (sym) (intern (symbol-name sym) tags-table))
                   php-completion-table))
        (setq php-completion-table table))))

The php_functions file has one function name per line.

Aside: I find the poor quality of php-mode somewhat strange, maybe I shouldn't compare it with slime, but I expected it to do better, PHP is not that new. But maybe most PHP coders don't grasp (e)lisp, use IDEs and are just codemonkeys who doing are doing most of their work copy&paste. But really why is the php-mode that bad?

Monday, May 31, 2004

FarCry

It is a bit surreal when you walk into a room where, just a few seconds ago, trigents and mercenaries were fighting each other and now everything is silent but instead of dead bodies lying around, they are walking, not moving. It is like as time has been frozen, and everybody has to do the same move over and over again but you can walk around freely. It feels like they could come back to life every instant and attack you. Surreal.

Turmbunker

If you take the S-Bahn in Hamburg from Holstenstraße to Hasselbrook you can see three of those bunkers which have sparked my interest.

Lostplaces: Luftschutztürme - Bauarten und -typen:

In Hamburg beispielsweise hält wahrscheinlich ein Großteil der jüngeren Bevölkerung die Zombeck-Türme für historische Wasserspeicher, in anderen Städten dürfte dies wahrscheinlich kaum anders sein.

If you know what they are you can spot them easily because round towers are an unusual sight and they all look the same. The bunkers are “verklinkert” and thus do not look as dull & scary as the “normal” grey bunker does.

Turmbunker am S-Bahnhof Hasselbrook

Dogville

Nicole Kidman

I saw Dogville on friday and must say it is a horrible movie, not horribly bad but what happens in he movie is cruel.

Lars von Trier managed to shoot an very intense movie, starring the ever so beautiful Nicole Kidman, using very few stage props and just one location. It is not a movie to be enjoyed but thought provoking, showing the dark side of man. Not easy to digest but I definitely recommend it.

Thursday, May 20, 2004

Finding a good digital camera

For ~300€ incl. 128MB was not easy for me. I have now ordered two cameras from amazon, a Fuji Finepix S5000 and a Canon PowerShot A70. I do not need two cameras and the Fuji has a serious flaw so I'm going to return it.

Looking at the specs it seems nice, especially the 10x optical zoom, however once I found out that you can not change the image compression which results in (imho) low grade images.

After the disaster with the low image quality of the Fuji I searched specifically for a camera with good image quality. The Canon PowerShot A70 already has two successors, the A75 and the A80, which could have been my choice, if it had not been for the price difference of 40/110 €. It is a 3.2 megapixel camera with a 3x optical zoom and uses CF cards, so it fullfills three criteria of at least 3 megapixels, optical zoom and cheap storage. Other than that there is not much to say as I am not able to use it yet.

Saturday, May 15, 2004

GNU TAGS

I somwhat find the xemacs code for etags better, amongs other things you can specify a list where to search for TAGS files. While this macro isn't that sophisticated it covers my needs 99% of the time.

(defadvice find-tag (before c-tag-file activate)
 "Automatically search for tags in higher directories."
 (let ((file1  (concat default-directory "TAGS"))
       (file2  (concat default-directory "../TAGS"))
       (file3  (concat default-directory "../../TAGS")))
   (let ((tag-file
          (cond ((file-exists-p file1) file1)
                ((file-exists-p file2) file2)
                ((file-exists-p file3) file3)
                (t nil))))
     (when tag-file
       (visit-tags-table tag-file)))))