Ragmaan
een anagrammengenerator voor Linux

algemene informatie

    Inleiding

Wat is Ragmaan?

Ragmaan is een anagrammengenerator. Voor een gegeven `zoekwoord' struint hij een woordenlijst af naar woorden, die met de letters van het zoekwoord gemaakt kunnen worden. De resultaten worden gepresenteerd in een GUI.

Wat heb ik nodig om Ragmaan te kunnen draaien?

In hoeverre verschilt Ragmaan van Maanrag?

(Voor diegenen die Maanrag niet kennen: Maanrag is een anagrammengenerator voor Windows, zie
http://www.xs4all.nl/~onnoz/maanrag. Maanrag is het grote voorbeeld van Ragmaan.)

Aangezien Ragmaan schaamteloos geplagieerd is, zijn er sterke overeenkomsten. Zo wordt er een resultatenboom gepresenteerd, waarin je zelf moet navigeren. De leukste resultaten kunnen worden bewaard.

De belangrijkste verschillen:

Waar kan ik Ragmaan downloaden?

Hier. De archiefjes bevatten de sources, een Makefile en documentatie. Verder zitten er tooltjes bij om woordenlijsten te filteren en te combineren, en voor de gemakzuchtigen is er een RPM met binaries.

    Installatie

Als je systeem RPM ondersteunt, dan hoef je niks bijzonders te doen. Download
ragmaan-1.0.3-1.i386.rpm en gebruik rpm -U ragmaan-1.0.3-1.i386.rpm aan de prompt als root. Een grafisch frontje, zoals gnorpm, kan natuurlijk ook prima gebruikt worden. Starten met ragmaan vanaf de prompt.

Wil je alles handmatig doen, download dan ragmaan_103.tar.gz (736 kB, sources plus een woordenlijst) of ragmaan_103_src.tar.gz (43 kB, alleen sources). Uitpakken en make ragmaan als root zou dan alles moeten bouwen en installeren. Hieronder staat alles in wat meer detail.

Uitpakken en testen

Zorg ervoor dat Tcl/Tk geïnstalleerd is. Type bijvoorbeeld `wish' om te zien, of er zoiets op het systeem staat - zo niet, zie Tcl/Tk.

Pak de teerbal uit met een untar-opdracht:

tar xvzf ~/download/ragmaan_103.tar.gz

Het resultaat: een directorystructuurtje, hangend onder ./ragmaan_103. Doe een

cd ragmaan_103; make

Als er geen foutmeldingen voorbijkomen, dan is er in de directory `bin' het een en ander aangemaakt. Probeer het zaakje te starten met

bin/ragmaan

Er wordt dan misschien nog gevraagd om een woordenlijst. Zie woordenlijsten voor suggesties. Geef een bestandsnaam op (bijvoorbeeld /usr/local/bin/ragmaan-1.0.3/db/nl2.txt.gz ) en wacht even tot Ragmaan alles heeft ingelezen. Je kunt nu een zoekwoord invoeren.

Installeren

Als alles werkt, dan kun je - als root - make ragmaan draaien om alles te installeren. Kijk eventueel nog even in de Makefile of de installatiepaden je wel aanstaan.

    Woordenlijsten

De versteklokatie voor woordenlijsten is de `db' directory in de ragmaanboom. De laatstgebruikte woordenlijst wordt onthouden (in $HOME/.ragmaanrc).

Het gewenste formaat: `printables', gescheiden door `nonprintables' (bijvoorbeeld: woorden, gescheiden door regelovergangen). Sorteren is niet nodig, wel handig. Ragmaan presenteert de woorden slechts gesorteerd naar woordlengte.

Geschikte lijsten zijn o.a.:

Voor de knutselaars:

ftp://ftp.tue.nl/pub/tex/GB95/spell-nl-v5b/woorden/latin1/woor-den.max bevat 222930 woorden (3.0 MB). In diezelfde directory staan nog meer woordenlijsten. In deze lijsten wordt een vreemd tekentje gebruikt om de lettergrepen te scheiden, en er worden accenttekens gebruikt. Gebruik rm_filter om ze geschikt te maken voor Ragmaan, of rm_splice om twee woordenlijsten te combineren.

    Fonts en kleuren

