Das Programm Redet hilft beim Zusammenbauen von Regular Expressions. Für mehr Entspannung sorgt die Beschäftigung mit Go-Problemen. Auf dem Speiseplan stehen dieses Mal leckere Spaghetti.
Wenige andere Aspekte werden so häufig als großartige Innovation von Unix-Systemen hervorgehoben wie Regular Expressions. Und tatsächlich eröffnen sie jedem, der sie beherrscht, reiche Möglichkeiten bei der Suche in Texten, Logdateien und vielem mehr. Dabei muss sich der Anwender nicht auf eine Software beschränken, denn viele Linux-Programme verstehen in ihren Suchfunktionen reguläre Ausdrücke, etwa die gängigen Editoren Emacs, Vi und Nedit, ja selbst der Open Office Writer. Auch wer in Skriptsprachen Textdateien verarbeitet, kommt an Regular Expressions kaum vorbei.
Regex-Helfer
Komplexe Suchmuster damit aufzubauen ist allerdings fehlerträchtig: Konzeptuellen Suchwünschen entsprechen kryptische Kürzel, im Detail weichen die Dialekte verschiedener Tools voneinander ab, häufiges Testen ist also gefragt. Die Software Redet [1] hilft dabei, Regular Expressions ohne tiefe Kenntnis der Abkürzungen aufzubauen. Sie erlaubt interaktive Tests mit verschiedenen Tools und erzeugt auf Wunsch schließlich fertige reguläre Ausdrücke.
Bevor es losgehen kann, gilt es allerdings, noch ein kleines Hindernis zu überwinden. Redet ist in Tcl geschrieben, was an sich noch kein Problem sein sollte. Jedoch benutzt es zusätzlich die objektorientierten Erweiterungen Itcl, Itk und Iwidgets, die es nicht für alle Distributionen in Binärform gibt. Sie selbst zu kompilieren ist aber ebenfalls nicht ganz einfach. Wer in seiner Distribution die erwähnten Pakete bereits vorfindet, ist also fein raus und kann nach dem Download das Redet-Skript direkt starten.
Fremde Zeichen
Allen anderen empfiehlt Redet-Entwickler Bill Poser, der übrigens im Hauptberuf Linguistik-Professor ist, das Tcl-Paket der Firma Activestate zu verwenden [2]. Dabei handelt es sich durchweg um freie Software, die neben den Tcl-Kernpaketen eine ganze Reihe praktischer Erweiterungen enthält. Zur Installation ist nicht mehr zu tun, als das Active-Tcl-Paket zu entpacken und den Ausführungspfad entsprechend zu setzen.
Nach dem Start erscheint das Hauptfenster, das neben den Menüs ein Textfeld für Testdaten und eins für das Ergebnis der Regex-Suche enthält (Abbildung 2). Eine recht detaillierte Beschreibung aller Menüpunkt bietet neben der eingebauten Hilfefunktion die Online-Referenz auf der Website [1].
Zum Test der Regular Expressions verwendet Redet das jeweilige Tool selbst, das also installiert sein muss. Nur Tcl-Regexes evaluiert Redet intern selbst. Die Software eignet sich besonders gut zum Bau von regulären Ausdrücken, die auf fremd- oder mehrsprachige Textmuster passen sollen. Dazu lädt es selbst erstellbare Zeichentabellen, es bietet eine reiche Auswahl an akzentuierten Zeichen und akzeptiert auch UTF8-Code.
Automaten zum Angucken
Hinter regulären Ausdrücken steht die Theorie endlicher Automaten, die auch in anderen Feldern der Informatik ihre Anwendung findet. Spielerisch und optisch ansprechend nähert sich das Programm Context Free dem Thema. Es erzeugt aus recht einfachen sprachlichen Beschreibungen komplexe, meist sich wiederholende Muster, die ihren ganz eigenen Reiz besitzen (Abbildung 1).
Ursprünglich hatte Chris Coyne [4] sich mit kontextfreien Grammatiken beschäftigt und schließlich die einfache Sprache CFDG entwickelt, mit der er Bilder erzeugen konnte. Auf der Website eines verwandten Projekts, das mit ähnlicher Technik Informatik-Seminararbeiten imitiert [5], fanden zwei andere Programmierer einen Link zu seiner Homepage und waren sofort Feuer und Flamme: Mark Lentczner setzte sich an die Macintosh-Version und John Horigan übernahm den Windows-Part.
Mittlerweile ist die Macintosh-Version am weitesten fortgeschritten, sie zeichnet die entstehenden Grafiken in Echtzeit. Linux-Benutzer müssen sich weiterhin mit der Kommandozeilenvariante begnügen und die Bilder mit einem separaten Betrachter öffnen. Ein Programmierer mit dem Pseudonym Momo hat allerdings eine kleine grafische Oberfläche in Python geschrieben, die Grafiken wenigstens anzeigt, wenn auch nicht in Echtzeit rendert [6].
Context Free erzeugt nicht nur qualitativ sehr hochwertige Bilder, sondern auch noch in nahezu beliebiger Größe. Hat jemand keine Lust, sich in die (nicht allzu komplexe) CFDG-Sprache einzuarbeiten, kann er aus vielen fertigen Files wählen und sie nach Belieben abändern.
Wer sich schon einmal mit dem fernöstlichen Spiel Go beschäftigt hat, kennt vielleicht die Schwierigkeit, dafür eine Strategie zu entwickeln. Gegenüber dem westlichen Schach, mit dem es gerne verglichen wird, besitzt Go wesentlich weniger und noch dazu einfachere Regeln. Was als Vorteil erscheinen könnte, wird zur Herausforderung, denn wo soll man sich auf dem großen Spielfeld orientieren und wohin seine Steine setzen, wo doch beinahe alles erlaubt ist?
Go-Rätsel mit Java