Ragmaan gebruikt de "RESOURCE_MANAGER root window properties" voor de configuratie van de GUI (dus in de praktijk: kleuren en fonts). De instellingen worden achtereenvolgens uit db/ragmaan-defaults en uit $HOME/.ragmaan-defaults gelezen.

Wil je de configuratie liever via een ander mechanisme (b.v. xrdb en .Xresources) regelen, dan moet je in de Makefile de definitie van RM_EXPLICIT_RESOURCE_READ uitcommentari
ëren. Let op de voorrangsregels! Een simpele 'merge' met xrdb zorgt altijd weer voor leuke verrassingen (en een volle mailbox bij mij)

Experimenteren gaat het eenvoudigst door de db/ragmaan-defaults naar $HOME/.ragmaan-defaults te kopiëren. Je kunt dan de file $HOME/.ragmaan-defaults naar hartelust wijzigen en eventueel herstellen. Voor de meestgehoorde klacht (te kleine fonts) zijn suggesties in het bestand opgenomen.

Voor kleuren- en fontspecificaties verwijs ik voorlopig naar de manual pages van X en xfontsel. Ik houd me aanbevolen voor pointers naar vriendelijker documentatie. Niet alle resources zijn in de ragmaan-defaults file opgenomen. Liefhebbers kunnen de volledige widget tree destilleren uit lib/gui.tcl

    Regular Expressions

Het is mogelijk een regular expression ('regexp') te gebruiken om de resultaten te filteren. Als je Tcl/Tk-distributie de manual pages mee-installeert, zie dan man regexp. Zoniet, dan geven man sed en man awk een aardige indruk. Let op: Regular expressions zijn er (helaas) in verschillende smaken. Hieronder staan een paar eenvoudige voorbeelden die je in het regexp-vakje kunt proberen.

(De 'ij' valt hier een beetje buiten de boot. Tip: begin hierover geen draadje in de nieuwsgroep nl.taal.)

Ragmaan is niet case-sensitive. Dat wordt gedefinieerd in source/server.c .

    Tcl/Tk

Ragmaan is ontwikkeld (nou ja, ontwikkeld) onder Debian Linux met de stokoude versies Tcl 7.6 en Tk 4.2. Meer informatie en recentere versies van Tcl/Tk zijn te vinden op
http://www.scriptics.com. Natuurlijk hebben alle grote Linuxdistributies hun eigen Tcl/Tk-packages.

Vanaf versie 1.0.3 vindt alle ontwikkeling plaats onder RedHat 6.0 met de meegeleverde Tcl/Tk 8.0. Ik kan niet meer controleren of alles nog werkt met oudere versies van Tcl/Tk.

    Veranderingen

versie 1.0.3 (juni 1999)

Voor de gebruiker is er, buiten de nieuwe sorteerfunctionaliteit en de grotere snelheid, weinig veranderd. Het ontwerp is echter behoorlijk ingrijpend gewijzigd: Ragmaan werkt nu volgens een heus client/servermodel, waarbij de server via slechts
één lijntje met de buitenwereld praat. Zoekopdrachten worden asynchroon verwerkt, en de resultaten kunnen later worden opgehaald.

Gevolgen:

Andere dingetjes:

versie 1.0.2 (maart 1999)

versie 1.0.1 (maart 1999)

versie 1.0.0 (februari 1999)

(eerste publieke versie)

    Juridisch gezwam

Ragmaan is free software and you are welcome to distribute copies of it under certain conditions; see
the GPL for the conditions. There is absolutely no warranty for Ragmaan; again, see the GPL for details. Ragmaan 1.0.3, Copyright 1999 Raymond Zandbergen

    Problemen / bugs / suggesties

Gewoon mailen naar
ray@wirehub.nl