Abbildung 3: Das Java-Programm Gogrinder liest Go-Probleme ein und lässt sie am Bildschirm lösen. An die 350 Problemstellungen bringt es bereits mit.
Das beste Mittel gegen solche Verwirrung ist Spielpraxis, zu sammeln etwa auf dem Internet-Go-Server IGS [7], wenn die menschlichen Spielpartner fehlen. Ergänzend dazu bietet sich das Programm Gogrinder von Tim Kington an, mit dem der interessierte Spieler Go-Problemstellungen selbst lösen kann. Die Java-Software bringt knapp 350 Go-Probleme bereits mit, neue lassen sich über das SGF-Format einlesen – oder zum Beispiel von [9] herunterladen.
Wie andere freie Softwareprojekte ruft auch Gogrinder zu Spenden auf. Sie landen aber nicht beim Programmierer, sondern auf den Konten der Electronic Frontier Foundation (EFF, [10]), die sich für Freiheitsrechte im Internet einsetzt.
Spaghetti Andrea
Für zwei Personen genügt ungefähr eine halbe Packung Spaghetti, hungrige Esser vertragen durchaus etwas mehr. Am besten übrig gebliebene Nudeln verwenden oder frisch gekochte gut abtropfen lassen. Eine kleine Zwiebel und eine Knoblauchzehe fein hacken und gut durchwachsenen Speck in feine Würfel schneiden. Mit einer Gabel ein bis zwei Eier und einige Prisen Salz in einer kleinen Schüssel verquirlen.
Etwas Olivenöl in einer Pfanne erhitzen, die Zwiebeln dazugeben und unter Rühren bei mittlerer Hitze andünsten. Die Schinkenwürfel dazugeben und ein paar Minuten mitbraten. Schließlich die Nudeln hinzufügen und etwas mitbraten. Wer es gerne kross mag, lässt die Spaghetti etwas länger in der Pfanne. Dabei das Umrühren nicht vergessen!
Ganz am Ende die Eiermischung dazugeben und so lange mit den Spaghetti vermengen, bis die Eier gestockt sind. Mit Pfeffer und Salz abschmecken und servieren. Wer zu den Eiern noch Sahne gibt und am Ende kräftig Pfeffer über die Spaghetti-Teller mahlt, erhält ohne großen Aufwand Spaghetti Carbonara.
|
Infos |
|---|
|
[1] Redet: [http://www.billposer.org/Software/redet.html] [2] Active-Tcl: [http://www.activestate.com/Products/ActiveTcl] [3] Context Free: [http://www.ozonehouse.com/ContextFree] [4] Chris Coyne: [http://chriscoyne.com/cfdg] [5] Scigen: [http://pdos.csail.mit.edu/scigen] [6] Linux-GUI für Context Free: [http://dospeixos.net/projects/contexteditor] [7] Internet-Go-Server: [http://www.pandanet.co.jp/English] [8] Gogrinder: [http://gogrinder.sourceforge.net] [9] Go-Probleme: [http://goproblems.com/download.html] [10] EFF: [http://www.eff.org] |








