diff --git a/OLD.seher.urlaub b/OLD.seher.urlaub
new file mode 100644
index 0000000..15c58ce
--- /dev/null
+++ b/OLD.seher.urlaub
@@ -0,0 +1,3980 @@
+Rubrik offen (Silvana, 21. Aug 1995, 13:11:32):
+Ich wollte nur anmerken, dass diese Rubrik ab sofort auf zahlreichen
+Wusch - besonders einer einzelnen Dame (na, ja...;) ) - eingerichtet
+wurde. (argl - Wunsch sollte das heissen.)
+Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+JAAAAAAAAAAAAAAAA (Rudiratter, 21. Aug 1995, 13:15:09):
+Oh dankedankedanke, endlich meine Rubrik!!
+Naechste Woche wird's aktuell, dann poste ich dann hier mal meine
+'Urlaubsadresse'
+Tschoe
+Rudi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: JAAAAAAAAAAAAAAAA (Grimmborn, 21. Aug 1995, 14:30:35):
+#! rn=Rudiratter rt=809003709
+
+Tja, wenn einem kein Titel einfaellt, macht man reply...
+Ist diese Rubrik (wie magier.urlaub) auch von jedem lesbar? Oder nur von
+Sehern?
+
+Grimmborn der Atheist, zu faul, seinen Testie auszupacken.
+
+-----------------------------------------------------------------------------
+
+
+
+Bambulko ist in Oesterreich!! (Bambulko, 21. Aug 1995, 18:49:28):
+Naja wenn es jetzt so ne Rubrik gibt, kann ich sie ja gleich mal gebrauchen.
+Ich bin jetzt ein bis zwei wochen in Oesterreich..(leider nicht in der naehe
+eines Internet-Anschlusses :( ).
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+cuchullin.weisheitszahn (Cuchullin, 23. Aug 1995, 14:23:10):
+
+
+
+AETSCH!!!!!
+Ich bin schon wieder da.
+Es gab (*Puh*) keinerlei Komplikationen, die ueblichen Schmerzen in der
+Mundhoehle und im Hals (Anaestesie), sowie die Fehlversuche beim an'tropf'en
+sind natuerlich aergerlich, aber ansonsten gehts mir gut. Haette wesentlich
+schlimmer kommen koennen, meinte die Chirurgin.
+
+Nix mehr gegen zarte Frauenhaende sagend,
+
+Cuch.-
+
+PS: Najaaaaaa, Frauen koennen auch einschlaefernd wirken - muss ich noch
+sagen, dass der Narkose-Arzt weiblich war? *laechel*
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? (Rudiratter, 24. Aug 1995, 14:41:33):
+Urlaub -naja, ich weiss nicht. Jedenfalls bin ich ab naechstem Dienstag fuer
+mindestens vier Wochen weg -eingesperrt sozusagen. Wer sich melden will, kann
+ja mal rumfragen, ein paar Leute kennen die Adresse.
+Macht's gut!
+Rudi
+
+-----------------------------------------------------------------------------
+
+
+
+RYNE -->> RAUS! (Ryne, 25. Aug 1995, 10:21:53):
+Hiho, hiho!
+
+Da auch Kampfzwerge zwischendurch regenerieren muessen (im Gegensatz zu den
+koerperlich wenig belastbaren Elfen und Menschen jedoch nur kurz), melde ich
+mich erstmal fuer 2 Wochen ab. Wenns nach mir ginge, waere ich dageblieben,
+aber mein Arzt warnte mich davor, dass die ewige Dunkelheit in
+Schreckensspitze und Zzerrenzen nicht das Beste fuer meine Augen seien.
+Schweren Herzens muss ich deshalb mal pausieren, und lege mich an irgendeinen
+Strand, wo ich mir die Zeit mit dem Graben nach Glod vertreiben werde.
+
+Oki, dann habt mal alle viel Spass in naechster Zeit, und bis bald !!
+
+RYNE
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Acrimon, 25. Aug 1995, 23:09:11):
+Auch ich bekomme 2 Wochen Urlaub verordnet.
+Morgen (Samstag) in der Frueh gehts los in die Dolomiten!
+Auf dem Mendelpasz bekomme ich Unterkunft.
+
+Ihr mueszt also ganze zwei Wochen lang auf mich verzichten!
+
+Acrimon, freut sich schon
+
+-----------------------------------------------------------------------------
+
+
+
+Eine Woche ohne den Knuddeldrachen..... (Ancalagon, 28. Aug 1995, 18:19:57):
+Halloechen ihrs!
+Wenn es diese Rubrik gibt, soll man sie auch nutzen. Also, in der zeit vom
+1.9. bis 10.9. Gibts im MorgenGrauen keine Drachenknuddler, da mein RL-Ego an
+einem Segeltoern in der Daenischen Suedsee (rund Fuehnen) unternimmt. 12
+Personen in 2 Schiffen, das wird bestimmt total toll. Wer 'ne Postkarte haben
+will, muss mir seine Adresse mailen und hoffen, dass ich genug zeit und geld
+habe...
+Wer die zeit nicht aushael, ohne von mir geknuddelt zu werden, sollte sich im
+voraus eindecken lassen oder Semira um einen Stelvertretenden Knuddler
+anhauen...
+Tschuessie,
+                                           Ancalagon
+                                  Draco knuddellensis major
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eine Woche ohne den Knuddeldrachen..... (Caradhras, 28. Aug 1995, 20:54:17):
+#! rn=Ancalagon rt=809626797
+.... apropos Drache... und noch eine Woche ohne den Golddrachen, denn
+ab uebermorgen bin ich auch erst mal fuer hmpf humm gruebel, mindestens
+7 Tage bis 10 Tage nicht da.
+Aber noch bin ich ja da, also nicht verzweifeln auf der Wasserebene.
+   *:^)
+
+     tschoe       Caradhras der ewige Prophet
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eine Woche ohne den Knuddeldrachen..... (Zephyr, 28. Aug 1995, 20:57:36):
+#! rn=Caradhras rt=809636057
+Apropos Gold... der Goldspatz wird zum Zugvogel
+und verknuddelt sich fuer zwei Wochen in den warmen Sueden
+nach Malta. Bei Bedarf ist noch ein Vorrat an Trockenknuddels
+oder Knuddels zum Anruehren zu verteilen :)
+
+Zeph, geniesst ihren Urlaub aber freut sich
+      trotzdem schon auf ein Wiederknuddeln :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Eine Woche ohne den Knuddeldrachen..... (Tasha, 28. Aug 1995, 23:40:35):
+#! rn=Zephyr rt=809636256
+Da man Zephyr nicht alleine lassen kann weil sie moeglicherweise alle
+Malteser plaetten wuerde und dann nie mehr zurueck kaeme beame ich mich
+hinterher und passe auf sie auf. :))
+
+winkend, Tasha
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? Naja. (Hardil, 29. Aug 1995, 13:02:49):
+
+Ichweiss nicht, ob man es Urlaub nennen kann, aber wenn sich hier alle schon
+abmelden:
+Von Freitag bis etwa Mittwoch bin ich in der schoenen Pfalz. Und den
+umliegenden Landschaften. back to the roots quasi.
+Wie sagte doch so schoen ein deutscher Dichter:
+
+Wieso in die Ferne reisen, sieh, das Glueck liegt doch so nah...
+
+-Hardil :)
+
+-----------------------------------------------------------------------------
+
+
+
+Auch weg, aber kein Urlaub :( (Dwight, 30. Aug 1995, 02:07:48):
+Holla
+
+Tja, wird wohl nicht viele interessieren, aber falls ich es jemandem nicht
+persoenlich erzaehlt hab, hier eine Ankuendigung:
+
+Heute ist fuer einige Zeit mein letzter Tag im Morgengrauen, meine Bank
+besteht darauf, dass ich mal Geld ranschaffe.
+Da ich zu Hause kein Internetanschluss habe, und das telefonieren von Minden
+nach Dortmund etwas teuer waere, und dem sinn der Sache somit zuwieder laufen
+wuerde, muss ich wohl auf euch verzichten :(
+
+Vielleicht laesst sich ja was machen, aber ich fuerchte nicht, evtl. schau
+ich am WE mal rein.
+
+Also, machts gut, ich werde das hier sehr vermissen.
+
+Bis hoffentlich bald.
+
+          Dwight (mit nicht nur einer Traene im Auge)
+
+-----------------------------------------------------------------------------
+
+
+
+Leserechte (Grimmborn, 30. Aug 1995, 12:53:20):
+
+Wie waers mal mit Konsistenz? Spieler koennen magier.urlaub lesen,
+seher.urlaub aber nicht. Also, da fuehl ich mich als Magier doch glatt
+abgewertet... ;-)
+
+Grimmborn der Atheist. Will Spielern die Seherurlaube zugaenglich gemacht
+haben.
+
+-----------------------------------------------------------------------------
+
+
+
+Weg (Anakin, 10. Sep 1995, 23:23:03):
+Hiho,
+
+Fuer alle die es interessiert, ich werd wohl (hoff ich) etwas
+weniger mudden in naechster Zeit. Ist ja schon zur Sicht geworden,
+seit einem Jahr verbring ich mein Haupteil meiner Zeit in diesem
+Mud. Vielleicht werd ich auch Magier um nicht rueckfaellig zu
+werden. Erstmal ein bisschen Pause und dann weitersehen.
+Hat wirklich Spass gemacht hier zu spielen. Wenn ich eingeloggt
+bin dann nur aus Versehen ;).
+
+So long
+          Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Jim diGriz beamt sich weg :( (Jimdigriz, 18. Sep 1995, 14:02:59):
+Hiho !
+
+Zur Fortsetzung meines Studiums reise ich nach Edinburgh,
+Schottland. Ich weiss leider noch nicht, wie meine Internet-
+Connectivity dort aussieht. Moeglicherweise wird es eine Weile
+dauern bis ich mich wieder hier sehen lassen werde. Da ich am
+Montag wegbeame, hab ich auch diese Woche kaum noch Zeit fuers MG.
+Ich hoffe wir sehen uns bald wieder ;-))
+
+cu all, and stay cool checkerdudes & dudesses :)
+
+ James Bolivar diGriz, die Edelstahlratte.
+
+-----------------------------------------------------------------------------
+
+
+
+Kein richtiger Urlaub (Quengistu, 20. Sep 1995, 00:38:09):
+Huhu,
+Vom 27.9. bis ca. 4.10. wird meine Wenigkeit noch seltener als sonst hier
+sein, naemlich gar nicht. Stattdessen bin ich in Berlin anzutreffen, wo ich
+mich bei Patenonkel und -tante durchfuttern werde.
+Falls in der Woche in Berlin ein MorgenGrauen-Stammtisch stattfindet, waere
+es nett, wenn mir das vorher jemand mailen koennte.
+Viele Gruesse,
+   Quengistu
+
+-----------------------------------------------------------------------------
+
+
+
+ne ganze weile weg ... (Skipper, 21. Sep 1995, 19:33:48):
+Hi,
+
+ich werde 4 Wochen pausieren. Griechenland, davon 2 Wochen segeln ;)
+Viel Spass beim mudden und bis bald
+
+SKIPPER
+
+-----------------------------------------------------------------------------
+
+
+
+...und weg... (Augra, 24. Sep 1995, 19:51:31):
+Hi, endlich mal Urlaub, eine Woche nur am Waser langlaufen und an seeeeehr
+wenig denken....une Etah nehm ich mit:).
+
+Augra
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Aell,  2. Okt 1995, 06:24:12):
+  Oder so.
+
+  Jedenfalls bin ich in naechster Zeit nicht zu meinen ueblichen
+Zeiten verfuegbar, sondern wann auch immer man mich laesst, und
+das ist ungewiss -- ich bin naemlich ob schlechtbezahlten un-
+freiwilligen Bundesdienstes die naechsten elf Monate nur be-
+dingt verfuegbar...
+
+    Aell
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Aell,  2. Okt 1995, 15:42:27):
+#! rn=Aell rt=812611452
+  Allerdings, wenn es so weitergeht, wie sich der erste Tag anfuehlt,
+dann bin ich spaetestens in zwei Wochen entweder als Gemuese oder als
+Nervenbuendel in der Psychiatrie zu finden...
+
+-----------------------------------------------------------------------------
+
+
+
+Lobenswert (Tasha, 15. Dez 1995, 16:13:56):
+Hi!
+
+Anlaesslich der Tatsache, dass diese Rubrik vollkommen leer war, moechte ich
+mal allen Sehern dazu gratulieren, dass sie so fleissig bei der Arbeit sind
+und nicht im Urlaub rumfaulenzen.
+
+Gratulation, Tasha
+
+P.S.: Nein, dieser Artikel hat keinen Sinn. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Aline, 15. Dez 1995, 16:21:00):
+Hi,
+
+so fuer alle Fans meiner Emanzensprueche und zur Freude der anderen,
+kuendige ich hiermit meinen Urlaub an. ;)
+
+Also da ich zwischen Weihnachten und Neujahr nicht arbeite, sitze ich
+auch nicht mehr an einem vernetzten Rechner und geniesse die Zeit ohne MG.
+*zitter* *bibber* *habvolldieEntzugserscheinungen*
+
+Aline
+
+P.S.:Freut Euch nicht zu frueh!! In der 1. Januar-Woche komme ich wieder! ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Asmodis, 15. Dez 1995, 16:24:25):
+#! rn=Aline rt=819040860
+Ich werde zwischen dem 24.12.95 und dem 1.1.96 wohl auch nicht an einen
+Rechner kommen.
+Irgendwann muss man ja mal Urlaub machen :)
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub (Isnogood, 15. Dez 1995, 23:45:37):
+Ich werde in der Zeit vom 24.12 bis 31.12 definitiv keinen Urlaub machen.
+Dafuer werde ich mich vom 3.1 bis 8.1 mit Inesha in die Flitterwochen begeben.
+Isno
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kein Urlaub (Jimdigriz, 18. Dez 1995, 14:28:30):
+#! rn=Isnogood rt=819067537
+Ich schon,
+
+leider sogar vom 21.12. bis vermutlich 2.1.
+
+Frohes Fescht !
+
+James Bolivar diGriz.
+
+-----------------------------------------------------------------------------
+
+
+
+Me too. (Cuchullin, 18. Dez 1995, 14:35:32):
+
+find_seer("cuchullin")->move("/d/wild_south/schwaben/dahoim.c",M_GO)
+
+         Und zwar ab uebermorgen oder den Tag darauf
+         Bis zum 7.1.neunzehnhundertsechsundneunzig *aechz*
+
+Geniesst die Zeit, ich kann's vermutlich nicht...
+Cuch.-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Me too. (Caradhras, 18. Dez 1995, 15:31:33):
+#! rn=Cuchullin rt=819293732
+seher.nichturlaub:
+
+Vermutlich ab uebermorgen bis keine.ahnung.1996
+Evtl sogar bis 10ter Januar.
+
+       Wuenscht allen schoene Weihnacht und vor allem seinem
+       Freund, dem Sensi, guten Rutsch
+
+            Caradhras I von und zu SSP
+
+-----------------------------------------------------------------------------
+
+
+
+Unfreiwilliger Urlaub (Acrimon, 19. Jan 1996, 07:50:09):
+Also, nachtraeglich melde ich noch meinen unfreiwilligen "Urlaub",
+der Grund warum ich die letzten 2 Wochen nicht anzutreffen war:
+
+Ich bin am 3. Januar auf dem Glatteis ausgerutscht und so ungeschickt
+gefallen, dasz ich mir eine "linksseitige Beckenringfraktur" zugezogen habe,
+auf deutsch: Ich habe mir zwei kleinere Knochen des Beckens gebrochen.
+Gestern bin ich aus dem Krankenhaus entlassen worden.
+
+Acrimon, der Rote Ritter
+
+-----------------------------------------------------------------------------
+
+
+
+Hm (Caradhras, 28. Jan 1996, 14:43:32):
+Ich mach nochmal 5 Tage Spielpause. (mind.) Wird zwar kein Urlaub, aber
+watt solls. :)
+Bin noch in AL erreichbar.
+
+        Und tschuess
+  Caradhras - nimmt Celebdil, Fanuidhol, Mindolluin und Methedras auch
+             gleich mit
+
+-----------------------------------------------------------------------------
+
+
+
+Unbekannte Zeit nicht da. (Khidar,  1. Feb 1996, 12:03:36):
+Da ich nicht mit der gegenwaertig geltenden Scriptdefinition spielen moechte,
+bin ich auf unbestimmte Zeit weg. Gelegentlich werde ich in der Zeitung
+verfolgen, was sich nun so entwickelt hat.
+Ich bin im GL und evtl. im TAPP oder WL zu finden (erstmal sehen).
+
+Khidar (kann sich grade noch beherrschen, nicht zu lose Bemerkungen von sich
+zu geben.)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Unbekannte Zeit nicht da. (Ryne,  1. Feb 1996, 13:02:16):
+~#! rn=Khidar rt=823172616
+~#! tid=823172616
+Oh ja...
+
+wenn wir jetzt alle beleidigte Leberwuerste spielen, ob dann die Magier wohl
+wieder alle scripts erlauben werden ?
+
+Aus Solidaritaet schliesse ich jetzt mal erstmal mein Seherhaus ab. Als ganz
+dicke dicke Strafe fuer die boesen boesen Magier weil ich scripten scripten
+scripten will...
+
+
+Ryne, lacht sich nen Ast ob solcher Protestaktionen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Unbekannte Zeit nicht da. (Wargon,  1. Feb 1996, 13:03:41):
+~#! rn=Ryne rt=823176136
+~#! tid=823172616
+  He!
+Und was sollen die armen ZT-suchenden Spieler jetzt machen, wenn sie nicht in
+Dein Haus kommen?
+  Tststs,
+    Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Unbekannte Zeit nicht da. (Frado,  1. Feb 1996, 13:06:05):
+~#! rn=Wargon rt=823176221
+~#! tid=823172616
+Das ist ja das gemeine an der Strafe! - Und ihr Magier steht vor dem Dilemma,
+dass die Spieler diesen ZT nicht kriegen koennen! Mal sehen wer laenger
+durchhaelt - ich habe alle meine ZTs!!!!
+
+Ryne
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Unbekannte Zeit nicht da. (Tasha,  1. Feb 1996, 14:02:35):
+~#! rn=Ryne rt=823176136
+~#! tid=823172616
+Auf die Gefahr hin, selber nieveaulos zu werden: Schreib doch bitte
+demnaechst nur noch Artikel, wenn Du irgendwas zu sagen hast. Solcher
+Bloedsinn wie Du ihn hier verzapfst traegt naemlich nichts zur Loesung
+irgendeines Problems bei.
+
+Tasha
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Unbekannte Zeit nicht da. (Bambulko,  1. Feb 1996, 14:26:33):
+~#! rn=Wargon rt=823176221
+~#! tid=823172616
+Hey war das nicht gerade Spielerhilfe?
+Loescht sofort Wargon!
+
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Unbekannte Zeit nicht da. (Grimmborn,  1. Feb 1996, 17:11:00):
+~#! rn=Bambulko rt=823181193
+~#! tid=823172616
+
+Wieso Wargon loeschen?
+Soweit ich das gesehen habe steht auf scripten die Loeschstrafe, nicht auf
+helfen.
+Oder hat Wargon per script den Artikel in die mpa gesetzt?
+
+Grimmborn der Atheist. Tippt noch mit der Hand.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Unbekannte Zeit nicht da. (Bambulko,  1. Feb 1996, 17:48:07):
+~#! rn=Grimmborn rt=823191060
+~#! tid=823172616
+Weiss nicht, ich haette Wargon mal snoopen muessen, aber das kann ich als
+kleiner Popelsmagier ja leider nicht.
+
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Unbekannte Zeit nicht da. (Ryne,  1. Feb 1996, 18:10:44):
+~#! rn=Tasha rt=823179755
+~#! tid=823172616
+Tasha, fuehl Dich geknuddelt, wenn Du magst.
+
+Aber wenn Khidar in dem Moment, wo Skripte verboten werden, erstmal seinen
+Abschied ankuendigt, kann ich mir ein gewisses grinsen und einen kleinen Bezug
+zu einer aehnlich laecherlichen Aktion bei einem anderen Anlass meinerseits
+(eben mit dem Seherhaus) nicht verkneifen. Und ob Du das dann
+aussergewoehnlich konstruktiv findest, geht mir wirklich nicht ab.
+
+Ryne. Schreibt unnoetige replies nur bei interessanten Themen.
+
+inherit std/article/ryne/extralong/--mehr(2%)--
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Unbekannte Zeit nicht da. (Fyt,  1. Feb 1996, 18:24:19):
+~#! rn=Ryne rt=823194644
+~#! tid=823172616
+
+Naja, Khidar hatte sich das schon reiflich ueberlegt, seit dem
+Wochenende war naemlich so ungefaehr klar, was kommen wuerde.
+
+Es war also *kein* Schnellschuss.
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Ich mache mich rar..... (Ancalagon,  7. Feb 1996, 17:21:03):
+Moin erstmal!
+Tja, seit heute gehoere ich mal wieder zur arbeitenden Bevoelkerung. Das
+heisst, ich werde seltener anwesend sein. Hoechstens mal nachmittags, so ein-
+zweimal in der Woche.
+Knuddelsuechtige werden dann nach Ostern entschaedigt werden...
+Tschuessie,
+                                                    Ancalagon
+                                           Draco knuddellensis major
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Unbekannte Zeit nicht da. (Jof,  9. Feb 1996, 17:54:27):
+~#! rn=Tasha rt=823179755
+~#! tid=823172616
+
+ So ein Bloedsinn wie: Ich bin beleidigt und spiele nicht mehr hier, wenn
+ich nicht scripten kann, traegt aber auch zu keinerlei Problemloesungen bei
+und faellt m.E. in die Rubrik: Dinge, die niemanden interessieren, die aber
+jemand posten wollte ...
+
+ jof
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Unbekannte Zeit nicht da. (Fyt, 11. Feb 1996, 16:30:50):
+~#! rn=Jof rt=823884867
+~#! tid=823172616
+
+Nicht ganz, Jof. Das staerkt naemlich den Leuten den Ruecken, die
+sich mit aehnlichen Abscihten tragen. Natuerlich reisst es die
+Friede-Freude-Eierkuchen-Stimmung, die manche Leute hier sehen
+wollen auf... Ich fuer meinen Teil kann jedenfalls mit derartigen
+Artikeln leben, die Aussage 'interessiert niemand' kann ich nicht
+so stehen lassen.
+
+Fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause wg. Vordiplom (Escubar, 11. Feb 1996, 22:15:30):
+Da ich am 4. und 6. Maerz VWL-Vordiplom schreiben muss, lass ich Euch bis
+dahin mal in Stich...
+Werd mit Esci ab und an Zeitung lesen, eventuelle Post bitte auch an ihn.
+
+Was ich mach wenn die Zauberergilde zwischenzeitlich kommt weiss ich noch
+net, wahrscheinlich stell ich die Lernerei dann sofort ein ;)
+
+Jo dann bis die Tage und lasst das Mud stehen und den Rechner ganz...
+
+Euer Eisbaer Escubar
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Unbekannte Zeit nicht da. (Pra, 15. Feb 1996, 13:15:03):
+~#! rn=Fyt rt=824052650
+~#! tid=823172616
+Jau, Jof,
+
+aender die Aussage doch bitte in: 'interessiert nur Fyt.'
+
+Pra. Heute bitterboese ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause (Caradhras, 19. Feb 1996, 06:49:26):
+21 Tage Spielpause.
+Fuer Caradhras, Celebdil, Mindolluin, Fanuidhol, Methedras.
+
+    Bin noch in AnderLand oder UNItopia erreichbar, oder email
+
+       tschuess        Caradhras (singt: eine Insel mit zwei Bergen...)
+
+-----------------------------------------------------------------------------
+
+
+
+Bin erst mal weg (Mahatma,  1. Mar 1996, 07:37:32):
+Hallo auch,
+
+ich mach jetzt erst mal einen Monat zu Hause Ferien und kann deshalb erst
+wieder Ende Maerz ins Mud kommen. Knuddelt mir bis dahin die Hydra nicht zu
+doll, nicht dass sie Angst bekommt und nicht mehr erscheint ;)
+
+Mahatma (hat die optimale Kampftaktik fuer das Vieh endgueltig gefunden)
+
+-----------------------------------------------------------------------------
+
+
+
+Praktikum (Janice,  3. Mar 1996, 22:51:29):
+Hallo Leutings !
+Wie mein Titel schon andeutet, fang ich mit meinem Praktikum an. Los
+gehts schon morgen, das waere dann der Montag, und dauert knapp 18 Wochen.
+In dieser seit werd ich leider sehr selten da sein, meist nur am WE, da
+meine Praktikumsstelle leider keinen Internet-Anschluss haben (bzw. nur
+die hohen Chefs haben Zugang) und E-Mail ist leider auch nicht drin :(
+Ich schau aber abundzu auf meinen Uni-Account wegen mail nach, wer mir also
+was mailen moechte, tut das bitte an janice@fb6.fhtw-berlin.de. Ich freu#
+mich ueber jede Mail :-)
+Achja, wenn die Nachklausuren vorbei sind, schau ich auch mal abends uebers
+Modem rein :)
+
+Fuehlt euch geknuddelt und gewuschelt !!
+Janice wurde vom RL eingeholt *zitter*
+
+-----------------------------------------------------------------------------
+
+
+
+Skifahrn :) (Escubar,  9. Mar 1996, 01:17:43):
+Bin von heute 5:00 an bis Nachste Woche Sonntag beim Skifahren in Obertauern
+:)
+
+Zieht mir bitte in der Zauberergilde nicht zu weit davon (gell Arty ;)
+
+Eisbaer Escubar freut sich auf die Kaelte
+
+-----------------------------------------------------------------------------
+
+
+
+Wech (Caradhras, 28. Mar 1996, 05:29:39):
+Spielpause 21 Tage, natuerlich kein Urlaub.
+
+Mit Caradhras, Celebdil, Fanuidhol, Mindolluin, Methedras
+
+     Die fuenf Berge winken euch zu
+
+              Adelandeyo,
+Leises Rauschen dringt an Dein Ohr. Suedlich von Dir fuehrt ein Weg weiter
+an dem See vorbei ueber einen Abgrund. Dort stuerzt auch ein Wasserfall in
+die Tiefe. Der Weg fuehrt auch nach Nordosten weiter zu einem Bach, der
+aus Richtung Norden vom grausamen Caradhras heruntergeflossen kommt.
+Ein schmaler Pfad fuehrt nach Nordwesten in die Hoehe. Du kannst nicht
+erkennen, wo er danach hinfuehrt. Er verschwindet in den Huegeln ueber
+dem Tal suedlich, ueber das Du von hier eine gute Aussicht hast. Nach
+Suedosten und Osten geht es in einen See. Hinter dem See liegt die riesige
+Silberzinne, Celebdil genannt. Auch vermeinst Du, vor seiner Bergflanke
+einen Weg verlaufen zu sehen.
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech... (Chicola, 28. Mar 1996, 10:36:05):
+
+Nachdem ich nun alles fuer den 7. Dan zusammen habe (bis auf 90 stunden
+online *fluch) verdufte ich mal ein Weilchen. Ich werde mich ein wenig in
+England, Wales und eventuell Schottland umsehen. Also sagt bitte der IRA
+Bescheid :)
+Lasst das MG nicht verkommen und achtet darauf, dass die Stimmung nicht noch
+weiter absackt.
+Bis zum 22.April          Chicola
+
+-----------------------------------------------------------------------------
+
+
+
+Nachtrag (Chicola, 28. Mar 1996, 10:37:19):
+Achja :) und seid NETT zu einander und den armen NPCs :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nachtrag (Morgoth, 28. Mar 1996, 10:40:21):
+~#! rn=Chicola rt=828005839
+~#! tid=828005839
+meine npcs sollen nett sein ???
+-> schmarrn
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nachtrag (Mupfel, 29. Mar 1996, 16:27:10):
+~#! rn=Morgoth rt=828006021
+~#! tid=828005839
+Klar, fueg halt bei allen "er laechelt" ans Ende der Beschreibung ein.
+
+-----------------------------------------------------------------------------
+
+
+
+UnfreiwilligerUrlaub... (Har,  6. Apr 1996, 17:34:54):
+Tja, da ich nun endlich meinen Eilanatrag nach 12 Wochen bearbeitet bekomen
+habe, werde ich mich ab naechsten Mittwoch zu einem 4 woechigem Zwangsurlaub
+in einer Reahklinik in Bad Ems einfinden. Die sind da medizinisch sehr gut
+ausgestattet, aber die internetmaessige Anbindung laesst wohl noch zu
+wuenschen uebirg....
+Bis dann also...
+
+Har.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Studium (Anatol, 15. Apr 1996, 12:50:44):
+Ich werde wohl etwas seltener da sein.
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Studium (Anakin, 15. Apr 1996, 13:28:45):
+~#! rn=Anatol rt=829565444
+~#! tid=829565444
+Haha ? :)
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub (Jimdigriz, 18. Apr 1996, 22:11:04):
+.. sondern leider viel Arbeit hab ich grade :(((
+Deshalb bleibt mir kaum Zeit fuer MG, das sollte sich am
+10.5. gelegt haben, da is naemlich die Porject deadline ;)
+
+Project nicht Porject sollte das heissen ;)
+
+aeh ja ... also ich bin hin und wieder da zum newslesen
+mag jmd fuer mich karateue.... aeh ;-) *blubber* nix, vergesst es ;-)
+
+Ciao,
+ Shukokai Karateka JimDiGriz.
+
+-----------------------------------------------------------------------------
+
+
+
+Back again :) (Chicola, 22. Apr 1996, 08:37:42):
+
+Siehe Oben :)
+
+Chicola :))) uebt immer noch Karate :(
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Skipper, 25. Apr 1996, 23:35:51):
+Moin Ihr's,
+
+ich bin 3 Wochen segeln ...
+
+Viel Spass und bis bald
+
+Skipper
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Orktoeter, 26. Apr 1996, 14:18:23):
+~#! rn=Skipper rt=830468151
+~#! tid=830468151
+Mit Handy und Laptop ist das doch kein Grund, nicht zu mudden.. :))
+(PS wie willst du auf dem Boot Darten ? *grins*)
+OrkT
+
+-----------------------------------------------------------------------------
+
+
+
+ganz kleine Pause (Siborit, 17. Mai 1996, 00:39:10):
+Ok, mann kann es eigentlich kaum Urlaub nennen, aber ich wird den naechsten 10
+Tage auch nicht Mudden, weil ich Magnum besuchen wird.
+
+Hatte eigentlich nur Bock mal was in der MPA zu schreiben ;))
+
+Ok, Ciao ich hoffe ich wird dieses 'Mud-cold-turkey' ueberleben. ;)))
+
+Siborit ;v)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? Noe :) Trotzdem wech (Caradhras, 17. Mai 1996, 21:33:25):
+Samstag, 18.05. bis Sonntag 26.05.  /bin/weg/@/home
+
+     tschuess, schoene Woche, wuensche viele schoene Reboots :)
+
+            Der Babygolddrache Caradhras
+
+-----------------------------------------------------------------------------
+
+
+
+Seufz* (Lug, 20. Mai 1996, 23:04:48):
+Moin,
+leider bin ich die naechsten drei Wochen weg. Wenn ich es schaffe sehe ich
+nochmal naechsten Montag rein.
+Gruss
+Lug Samildanach
+
+-----------------------------------------------------------------------------
+
+
+
+auch mal weg (Alboin, 24. Mai 1996, 19:19:03):
+Hoi Leuts!
+Ich mach mal fuer ne Woche Urlaub.Vielleicht hab ich ihn ja sogar verdient
+*grins*
+Bis baldius
+Alboin mit den 40 Tausendsties
+
+-----------------------------------------------------------------------------
+
+
+
+Re: auch mal weg (Hardil, 30. Mai 1996, 13:33:00):
+~#! rn=Alboin rt=832958343
+~#! tid=832958343
+
+Auja. Mal Leute neidisch machen. :)
+Bin ab Mitte Juli fuer sicherlich 8 Wochen nicht da. 1 Woche Kraxeln in .at,
+dann 6 Wochen quer durch .edu und .ca . Vielleicht logge ich mich mal von
+Seattle aus ein, falls ich zufaelligerweise schlaflos in Seattle sein sollte
+oder so aehnlich.
+Achja, Durian, falls ich Dir irgendwelche CDs mitbringen soll, vergiss nicht,
+mir ne Liste mitzugeben. :)) (das kapiert jetzt wieder keiner, ausser dem
+Sandmann, abbaissokee)
+
+Kanns kaum abwarten:
+
+			-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: auch mal weg (Har, 30. Mai 1996, 13:42:41):
+~#! rn=Hardil rt=833455980
+~#! tid=832958343
+Hmm, ich braeuchte zwar keine CDs aber Du koenntest mal schauen, ob die Ibanez
+ATK-Bass-Serie in Seattles Musikgeschaeften billiger ist :)
+
+Har (knapp bei Kasse)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: auch mal weg (Niedecken, 30. Mai 1996, 14:34:52):
+~#! rn=Har rt=833456561
+~#! tid=832958343
+jo, ich hab gehoert dort soll das brot ein paar cent billiger sein, bringst du
+mir mal 3 4pfuender mit
+
+thanx
+
+-----------------------------------------------------------------------------
+
+
+
+damit was in der mpa steht ;) (Jimdigriz, 14. Jun 1996, 18:42:04):
+wen's interessiert, ich fahr' naechste woche in die highlands
+
+JdG.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: damit was in der mpa steht ;) (Asmodis, 14. Jun 1996, 18:47:55):
+~#! rn=Jimdigriz rt=834770524
+~#! tid=834770524
+Behalte deinen Kopf auf den Schultern, Highlander :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: damit was in der mpa steht ;) (Jimdigriz, 14. Jun 1996, 18:48:38):
+~#! rn=Asmodis rt=834770875
+~#! tid=834770524
+Ich komm ja nicht aus Australien ;-))
+
+JdG.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: damit was in der mpa steht ;) (Cauno, 14. Jun 1996, 19:26:13):
+~#! rn=Jimdigriz rt=834770918
+~#! tid=834770524
+Die erste Pointe hab ich verstanden (Highlander) aber die zweite (Australien):
+haeh? bitte erklaeren.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: damit was in der mpa steht ;) (Jimdigriz, 16. Jun 1996, 13:59:36):
+~#! rn=Cauno rt=834773173
+~#! tid=834770524
+Bezog sich auf Mel Gibson und Braveheart (der angeblich wahre highlander
+oder so, William Wallace)
+
+JdG.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: damit was in der mpa steht ;) (Bambulko, 17. Jun 1996, 17:28:32):
+~#! rn=Jimdigriz rt=834926376
+~#! tid=834770524
+Ich dachte der heisst Edgar Wallace :-)
+
+Jaja schon gut.....Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Time for leaving (Lug, 21. Jul 1996, 06:14:05):
+Moin,
+
+bedingt durch die Materialaufnahme fuer meine Magisterarbeit werde ich wohl
+leider fuer laengere Zeit Pause machen muessen. Drueckt mir die Daumen, dass
+ich einen Zugang ans Netz finde. In dringenden Faellen bin ich ueber Symbiont
+zu erreichen.
+
+Gruss an Euch Alle!
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Time for leaving (Symbiont, 21. Jul 1996, 19:49:24):
+~#! rn=Lug rt=837922445
+~#! tid=837922445
+Wobei ich sicherheitshalber anmerke, dass Lug nicht mein Zweitie ist. ;)
+
+->SYMBIONT<-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Time for leaving (Asmodis, 22. Jul 1996, 10:52:12):
+~#! rn=Symbiont rt=837971364
+~#! tid=837922445
+Wer's glaubt ...
+
+-----------------------------------------------------------------------------
+
+
+
+Damit Grimmborn nicht langweilig wird.... (Jimdigriz, 25. Jul 1996, 16:48:09):
+..schreib ichs auch in die mpa,
+interessieren tuts ja keinen ;)
+
+Also ich muss ich ersma vom .de-schock erholen und fahr in Urlaub.
+und zwar nach Kiel. Man sieht sich dann auf der Fete ! Ich hoffe dass sich da
+nix mehr gross aendert
+
+Stainless Steel Rat James Bolivar diGriz
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Un-Urlaub (Crolla, 31. Jul 1996, 14:27:37):
+Tja, ich muss leider wieder zurueck nach England...
+
+Ich werde zunaechst, wenn ich in London weile, weder Computer, noch Modem,
+Internet-Account, Uni um die Ecke oder sonstwas haben, das mich mit dem
+Morgengrauen verbindet. Deshalb weiss ich noch gar nicht, wann ich
+wiederkommen kann. 
+Ich hoffe sehr, dass das schneller als in einem oder zwei Jahren ist, denn ich
+muss erstmal ein bisschen arbeiten, um mir den ganzen Kram kaufen zu koennen.
+
+Bis hoffentlich bald,
+Crolla
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub :) (Aline, 31. Jul 1996, 15:30:45):
+Hallo,
+
+tja ich werde wohl die naechsten 2 Wochen (ab Montag) nicht mehr
+ins MG kommen, da ich Urlaub mache. :)
+Aber ihr werdet mich nicht so schnell los, da ich einen Teil meines
+Urlaubs in Berlin verbringen werde.
+Also seid schoen lieb und aergert meinen Eheliebsten nicht allzu sehr!
+Und setzt ihm vor allen Dingen keine Flausen mehr in den Kopf, von
+wegen eine Frau hat nichts zu sagen!!!!!
+
+Aline winkt artig
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub *freu* (Escubar, 14. Aug 1996, 19:53:57):
+Hallo Muddies ;)
+
+Nachdem ich jetzt endlich meine Klausuren hintermir habe (besonders toll wars
+ja net, mal gucken ... ) fahr ich ab morgen in Urlaub ;))))
+
+Werde 2 schoene Wochen mit viel Sonne und schoenem Strand verbringen ... ;)
+
+Dann bis September und lasst das Mud stehn ..
+
+Zaubereisbaer Escubar
+
+-----------------------------------------------------------------------------
+
+
+
+Bin mal eben weg (Mahatma, 15. Aug 1996, 15:29:09):
+Moin,
+
+da ich jetzt fuer 2 Wochen mal heimfahre, werde ich demnaechst nicht hier
+anzutreffen sein. Wer also schon immer mal die Hydra antesten wollte, ohne 
+dabei von Turbo-Mahatma behindert zu werden, fuer den ist jetzt die beste
+Zeit gekommen ;).
+
+So denn.
+
+Mahatma
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bin mal eben weg (Rudiratter, 15. Aug 1996, 17:12:14):
+~#! rn=Mahatma rt=840115749
+~#! tid=840115749
+Super, dann krieg ich ja endlich mal nen Knochen ab ;)
+
+Rudi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bin mal eben weg (Ryne, 15. Aug 1996, 22:38:54):
+~#! rn=Rudiratter rt=840121934
+~#! tid=840115749
+He, nicht so gierig!
+
+von einem Knochen koennen locker auch zwei essen. Ich mach dann den Jerry
+Lewis.
+
+Ryne schreibt Artikel die keiner versteht.
+
+-----------------------------------------------------------------------------
+
+
+
+Von wegen Urlaub (Quengistu, 16. Aug 1996, 15:47:28):
+Vom 17.8. bis 22.8 wird mein "Alter Ego", welches mittels Tastatur mein
+Geschicke in dieser Welt lenkt, leider verreist sein (Nein, leider kein
+Urlaub, sondern Konferenz). Daher werden ich und mein treuer
+Goldmuenzentraeger Aureus in der genannten Woche abwesend sein.
+
+Weiterhin frohes MUDden, wuenscht Quengistu
+
+-----------------------------------------------------------------------------
+
+
+
+Kaum Seher, schon Urlaub! (Tolgan, 22. Aug 1996, 16:59:18):
+
+Hallo allerseits :)
+Da ich gestern nach harter Arbeit Seher geworden bin, fahre ich nun nach
+Korsika Urlaub machen... *grins*
+Bis in so ca. 2 Wochen.
+
+Ciao
+     Tolgan
+
+
+-----------------------------------------------------------------------------
+
+
+
+4 Wochen weg (Skipper, 22. Aug 1996, 23:49:38):
+Hi,
+
+ich mach mal 4 Wochen Pause. Fahre nach Irland.
+
+bis bald und viel Spass
+
+Skipper
+
+-----------------------------------------------------------------------------
+
+
+
+NEID (Critias, 13. Sep 1996, 21:14:14):
+ICH BIN NEIDISCH AUF ALLE DIE IHR DA IN URLAUB FAHRT!! BESONDERS AUF
+SKIPPER!!!!! ARGGL ;)
+
+
+Critias, der seit 4 Jahren nicht mehr in Urlaub war!!! :(( Spenden werden gern
+entgegengenommen ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Das Gebirge (Caradhras, 19. Sep 1996, 22:08:52):
+Ist von Freitag bis Montag 2 mal druff (30ter) 10 Tage lang wech.
+AnderLand-Leute kriegen mich auch schon vorher zu sehen.
+
+     Rothorn Caradhras - rising 15.003 feet in the air
+
+-----------------------------------------------------------------------------
+
+
+
+Immer noch weg... (Crolla, 20. Sep 1996, 22:57:40):
+Tja, ich bin immer noch in England und habe immer noch keinen Account... aber
+ich arbeite dran ;)
+
+Crolla
+
+-----------------------------------------------------------------------------
+
+
+
+Mal wieder eine Weile weg... (Lug,  3. Nov 1996, 04:10:16):
+
+Nur falls es jemanden interessiert. Ich bin mal wieder in Oldenburg. In
+NOtfaellen Symbi kontaktieren!
+Bis denn und viel Spass beim mudden!
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mal wieder eine Weile weg... (Symbiont, 13. Nov 1996, 21:13:19):
+~#! rn=Lug rt=846990616
+~#! tid=846990616
+Jaja, und ich hab dann wieder den Stress. =:)
+
+*grins-Toeter-an*
+
+Ein selten anwesender Symbiont, aus Langeweile. (Wo liegt das?)
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause (Escubar, 12. Jan 1997, 22:47:30):
+Hi Muddies,
+
+nachdem ich meinen Posten jetzt erstmal los bin, werdet Ihr mich ne zeitlang
+nimmer sehen.
+
+Ich muss mich leider meinem Studium widmen, da ich im Maerz ne Klausur hab,
+die ich unbedingt bestehen muss, sonst isses aus :(
+
+Ich wuensch Euch viel Spaessle, einige seh ich ja in Karlsruhe (da komm ich
+vorbei ;) und dem Rest ne schoene Zeit.
+
+Euer Eisbaer Escubar
+
+-----------------------------------------------------------------------------
+
+
+
+ich brauch geld (Vanir, 12. Feb 1997, 14:50:23):
+SO, ich werde mich ab Montag fuer eine laengere Zeit aus dem Mud 
+zurueckziehen, da ich etwas arbeiten werde, vielleicht schaff ichs 
+ja zwischendurch mal reinzugucken. Bis in 7 wochen,
+
+        Vanir.
+
+-----------------------------------------------------------------------------
+
+
+
+In den Wilden Sueden... (Anatol, 20. Feb 1997, 20:59:37):
+...wird es mich ziehen und ich werde wohl auch nach der Party fuer einige Zeit
+dort bleiben, werd' also von Samstag an bis etwa anfang April nicht mehr oder
+nur minutenweise auftauchen. 
+
+Ich wuensch' euch was :)
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Noe! (Methedras, 13. Mar 1997, 18:42:04):
+Ab uebermorgen eine Woche Ruhe vor (saemtlichen) Froeschen und
+Bergen hier im MG. Viel Spass beim laggen. 
+
+      Ein Teil des Nebelgebirges
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noe! (Kretek, 14. Mar 1997, 03:27:27):
+~#! rn=Methedras rt=858274924 rg=seher.urlaub
+~#! tid=858274924
+Na ja, lass das mal nicht Bendeigid hoeren, sonst ist der noch total
+verwirrt, wenn ich doch hier rumspuke :-)
+
+Vampirfrosch
+
+       | /  |\  |--  ---  |--  | /
+       |<   |/  |-    |   |-   |<
+       | \  |\  |--   |   |--  | \
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Taz, 28. Apr 1997, 18:20:13):
+Ich bin vom 2.5 bis 11.5 in Paris und somit nicht hier.
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Armer Anakin! (Mieze,  2. Mai 1997, 08:35:08):
+
+Armer Anakin, wie kannst Du Dich bloss freiwillig nach Gallien begeben??
+
+Eine anti-francophile Mieze
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Armer Anakin! (Fyt,  2. Mai 1997, 10:07:34):
+~#! rn=Mieze rt=862554908 rg=seher.urlaub
+~#! tid=862554908
+
+francophob... oder vielleicht auch francophag...
+
+scnr, fyt.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub -leider nein.  Aber trotzdem wech. (Aline, 17. Mai 1997, 21:04:57):
+
+So fuer alle die es interessiert........
+
+Ich bin in der naechsten Woche in Bamberg auf
+einer Tagung. Bei der Gelegenheit werde ich wohl auch mal auf
+den Berch gehen............;)
+Wo man hier soviel davon liest.
+Leider habe ich auf der Tagung keinen Internetzugang :(
+
+Bis denne also
+
+Aline
+
+-----------------------------------------------------------------------------
+
+
+
+spielpause (Janice,  2. Jun 1997, 12:50:56):
+wie im Titel schon zu sehen, ich mach eine Spielpause von 14 Tagen, 
+logischerweise wegen Klausuren, sonst wuerd ich sowas nie machen ! :)
+
+Tschue
+  Janice
+
+-----------------------------------------------------------------------------
+
+
+
+Tach und weg.... (Vanir, 17. Jul 1997, 12:27:16):
+Tja, demnaechst werde ich hier noch seltener auftauchen. Erst 2 Wochen Urlaub
+und dann erstmal 4 Wochen schuften, macht 6 Wochen ohne Mud. naja ich werds
+ueberleben. Und wens interessiert: Ich komme zur Party. 
+
+Bis die Tage, Vanir.
+
+P.S.: wer mich unbedingt erreichen will kann meine Telefonnummer bei einem der
+Osnabruecker erfragen
+
+
+-----------------------------------------------------------------------------
+
+
+
+England here I come ! (Orktoeter, 22. Jul 1997, 14:59:02):
+Wie der Tiel schon sagt, gehts jetzt ab nach England, bin mitte August wieder
+da, viele liebe Gruesse an alle meine Freunde !
+
+OrkT (und Familie).
+
+-----------------------------------------------------------------------------
+
+
+
+Einmal rund um die Ostsee (Cakey, 24. Jul 1997, 16:40:21):
+Ich will mich mal wieder so richtig schaffen, deshalb bin ich fuer die
+naechsten 7 Wochen nicht da und fahre mit'm Rad um die Ostsee. Ab Mitte
+September bin ich wahrscheinlich wieder da.
+Machts gut!
+
+Cakey
+
+-----------------------------------------------------------------------------
+
+
+
+Endlich Urlaub!!! (Gnome, 25. Jul 1997, 14:52:55):
+hiho,
+sooo... endlich urlaub an der nordsee... bin in 2-3 wochen wieder da :-)
+aergert briesel net so viel und lasst mir das mud stehen ;-)
+ich freu mich schon auf die party... :-)
+
+gnOme
+
+-----------------------------------------------------------------------------
+
+
+
+Ich mach auch mal Urlaub (Hangover, 28. Jul 1997, 14:54:33):
+Moin!
+
+Hiermit verabschiede ich mich und meinen Zweiti fuer die naechsten
+drei Wochen vom MUD. Wer noch was von mir will, muss mich bis heute
+24 Uhr hier erreichen, danach bin ich erst am 20. August wieder 
+hier.
+
+Viel Spass Euch allen,
+Hangover
+
+(und lasst das MUD net abstuerzen...)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub, was sonst? :) (Dieder, 30. Jul 1997, 12:23:33):
+Hi!
+
+Also, ich werde jetzt auch erstmal Urlaub machen. Ich hoffe man sieht sich
+dann beim MG-Treffen. Im Schrank in meinem Haus liegt alles Zeug von mir rum,
+wer will kann sich da gerne bedienen, es lohnt sich :))
+
+Machts gut, bis zum Treffen oder spaetestens im September!
+
+Knuddels,
+
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+In OL (Lug,  3. Aug 1997, 03:24:44):
+Moin,
+
+meinereiner ist erstmal wieder eine Weile wech, falls sich einer fragen
+sollte. Ich seh wohl hin und wieder nach meiner Post vom Internet Cafe aus.
+
+Bis MS denn
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+weg (Hardil,  5. Aug 1997, 11:50:08):
+
+Ich fluechte mal wieder. 2 Wochen USA.
+Bin erst nach der Mud-Party wieder hier. :-)
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Down Under (Jimdigriz, 27. Aug 1997, 02:50:14):
+Moin,
+
+ab 1.9. befinde ich mich fuer 2 Monate (sic!) 
+eben dort.
+
+Vielleicht kuck ich zwischendurch mal rein
+wenn das mit dem Anschluss klappt :-}
+
+Ciao,
+ Jim DiGriz
+
+-----------------------------------------------------------------------------
+
+
+
+bin dann mal wech... (Kannix, 27. Aug 1997, 15:53:25):
+Hi HO!
+(ich muss das doch nun auch mal probieren...:-))
+
+ich wollt dann nur mal kurz mitteilen, dass ich bis zum 15.9. oda so in der
+gegend nicht ins mg komme, da ich mich in der sonne raekeln werde und
+geniessen, werde, dass man urlaub machen kann!
+wuensch euch allen was.....
+Kannix
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Snuggle, 29. Aug 1997, 15:33:58):
+sitze bis auf weiteres in meiner Bonbonniere. Bis bald
+
+Snug
+
+-----------------------------------------------------------------------------
+
+
+
+Semira@Shannon (Semira, 29. Aug 1997, 18:25:03):
+Sodele, ich lasse Euch dann mal fuer 2 Wochen ungeknuddelt und treibe so lange
+auf einem Hausboot in Irland mein Unwesen. Wer n Kaertchen will...bis sagen
+wir..freitag 18:55 mail an mich (also bis in 30 min ;) )
+
+Semira geht schiff(f)ahrn - mit wie viel "f" auch immer 
+
+-----------------------------------------------------------------------------
+
+
+
+seher.urlaub (Yunga, 29. Aug 1997, 21:55:48):
+~#! on=Yunga ot=872883895 og=allgemeines
+Hi,
+falls es jemanden interessiert: Ich und meine Fee sind bis zum 11. September
+in Urlaub. Lasst uns das MG bis dahin stehen....
+
+Yunga
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Skipper,  1. Sep 1997, 20:40:42):
+Hi,
+
+bin ab morgen fuer vier wochen weg. Bis denne
+
+Skipper
+
+-----------------------------------------------------------------------------
+
+
+
+Fleissig arbeiten :) (Mieze, 15. Sep 1997, 08:31:01):
+Hiho,
+
+fuer die wenigen, die sich dafuer interessieren ... :)
+
+Ich muss mich ein bisschen mehr um mein Studium kuemmern und ein paar
+haessliche Pruefungen hinter mich bringen. Bis Semesterbeginn (13.10. bei uns)
+werd ich wohl nur ab und zu da sein.
+
+Mieze, die nichts mehr hasst als Pruefungen.
+
+-----------------------------------------------------------------------------
+
+
+
+Wech (Lug, 27. Sep 1997, 01:22:50):
+
+Moin,
+
+mal wieder eine Weile wech. Aber kein Grund zur Freude. Komme wieder, wenn
+mich keine plattfaehrt.
+
+Pfffffft!
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+MZP (Anatol, 21. Okt 1997, 16:28:20):
+"MZP" heisst Magisterzwischenpruefung, und eine eben solche habe ich am 
+19.11. im Nebenfach Informatik - und da darf ich einfach nicht durchfallen.
+Ja, man kann auch in Osnabrueck eine nicht bestandene MZP genau einmal
+
+wiederholen. Das Problem ist: Es ist bereits die Wiederholung. :)
+
+Die Tatsache, dass ich einen Monat spaeter dasselbe fuer die Psychologie
+bestehen muss, gar nicht mitgezaehlt, ist es doch Grund genug, mich hier
+fuer den Rest des Jahres 1997 etwas rarer zu machen.
+
+Freut euch nicht zu frueh, ich werde einmal pro Woche hier sein und
+Mails/Zeitung lesen. Aber das ist dann wohl auch schon alles.
+
+Viel Vergnuegen,
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+CNO (Cauno, 14. Nov 1997, 13:03:35):
+Ich werde ab sofort was kuerzer treten, falls das noch keinem aufgefallen
+sollte.
+Das heisst, etwa einmal pro Woche wird von mir das Brockhaus-Puiz
+aktualisiert, bis zum Ende des Jahres. Wenn jemand anderes Lust hat, den
+Kalender fuers naechste Jahr zu uebernehmen, hab ich nichts dagegen. Ich
+selber hab ihn bis jetzt noch nicht gekauft, und bin mir nicht sicher, ob ich
+es noch tun werde.
+Hin und wieder werde ich noch mal Zeitung lesen.
+
+C. No
+
+-----------------------------------------------------------------------------
+
+
+
+Bin erst mal weg (Denti, 31. Jan 1998, 21:50:47):
+
+Ist zwar nicht ganz passend, aber hier passt es am besten:
+
+Ich bin jetzt vorraussichtlich erst mal laengere Zeit weg, um genau zu sein
+2 Jahre, mit kleinen Unterbrechungen. Wie manche schon mitbekommen haben,
+beginne ich eine Ausbildung bei der Lufthansa Flight Training zum 
+Verkehrsflugzeugfuehrer. Das bringt leider mit sich, dass ich relativ
+wenig Geld habe und mir daher keinen Zugang leisten kann, ausserdem muesste
+ich in Bremen bzw. Phoenix erst mal einen Provider finden, wo ich umsonst
+rein kann ;).
+
+Ich hoffe, ich werde das MorgenGrauen noch wiedererkennen, wenn ich wieder 
+mal laengere zeit mudden kann.
+
+Denti wuenscht allen viel Spass (das hier ist ein Spiel).
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Dieder, 10. Feb 1998, 19:07:47):
+Hallo!
+
+Bin jetzt weg bis spaetestens 16.03.98... dann aber hab ich endlich wieder
+zeit, um taeglich drin sein zu koennen... (wen's interessiert :-))
+
+Viel Spass Euch allen,
+
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+Immer noch "weg"... (Crolla, 23. Feb 1998, 19:14:07):
+Hmm falls es jemand noch nicht gemerkt hat: Ich bin jetzt nicht seit ein paar
+Monaten nicht mehr so oft (sprich: eigentlich ueberhaupt nicht) drin. Das
+liegt daran, dass meine Uni mir zuerst einen telnet Zugang verweigert hat
+(Argument war, dass das zu viele benutzt haben... *wunder*), und jetzt muss
+ich leider Diplomarbeit schreiben und habe richtig richtig viel zu tun.
+
+Tja schade schade... hoffentlich klappt es irgendwann mal zwischendurch oder
+danach oder....
+
+Crolla
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? (Aline,  2. Apr 1998, 16:42:20):
+
+So naechste Woche und die Woche bis zum 18.4 hab ich meinen
+Resturlaub auf der Arbeit nehmen muessen. Ab und zu werde
+ich dann mal abends eingeloggt sein.
+
+Falls es ueberhaupt jemanden interessiert.......
+
+Vermisst mich ja eh keiner :( :(
+
+Aline (fishing for ... ;) )
+
+-----------------------------------------------------------------------------
+
+
+
+Arbeit/Urlaub??? (Denti, 13. Apr 1998, 23:15:13):
+
+Nach zwei Wochen Urlaub im MG heisst es mal wieder Abschied nehmen, da
+ich fuer die naechsten 2 Monate in Phoenix/Arizona den ersten praktischen 
+Teil meiner Flugausbildung absolviere. Eventuell habe ich Glueck und komm
+irgendwie an einen Rechner mit Netzzugang oder Modem, dann lasse ich mich 
+oefter blicken, ansonsten hoffe, ich, dass ich zumindes mail machen kann, 
+und bin damit unter s_h_sieber@hotmail.com erreichbar.
+
+Denti wird das MG vermissen.
+
+-----------------------------------------------------------------------------
+
+
+
+auch mal in dieser Rubrik posten :) (Mieze, 16. Apr 1998, 14:12:11):
+
+Hiho Muddies,
+
+wens interessiert: Ich bin bis 20.4. mit nem Kammerchor unterwegs.
+Wer alte Musik mag, ein Konzert gibts am 19.4.  16 Uhr auf Schloss Crossen.
+bis denne...
+
+... Die Mieze - uebt sich im Belcanto :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: auch mal in dieser Rubrik posten :) (Grimmborn, 16. Apr 1998, 14:54:53):
+~#! rn=Mieze rt=892728731 rg=seher.urlaub
+~#! tid=892728731
+Irgendwas in der Gegend von Koeln dabei? Wie heisst die Band?
+Fragen ueber Fragen...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+urlaubm mach mal urlaub.... *sing* (Ancalagon, 17. Apr 1998, 12:03:47):
+Kurze rede, langer sinn:
+Ab sonntag werde ich eine woche in oesterreichs hauptstadt Wien verbringen.
+Alle MGler die zu der zeit gfrad da sind und mal einen Knuddeldrachen live
+erleben wollen, koennen ja mal schaun, ob sie mich da erwischen.....
+Unterkommen werd ich wohl bei penelope.......
+Bis demnaechst mal,
+                                   Ancalagon
+                         Draco knuddellensis major
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause (Hangover, 26. Mai 1998, 17:14:18):
+Moin!
+
+Hangover und Lilaf sind erstmal in Urlaub.
+
+-Hangover
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spielpause (Hardil, 29. Mai 1998, 13:41:09):
+~#! rn=Hangover rt=896195658 rg=seher.urlaub
+~#! tid=896195658
+
+Ich mach auch 'ne WOche SPielpause wegen Turnfest.
+Aber das interessiert ja eh keine Sau. :)
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Spielpause (Anacrion, 30. Mai 1998, 14:58:56):
+~#! rn=Hardil rt=896442069 rg=seher.urlaub
+~#! tid=896195658
+Hmm. Ich bin doch auch beim Turnfest .... MUDTREFFEN ? :)
+
+Anac*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Shannara, 30. Jun 1998, 16:09:20):
+Ich werd samt meinen Zweities auf unbefristete Zeit nicht mehr ins Mud kommen,
+weil die Atmosphaere hier im Spiel sich drastisch in der letzten Zeit
+verschlimmert hat.
+
+Viel Spass noch.
+
+ Shannara.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Pra, 30. Jun 1998, 16:15:58):
+~#! rn=Shannara rt=899215760 rg=seher.urlaub
+~#! tid=899215760
+... wenn Du mit 'in der letzten Zeit' die letzten 3 Jahre meinst, dann
+hast Du sicher recht ... :-)
+
+Ach ja, frueher war alles besser... *seufz*
+
+Pra. Alter Knacker.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaub (Shannara, 30. Jun 1998, 16:17:38):
+~#! rn=Pra rt=899216158 rg=seher.urlaub
+~#! tid=899215760
+Seufz, typisch.
+
+in der letzten zeit meine ich gut die letzten Monate wo ich da war
+
+Shannara
+
+PS: noch hab ich mich noch nit ausgeloggt
+
+-----------------------------------------------------------------------------
+
+
+
+ebendies (Hardil, 29. Jul 1998, 11:41:21):
+
+01.08. bis 15.08.
+Korfu.
+42 Grad, Wassertemperatur angenehm.
+
+Genau das richtige fuer einen Rentner.
+
+
+-Hardil.
+
+-----------------------------------------------------------------------------
+
+
+
+na was wohl (Dieder, 30. Jul 1998, 10:02:53):
+Hi!
+
+Da "mail freunde" schon seit Monaten buggt und sich keiner findet, der dies
+debuggen kann/will, texte ich Euch eben hier zu... :))
+
+Also: Ich bin ab morgen, Freitag, fuer mindestens 4 Wochen weg, evtl. sogar
+bis Ende September (nein, davon ist nur eine Woche Urlaub, der Rest ist Arbeit
+:(().
+Ich wuensch Euch allen stressfreie Zeit (trotz der Abwertungen *grins*)!
+
+Gruss und knuddelz,
+
+Dieder
+
+PS: Mein gesamtes Zeug werde ich heute nachmittag in mein Haus schmeissen -
+wer zuerst kommt, mahlt zuerst... :)
+
+-----------------------------------------------------------------------------
+
+
+
+Will auch mal .. (Zephyr, 30. Jul 1998, 16:50:34):
+
+.. in Urlaub, und Montag gehts los. Erst zum Tryfan und anschliessend
+nach Duncton. Ab Freitag bin ich also 2 Wochen nicht hier - lasst das
+Mud leben und flamed nicht so viel, dass die wichtigen Artikel alle
+geloescht sind wenn ich aus dem Urlaub zurueck bin ;)
+
+*knuddels*
+             Zephyr
+
+-----------------------------------------------------------------------------
+
+
+
+Sommer! Regen! (Mahatma, 30. Jul 1998, 16:59:06):
+Bin ab morgen bis Mitte September nicht im MUD. Gruesst die Hydra von mir.
+Mahatma
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sommer! Regen! (Taz, 30. Jul 1998, 16:59:52):
+~#! rn=Mahatma rt=901810746 rg=seher.urlaub
+~#! tid=901810746
+Hmm..
+
+dann ich auch:
+
+bin von Ende August bis Anfang Oktober im Urlaub.
+
+So.
+
+Anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+und wech ... (Eisi,  5. Aug 1998, 01:33:07):
+Wens interessiert: ich werd auch kurz weg sein ... verm. bis Anfang September.
+Wenns klappt, lass ich mich am Weekend auf der Fete blicken.
+
+Also bis dann oder spaeter! 
+
+Knuddels, Eisi
+
+-----------------------------------------------------------------------------
+
+
+
+Irland (Skipper, 26. Aug 1998, 23:01:58):
+Hallo,
+
+ich bin fuer gut vier Wochen in Urlaub, dahin wo das Guinness am besten
+schmeckt ;-))
+Viel Spass beim mudden und lasst noch ein paar Sachen, wie sie sind, damit
+ich wenigetsens noch etwas erkenne, wenn ich wiederkomme ;-)
+
+Mast- und Schotbruch
+
+Skipper
+
+-----------------------------------------------------------------------------
+
+
+
+Snotty macht unfreiwillig Urlaub (Knurt, 11. Okt 1998, 13:05:10):
+Jo, 
+eben bat mich Snotty per mail ich moege mal in die MPA setzen, dass er fuer
+ein 1/2 jahr nicht mehr mudden wird, weil er ein Auslandssemsester macht und
+da keinen Zugriff aufs mud hat. Oder wie er schreibt: "Die Idioten hier haben
+jeden Zugriff auf Dinge ausserhalb des Campus gesperrt. Und da ist nix zu
+machen." 
+
+Hmmm.
+Traurig,
+Knurt
+
+-----------------------------------------------------------------------------
+
+
+
+Bin zwei Wochen weg (Tsunami,  8. Dez 1998, 15:40:35):
+Falls es Probleme in der Eismine gibt: ich bin bis am 21.12.98 weg. Also,
+entweder Mail an mich oder damit es (vielleicht) schneller geht, an Bierchen
+oder 112.
+
+Bis denne,
+
+Tsunami
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bin zwei Wochen weg (Grimmborn,  8. Dez 1998, 18:26:19):
+~#! rn=Tsunami rt=913131635 rg=seher.urlaub
+~#! tid=913131635
+Hat das einen Sinn, dass Du das als Magier in seher.urlaub schreibst, zumal Du
+das in magier.urlaub auch schon geschrieben hast?
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Bin zwei Wochen weg (Padreic,  8. Dez 1998, 19:41:56):
+~#! rn=Grimmborn rt=913141579 rg=seher.urlaub
+~#! tid=913131635
+Also Grimmi, dann les doch mal richtig! Die Artikel sind ja keineswegs gleich,
+sondern enthalten einen wichtigen unterschied.
+Die Spieler sollen 112 oder Bierchen eine nette mail schreiben wenn was ist,
+wir hingegen sollen ihnen vors Schienbein treten.
+
+Padreic (freudig auf den naechsten Bug wartend....)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Bin zwei Wochen weg (Grimmborn,  9. Dez 1998, 10:16:38):
+~#! rn=Padreic rt=913146116 rg=seher.urlaub
+~#! tid=913131635
+Upps. :-) Ich war gestern etwas unkonzentriert...
+
+Grimmborn der Atheist hat schon die dicken Stiefel an
+
+-----------------------------------------------------------------------------
+
+
+
+Paeuschen... (Mieze, 12. Dez 1998, 00:28:02):
+
+Hi Muddies,
+
+auch Katzenkrieger brauchen mal ne Pause. Darum werd ich in naechster Zeit
+seltener da sein (viel zu tun) und eventuell auch ne Weile gar nicht. Mal
+schauen, wie gross die Sucht ist.
+
+
+Gruss Mieze - pausierend
+
+-----------------------------------------------------------------------------
+
+
+
+Morgar ist weg. (Morgar, 22. Dez 1998, 17:11:06):
+Ich werde von Heute an (22.12.) bis zum 10.1. wohl nicht im Morgengrauen sein.
+
+Morgar
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub... ;) (Thufhir, 22. Dez 1998, 22:41:28):
+Thufhir und seine kleinen sind bis zum 1.4.99 im Urlaub.
+frohes Fest und guten Rutsch. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+na was wohl (Dieder, 23. Dez 1998, 11:48:59):
+... Urlaub ueber die Feiertage, bin wohl ab 4.1. wieder da. Ich wuensch Euch
+ein frohes Fest und guten Rutsch etc blablabla... :)
+
+Ein besonderer Weihnachtsgruss noch an alle meine Freunde, denen ich leider
+keine Mail schicken kann, da mein fband wohl zu gross ist (FiRZG beim
+Abschicken, aber ich brings einfach nicht uebers Herz, das mal zu entruempeln
+:-)))
+
+Mit chaotischem Gruss,
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+-> /bin/weg (Anacrion, 23. Dez 1998, 15:50:27):
+Hallo und Tschuess :)
+
+Da ich vom 26.12. bis zum 3.1 Skifahren bin und demzufolge nicht mudden kann,
+wuensche ich Euch allen ein frohes ud gesegnetes neus Jahr, weisse Weihnachten
+und guten Rutsch, alles erdenkliche Gute, eine niedrige Telefonrechnung im
+besonderen.
+
+Bis im naechsten Jahr
+
+Anacrion
+
+-----------------------------------------------------------------------------
+
+
+
+Re: -> /bin/weg (Anakin, 23. Dez 1998, 15:51:31):
+~#! rn=Anacrion rt=914428227 rg=seher.urlaub
+~#! tid=914428227
+Na los...
+
+nu aber jeder posten, dass er toll im skiurlaub ist am besten noch
+mit grossen bildern dazu.
+
+
+anakin.
+
+-----------------------------------------------------------------------------
+
+
+
+Ups... (Anatol, 26. Jan 1999, 11:41:28):
+Bis auf weiteres werde ich ab naechster Woche aus technischen
+Gruenden etwas seltener da sein.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ups... (Brandir, 27. Jan 1999, 22:43:48):
+~#! rn=Anatol rt=917350888 rg=seher.urlaub
+~#! tid=917350888
+Oehm Anatol, koennten sich die "technischen Gruende" auf die 50
+Stunden-Begrenzung der Uni-Osnabrueck beziehen, die Du mal wieder gesprengt
+hast ?
+
+Brandir - schmunzelnd
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ups... (Anatol, 28. Jan 1999, 00:24:21):
+~#! rn=Brandir rt=917477028 rg=seher.urlaub
+~#! tid=917350888
+Nein, die beziehen sich auf einen Rechnerraum, der heute aufgeloest wurde.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Skifahrn (Birdy, 19. Feb 1999, 17:03:57):
+Bin ab 1. Maerz wieder da. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Ski in Thailand (Brandir, 12. Mar 1999, 23:34:24):
+Nein, nicht ganz Skifahren in Thailand, aber ich werde jetzt erstmal in den
+Skiurlaub fahren (hab ich mir verdient) und gleich im Anschluss nach Thailand
+(hab ich mir noch viel mehr verdient)(und NEIN, ich werde keinen SEX-Urlaub in
+Thailand machen, das Land hat (hoffentlich) noch mehr zu bieten ;-) )
+
+Das ist leider auch der Grund, warum ich nicht zur Fete kommen konnte.
+Ich werde so ab dem 7.4.99 wieder suechtig wie eh und je da sein
+
+Viel spass euch allen,
+Brandir
+
+-----------------------------------------------------------------------------
+
+
+
+Ab sofort bin ich weniger da (Slyfox, 22. Mar 1999, 16:46:57):
+Da ich in letzter Zeit eh nur Tode hier sammle, und mir auf die Dauer
+das Internet zu teuer wird, und es dank einer Regulierungsbehoerde auch nicht
+billiger wird, bin ich ab sofort nur noch selten da.
+
+   bis denne
+
+      Sly
+
+-----------------------------------------------------------------------------
+
+
+
+Abschied auf Zeit (Teddy, 25. Mar 1999, 19:56:27):
+Hiho, 
+
+ich muss wohl voruebergehend ein wenig pausieren, da ich zur Zeit keinen
+Netzzugang habe.
+
+Mit ein wenig Glueck ist das zwar nur voruebergehend aber mit ein wenig Pech
+sinds ein paar Monate, also vorsichtshalber Abschied, nicht zu frueh freuen.
+
+EMail ins MG werden an ne GMX Adresse geroutet, die ich von der Arbeit aus
+zumindest lesen kann, also ich bin nicht voellig weg ;(
+
+So, machts gut und last was ueber vom MG.
+
+Teddy.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein Berliner in Paris (Golas, 26. Mar 1999, 10:47:43):
+Howdie folks,
+ich mach mich heute abend mit meiner Schwester auf nach Paris.
+Ich werde fruehestens Mittwoch abend wieder hier sein.
+
+Golas seine letzten Franzoesisch-Kenntnisse auspackend ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ein Berliner in Paris (Neb, 26. Mar 1999, 12:12:06):
+~#! rn=Golas rt=922445263 rg=seher.urlaub
+~#! tid=922445263
+Hallo,
+ich werde gleich in die Mensa gehen und fruehestens gegen 13 Uhr wieder hier
+sein.
+
+Neb.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ein Berliner in Paris (Muadib, 26. Mar 1999, 16:16:26):
+~#! rn=Neb rt=922450326 rg=seher.urlaub
+~#! tid=922445263
+und wie war der frass ?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ein Berliner in Paris (Asmodis, 26. Mar 1999, 23:12:53):
+~#! rn=Neb rt=922450326 rg=seher.urlaub
+~#! tid=922445263
+Das nennst du urlaub ?
+
+-----------------------------------------------------------------------------
+
+
+
+2 Wochen Kreta !!! (Jasonrigid, 12. Mai 1999, 17:47:20):
+
+Jawohl, ich mache 2 Wochen Urlaub, danach werde ich meine Dipl.Arbeit
+anfangen, vermutlich sieht man mich in naechster Zeit seltener hier.
+
+P.S. : Wenn ich ein Internet-Cafe in Heraklion finde, dann statt ich Euch mal
+einen Besuch ab *kicher*
+
+Bis denne
+
+Jason
+
+-----------------------------------------------------------------------------
+
+
+
+Mudsucht (Aline, 16. Jun 1999, 14:47:25):
+Hi Leuts,
+
+auch wenn es keinen interessiert, aber wo es diese Rubrik nunmal gibt...
+
+Lange Rede kurzer Sinn: ich werde testen ob ich es mal 2 Monate ohne
+Euch aushalte. (Und ohne das Mud und die MPA :( :()
+Vielleicht habe ich ja das Glueck und bekomme da einen Netzzugang,
+wenn nicht muss ich mir noch was gegen die Entzugserscheinungen ueberlegen.
+Also vom 2.7 - 30.8 bin ich in Seoul.
+
+Schoene Party
+
+Aline
+
+P.S.: Zum Stammtisch am 25.6 ins Walhalla komm ich noch, ich
+muss die Sucht nochmal ganz auskosten. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mudsucht (Gloin, 16. Jun 1999, 14:49:53):
+~#! rn=Aline rt=929537245 rg=seher.urlaub
+~#! tid=929537245
+Geh da ja nicht im NW angeln, sonst schiessen die noch auf Dich :)
+
+Gloin
+
+-----------------------------------------------------------------------------
+
+
+
+bye (Gorog, 19. Jun 1999, 23:13:45):
+Werd dann mal fuer unbestimmte Zeit meinen Aufenthalt in dieser Virtualtitaet
+aufgeben. Naja werd bestimmt mal wieder kommen...
+Als dann frohes spielen.
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause (Grimmborn, 29. Jun 1999, 19:00:26):
+~#! on=Caradhras ot=930675543 og=puiz
+...fuer 42 Tage oder fuer immer, das vermutlich aber nicht.
+Falls es noch was gibt, ich bin unter:
+andreas.moser@uni-passau.de zu erreichen
+
+     tschuess      die Bergchen Caradhras, Celebdil, Methedras ...
+PS: schoenen Gruss an den Sensi
+
+-----------------------------------------------------------------------------
+
+
+
+Spanien (Nairolf, 21. Jul 1999, 08:31:14):
+
+Soo ich werde erstmal etwas Urlaub mit meinen Zweities und so machen :)
+
+Bin bis 13.8. in Spanien.
+Bis dahin: VIEL SPASS BEIM MUDDEN !!! 
+
+Ciao Nairolf
+
+-----------------------------------------------------------------------------
+
+
+
+Zwangspause... (Mieze, 22. Jul 1999, 10:40:52):
+
+Hi Muddies,
+
+bin bis 1.8.99 auf Konzertreise mit meinem Chor und kann darum weder mudden
+noch zur Party kommen *megaschnief* Falls Ihr in der Naehe seid und Lust auf
+Kultur habt, hier sind die Termine und Konzertorte:
+
+24.07.  Koblenz  19 Uhr  Florenzkirche
+25.07.  Bad Neuenahr  9.30 Gottesdienst)
+        Maria Laach 19 Uhr
+26.07. Aachen 20 Uhr (nicht im Dom leider, weiss ber nicht genau wo)
+28.07. Bonn 20 Uhr 
+29.07. Dahlen  19 Uhr
+30.07. Mayschoss 19 Uhr
+31.07. Koeln 20 Uhr
+1.08.  11.40 Uhr Altenberg Altenberger Dom.
+
+Ach ja... der Chor heisst Thueringischer Akademischer Singkreis (kurz TASK).
+
+Also: wenn Ihr nichts zu tun und Lust auf Kultur habt, kommt vorbei und hoerts
+Euch an :)
+
+
+Mieze - oelt schonmal ihre Altstimme.
+
+P.S. Viel Spass bei der Party!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwangspause... (Pra, 22. Jul 1999, 12:29:58):
+~#! rn=Mieze rt=932632852 rg=seher.urlaub
+~#! tid=932632852
+Weisst Du denn, wo ihr in Bonn singen werdet?
+
+Vielleicht --- ich sagte *vielleicht* --- wird Pra es sich ja antun,
+und sich einen Chor mit thueringischen Akzent anhoeren ;-)
+
+Pra. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zwangspause... (Taragon, 22. Jul 1999, 14:46:49):
+~#! rn=Pra rt=932639398 rg=seher.urlaub
+~#! tid=932632852
+Wieso muss ich da jetzt spontan an Oe la paloema blanka denken ? :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zwangspause... (Mieze,  2. Aug 1999, 22:59:59):
+~#! rn=Pra rt=932639398 rg=seher.urlaub
+~#! tid=932632852
+
+hmm das war in der Kreuzkirche - uebrigens singen wir hochdeutsch :)
+
+Gruss Mieze
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Zwangspause... (Jasper,  4. Aug 1999, 02:30:46):
+~#! rn=Taragon rt=932647609 rg=seher.urlaub
+~#! tid=932632852
+LACH :)
+
+-----------------------------------------------------------------------------
+
+
+
+Fast-Urlaub (Mieze,  5. Aug 1999, 09:16:04):
+
+Hi Muddies,
+
+bin in den naechsten 3 Monaten (bis Ende November) etwas weniger im MG, weil
+ich "nebenbei" ein Verlagspraktikum habe. An den Wochenenden werde ich dann
+das Muddefizit der Woche ausgleichen (so wie ich mich kenne :)).
+
+Viel Spass beim Mudden und ne schoene Zeit wuenscht Euch Mieze!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Ferien (Gloin,  5. Aug 1999, 18:52:19):
+Ich beginne ebenfalls mit dem nichtverdienten Urlaub ... also lasst Euch
+von einem anderen ver-/entgiften.
+
+Gloin
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ferien (Rochus,  5. Aug 1999, 18:53:31):
+~#! rn=Gloin rt=933871939 rg=seher.urlaub
+~#! tid=933871939
+Hmm, das VERgiften erledige ich gerne fuer Dich :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Pech (Lug, 10. Aug 1999, 01:49:18):
+
+Ich mach gerade keinen Urlaub...
+
+Lug
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Roadrunner, 10. Aug 1999, 19:06:13):
+Ich werd mal die naechsten 3 Wochen nicht oder sehr selten mal da sein -
+Brauche mal was anderes als Flaches Glas vor der Nase.
+
+Roadrunner
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Pech (Teddy, 13. Aug 1999, 19:27:34):
+~#! rn=Lug rt=934249758 rg=seher.urlaub
+~#! tid=934249758
+Also ich auch nicht, aber ich bin wieder mal in Muenchen, wieder mal im MG und
+wieder mal ueberhaupt und so, nur falls es irgendwen interessiert. ;-)
+
+Teddy
+Teddy, immernoch Deutscher und kein Bayer.
+
+-----------------------------------------------------------------------------
+
+
+
+ualaub (Golas, 13. Aug 1999, 23:04:08):
+to whom it may concern
+ich mach ualaub, 2 wochen oder so, mal sehen
+je nach inet cafe angebot schau ich mal rein
+
+unt weg
+
+golas
+
+-----------------------------------------------------------------------------
+
+
+
+na was wohl... (Niete, 20. Aug 1999, 09:47:13):
+
+ab montag dem 23. bin ich fuer ca. 4 wochen im urlaub. falls moeglich, werde
+ich ab und zu mal reinschauen, aber dann wird's hier wohl nacht sein.
+viel spass beim mudden oder was ihr sonst so macht. (gibt's da was anderes?)
+
+bye, nietchen
+
+
+-----------------------------------------------------------------------------
+
+
+
+abwesenheit (Thufhir, 20. Aug 1999, 12:15:46):
+
+aufgrund meines aufenthalts in tashkent, uzbekistan werden das morgengrauen
+und jungmagier in der naechsten woche von der mehrfach testierten wurst
+verschont.
+
+tshoe und danke fuer den fisch,
+s'zauberzwerch
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Snuggle, 26. Aug 1999, 13:51:14):
+Hi Ihrs,
+
+auch wenn mich inzwischen wohl kaum noch einer kennt. Ich bin fuer 3 Wochen in
+Frankreich zum Tauchen und wuensche allen, die trocken bleiben muessen, 3
+ruhige und angenehme Wochen.
+
+Tschaui bis denne
+
+Snuggle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: urlaub (Bambulko, 26. Aug 1999, 14:30:58):
+~#! rn=Snuggle rt=935675474 rg=seher.urlaub
+~#! tid=935675474
+Doch ich kenn dich noch....auch wenn mich selbst wohl kaum noch einer
+kennt......will auch tauchen gehen......
+
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub Aegaeis (Skipper,  2. Sep 1999, 21:28:25):
+
+Moin, bin ca 4 wochen weg.. macht's gut !!
+
+Gruss
+
+Skipper
+
+-----------------------------------------------------------------------------
+
+
+
+Zwangsurlaub (Mieze,  4. Okt 1999, 23:38:18):
+
+Hi Muddies,
+
+muss leider fuer eine Woche nach Frankreich und kann daher gar nicht meiner
+Sucht froenen. Ich hoffe, die Sorbonne ist gut ausgestattet mit Compis, so
+dass ich vielleicht doch ganz kurz mal vorbeischauen kann (obwohl
+franzoesische Tastaturen ein Grauen sind!!!!).
+
+Lasst es Euch gut gehen und das MG heil!
+
+Mieze - widerwillig nach Gallien reisend.
+
+
+-----------------------------------------------------------------------------
+
+
+
+back in ca. 10 Tagen ... (Eisi,  8. Okt 1999, 13:48:42):
+Hi!
+
+Ich werd mich gen Norden verziehen und 1 Woche Elche scheuchen. Falls es
+jemand
+geben sollte, der mich vermisst ...
+
+*knudd^H^H^H^H^HaufdenBodenSpuck*
+
+Chaot Eisi.
+-
+
+-----------------------------------------------------------------------------
+
+
+
+wien (Birdy,  8. Okt 1999, 22:42:57):
+bin vom 15.10. bis 25.10. in wien
+
+-----------------------------------------------------------------------------
+
+
+
+Bund (Birdy,  8. Okt 1999, 22:43:38):
+Leuts, ab 1.10. bin ich beim Bund und wahrscheinlich bloss am wochenende dann
+mal ab und zu drin.
+vermisst mich !;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bund (Birdy,  8. Okt 1999, 22:44:48):
+~#! rn=Birdy rt=939415418 rg=seher.urlaub
+~#! tid=939415418
+argl, ich mein 1.11. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bund (Mango,  9. Okt 1999, 23:30:20):
+~#! rn=Birdy rt=939415418 rg=seher.urlaub
+~#! tid=939415418
+
+wem soll ich denn dann immer mein schoener liedchen singen Birdy? ;)
+
+Mango, dich bemitleidend.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug (Sorcerer, 21. Okt 1999, 02:21:12):
+Aufgrund eines "kleinen" Umzugs ueber ein paar tausend Meilen werde ich wohl
+in der naechsten Woche etwas seltener im MUD sein...
+
+Machts gut und lasst das MUD stehen (ich will meine Kompos noch haben, wenn
+ich wiederkomme :) ).
+
+Sorcerer
+
+-----------------------------------------------------------------------------
+
+
+
+pseudo-spielpause (Mesirii, 18. Nov 1999, 10:30:04):
+Hallo Leute,
+ich hab zur Zeit ein wichtiges Projekt am Hals, dass ich aber wegen dem ganzen
+TF Krempel vernachlaessigt habe. Deshalb muss ich jetzt bis Mitte naechster
+Woche das Teil fertig bekommen und leider dem MG entsagen.
+Spielpause mach ich ich nich, mail wird geforwarded und wenn was ist, beheb
+ich
+die Bugs in ner freien Minute (gell Belga*).
+So meine lieben Tester, viel Spass beim Probieren und vergesst mir den Mapper
+nicht.
+Bis naechste Woche
+Mesi, (tritt das Projekt)
+
+-----------------------------------------------------------------------------
+
+
+
+schon wieder Urlaub! (Eisi, 28. Dez 1999, 09:29:35):
+Hehe,
+
+Ich wuensche allen Daheimbleibenden einen guten Rutsch und 
+nicht zuviel Leid mit Y2K Bugs. Wenn ich am 14. noch nicht da bin,
+bin ich vermutlich Opfer eines solchen geworden, was mich allerdings
+nicht allzusehr aergen wird, denke ich :)
+
+machts gut,
+Eisi.
+
+-----------------------------------------------------------------------------
+
+
+
+Generalsurlaub (Golas,  2. Mar 2000, 00:03:19):
+Ich mach mich mal 2 Wochen duenne ... 
+nein, ich mache keine diaet, sondern urlaub.
+wir sehen uns in dresden
+
+winke winke
+
+Zalkh'Batar Golas der Blues Brother
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Brandir, 25. Mar 2000, 00:24:50):
+Ich werde ab heute mal wieder eine Woche lang meine Sommersprossen zuechten
+und Schnee fressen gehen... Man sieht sich naechste Woche.
+
+Brandir
+
+-----------------------------------------------------------------------------
+
+
+
+Wien (Anoris, 25. Jun 2000, 17:00:08):
+Hallo, ich flieg in 30 Minuten nach Wien.
+Bin bis Mittwoch Nachmittag dort, wenn ihr (wiener) lust auf n Stammtisch
+habt, ruft einfach an. 0041 76 392 4816. Bis bald! :) *winke*
+
+-----------------------------------------------------------------------------
+
+
+
+Weg (Aline, 18. Jul 2000, 11:22:01):
+Hi Leute,
+
+meine Tage hier in Hagen sind inzwischen gezaehlt und ich werde wohl,
+waehrend ihr alle fein in Berlin feiert, nach Ravensburg umziehen.
+Die erste Zeit werde ich wohl auch keinen Internetzugang haben, so dass
+ich erstmal etwas Zwangsurlaub vom MG machen muss. *seufz*
+
+Gibt es da unten in der Naehe vom Bodensee eigentlich Mudder?
+Oder muss ich dann jedesmal zum Stammtisch 2,5h mit dem Auto fahren?
+
+Auf jeden Fall werde ich Euch alle fuerchterlich vermissen.
+
+Aline
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weg (Gloinson, 18. Jul 2000, 12:57:48):
+~#! rn=Aline rt=963912121 rg=seher.urlaub
+~#! tid=963912121
+Immer wenn ich da herunterfahre gibt es da Mudder ;)
+
+Gloin(son)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weg (Dieder, 18. Jul 2000, 13:46:59):
+~#! rn=Aline rt=963912121 rg=seher.urlaub
+~#! tid=963912121
+naja ich komme aus der Ecke... zumindest wenn ich nicht am Studieren bin :-)
+
+Dieder
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech... (Alcina, 19. Jul 2000, 14:13:13):
+
+Halloechen,
+
+bin bis 31.7. auf Konzertreise. Lasst das Mud ganz :)
+
+Alcina 
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub, was sonst? :) (Anoris, 28. Jul 2000, 10:12:26):
+werde jetzt eine Zeit lang nicht anwesend sein. Meine Couseine heiratet und
+Sonntags gehts an weissen Sandstrand :) Vermutlich bis 9. Aug! *winke*
+machts gut, bis bald - Anoris
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub, was sonst? :) (Liara, 28. Jul 2000, 14:20:24):
+~#! rn=Anoris rt=964771946 rg=seher.urlaub
+~#! tid=964771946
+Ich moechte bei dieser Gelegenheit mal betonen, dass ich nicht in den Urlaub
+fahren werde und auch keinen fuer solche Zwecke bekomme. ;-)
+Ich weiss, dass es niemanden interessiert, aber wenigstens is die Rubrik
+bissken gefuellt ...und ich habe meinen Jammerskill unglaublich gesteigert.
+:-)
+
+Liara, Zwergenzauberine, findet seher.urlaub einfach toll!
+
+-----------------------------------------------------------------------------
+
+
+
+*grins* (Sharia, 29. Jul 2000, 14:17:41):
+Jetzt war ich zwar schon weg aber ich fahre nochmal .. nur noch keine Ahnung
+wohin ... aber fruehestens am 18.8. wieder da :-)))
+
+
+Gruss Sharia
+
+-----------------------------------------------------------------------------
+
+
+
+*grins zurueck* (Flintnail, 30. Jul 2000, 09:36:43):
+Hmm..ich war zwar auch schon im Urlaub, aber da mich hier sowieso schon fast
+gar nich niemand mehr kennt, ist das ja auch egal:)
+
+Flint*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wech (Woody,  1. Aug 2000, 22:00:18):
+~#! rn=Rikus rt=965119028 rg=magier.urlaub
+~#! tid=965119028
+1. schreibt man Whiskey in Irland mit 'e' :) und
+2. bin ich da auch ab Fr (aber nur fuer 2 Wochen).
+Intressiert vermutlich eh keinen. ;-)
+
+Woody.-
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: wech (Rikus,  1. Aug 2000, 22:32:00):
+~#! rn=Woody rt=965160018 rg=seher.urlaub
+~#! tid=965119028
+na vielleicht treffen wir uns ja beim whisky ohne e :)
+rikus
+
+-----------------------------------------------------------------------------
+
+
+
+finally: URLAUB! :o) (Matis, 17. Aug 2000, 10:25:37):
+Morgen komm ich fuer ein paar Tage in die Heimat zurueck, so
+dass ich dann am Samstag zum Leipziger Stati da bin. Dienstag
+naechste Woche fliege ich fuer einen Monat in die USA und schau
+mir den Suedwesten an - sprich, ich werd fuer laengere Zeit
+nicht im MUD sein. Lasst alles ganz und viel Spass!
+
+Gartenzwerg Matis
+
+-----------------------------------------------------------------------------
+
+
+
+Re: finally: URLAUB! :o) (Ark, 17. Aug 2000, 21:03:17):
+~#! rn=Matis rt=966500737 rg=seher.urlaub
+~#! tid=966500737
+Hm, da wo grade alles abbrennt? ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Weg (Aline, 24. Aug 2000, 18:32:18):
+Hi Leuts,
+
+so meine Tage hier sind jetzt endgueltig gezaehlt.
+Sonntag pack ich meine restlichen 7, 10, 20 .... Sachen und
+fahr nach Ravensburg. Bis ich dann wieder Netzzugang habe,
+werden wohl so einige Wochen ins Land gehen....
+:(
+
+Ich werde an Euch denken und Euch auch vermissen.
+Machts gut! (Und danke fuer den Fisch.)
+
+Aline
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? (Alcina, 11. Dez 2000, 00:29:30):
+
+Liebe Mudgemeinde,
+
+fuer unbestimmte Zeit werde ich keinen Netzzugang mehr haben. Lasst das
+Morgengrauen nicht zu oft crashen und habt viel Spass.
+
+Alcina - kann hoffentlich in absehbarer Zeit wieder ausbilden.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Heimaturlaub bis 7.1.2001 (Matis, 17. Dez 2000, 13:18:22):
+Daher bin ich fuer die naechsten drei Wochen weitgehend ohne Netzzugang und 
+werde eher selten im MG sein. 
+
+HAVE FUN, MERRY CHRISTMAS, AND A HAPPY NEW YEAR!
+
+
+Gartenzwerg Matis
+
+-----------------------------------------------------------------------------
+
+
+
+Eine Woche Urlaub! :) (Anatol, 11. Mar 2001, 00:56:13):
+
+Bin in Teneriffa. Oder so. :)
+
+Ana* ]:^>
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eine Woche Urlaub! :) (Anacrion, 11. Mar 2001, 02:39:39):
+~#! rn=Anatol rt=984268573 rg=seher.urlaub
+~#! tid=984268573
+Bin ich gar nicht.
+
+Bitte unterlassen Sie in Zukunft das Unterschreiben von Artikeln mit meinem
+Namen
+
+Hochachtungsvoll,
+
+ana* ]:->
+
+-----------------------------------------------------------------------------
+
+
+
+6 Wochen Ferien (Mesirii, 11. Mar 2001, 09:51:21):
+Hallo Ihrs,
+ich mach mal 6 Wochen blau, wer Probleme mit dem tf-zeugs hat, wende sich 
+entweder an einen der Anwesenden oder wenn da an meinen Abwesenheitsverwalter
+Icho.
+Mesi, Diplom schreibend und wirklich nach Teneriffa fahrend
+
+-----------------------------------------------------------------------------
+
+
+
+Mesirii ist fuer 14 Tage Sonne tanken (Kartii, 30. Mar 2001, 11:06:46):
+Hallo Ihrs,
+ich bin fuer 14 Tage nich da, mal sehen ob mich die Sonne Teneriffas von der
+MUD-Sucht kurieren kann :)
+Also habt ihr solange Ruhe vor nervigen Update- und Testanfragen von meiner
+Seite, wer Probleme hat, wende sich an einen der Anwesenden :). (oder -tf)
+Trotzdem zum Schluss noch einmal eine Bitte, schaut Euch den Mapper mal an,
+ich brauch noch ne Menge Feedback um damit sinnvoll weitermachen zu koennen.
+
+Bis demnaechst
+Mesirii, der danach auch bald wieder persoenlich da ist.
+
+-----------------------------------------------------------------------------
+
+
+
+Ostern (Golas, 12. Apr 2001, 09:11:54):
+Ich mach mir nen schoenes WE bei meiner Schwester in Kiel.
+
+Golas einzeilig
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ostern (Hight, 12. Apr 2001, 12:24:42):
+~#! rn=Golas rt=987059514 rg=seher.urlaub
+~#! tid=987059514
+*g* viel spass suessa ,o)
+
+hight 
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ostern (Golas, 16. Apr 2001, 18:17:11):
+~#! rn=Hight rt=987071082 rg=seher.urlaub
+~#! tid=987059514
+ui, doch wer, der die rubrik liest :)
+danke, war lustig und entspannend ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Ostern (Hight, 16. Apr 2001, 22:41:02):
+~#! rn=Golas rt=987437831 rg=seher.urlaub
+~#! tid=987059514
+nerja lesen is zuviel gesacht ... ich hab se halt net abbestellt ,o) steht ja
+eh nie was drinne
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Schlips, 20. Apr 2001, 19:01:00):
+2 Wochen ---> Toskana
+
+-----------------------------------------------------------------------------
+
+
+
+Berlin on tour (Golas,  3. Mai 2001, 15:44:00):
+ich mach mal wieder ne woche blau.
+morgen frueh gehts los, also nicht wieder wundern, wenn ich heute abend noch
+da bin :)
+Die meisten werd ich ja auf der Party sehen ...
+
+Golas urlaubsueberreif!!!
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? (Mieze,  4. Mai 2001, 18:33:52):
+
+Hi Leuts,
+
+bin jetzt eine Woche nicht da. Lasst das Mud heil und sterbt nicht so oft.
+Einige werd ich ja auf der Party sehen.
+
+Mieze
+
+
+-----------------------------------------------------------------------------
+
+
+
+Muenster (Solmyr, 11. Mai 2001, 11:15:59):
+Da dies einer meiner absoluten Lieblingsrubriken ist, dachte ich mir,
+ich sollte vielleicht bekannt geben, dass ich das Wochenende in Muenster
+verbringe :=) *GGG*. Also fuer dieses Wochenende bis Sonntag Nacht
+gilt hier Solmyr-Nerv-Freie-Zone, wobei ich vielleicht einen Ueber-
+raschungsbesuch abstatten werde :)
+
+Gruss Kampfzwergenbalg Sol*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Muenster (Chuckylein, 11. Mai 2001, 13:22:20):
+~#! rn=Solmyr rt=989572559 rg=seher.urlaub
+~#! tid=989572559
+Buhhhh wer soll dann das schmarrn vollposten? :(
+
+Chuckylein, tieftraurig.
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Elberet, 15. Mai 2001, 00:46:20):
+Elbereth wird mal fuer laengere Zeit aus gesundheitlichen Gruenden in Urlaub
+gehen.
+
+i.v. Elbi 
+
+-----------------------------------------------------------------------------
+
+
+
+Ne Woche weg (Mesirii, 15. Mai 2001, 09:46:53):
+Liebe Leute,
+da meine Produktivitaet bzgl. des Diploms durch das MG im Hintergrund gegen 0
+strebt, bin ich jetzt mal fuer ne Woche eher weniger da. Mal sehen ob es mit
+eisernem Willen geht oder ob Spielpause mal sein muss.
+Mesi, arglnd
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ne Woche weg (Gloinson, 15. Mai 2001, 10:50:42):
+~#! rn=Mesirii rt=989912813 rg=seher.urlaub
+~#! tid=989912813
+Suchtie, Suchtie, naenaenaenaenaeae *nasedreh*
+Loslos, mach schon Deine Spielpause :)
+
+Gloin(son)
+
+-----------------------------------------------------------------------------
+
+
+
+Warner Brothers Movie World (Sublime, 13. Jun 2001, 06:06:10):
+Hi,
+
+ich wollte mal ankuendigen, dass ich demnaechst fuer 1 oder 2 Tage in die
+Warner Brothers Movie World fahre(n) (will) und ich dafuer noch geeignete
+Achterbahnmitjodler braeuchte. Wer also Lust, Zeit und Laune (und Achter-
+bahntauglich ist) hat, kann sich bei mir gerne melden. Ach ja, bin eigent-
+lich fuer alles offen (Nein, 'Ich bin nicht schwul und das ist auch gut
+so'), ob Bahn, Auto oder Zeppelin...ich moechte da nur noch einmal hin,
+bevor die grosse Kiddies-Sommerferien-Welle hereinbricht.
+
+Gruss Sol*
+
+-----------------------------------------------------------------------------
+
+
+
+Brasilien (Spellfire,  3. Aug 2001, 16:40:21):
+Moin Maedels,
+
+die es interessiert, ich bin vom 7.8.-29.11 in Rio de Janeiro an der Uni,
+keine Ahnung ob man von da aus anstaendig mudden kann.
+Fuer den Rest gilt dieser Artikel zum Nase lang machen.
+
+Sascha
+
+-----------------------------------------------------------------------------
+
+
+
+Inselchen (Anatol,  9. Aug 2001, 19:46:27):
+Die Sonne meint, mir nach der Party zwei Wochen auf den Bauch scheinen
+zu muessen und bestellte mich dafuer auf eine kleine Insel im Mittelmeer.
+
+Wer kann dazu schon "nein" sagen?
+
+Anatol :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Inselchen (Anatol, 29. Aug 2001, 21:35:54):
+~#! rn=Anatol rt=997379187 rg=seher.urlaub
+~#! tid=997379187
+Von besagtem Inselchen bin ich wieder zurueck, bald auch wieder "fest"
+am Rechner. Aber schon beim Ueberfliegen der MPA wird mir ziemlich klar:
+Man kann euch auch wirklich keine FUENF Minuten alleine lassen! :)
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+3 Wochen ohne Mousse (Isi, 13. Sep 2001, 10:16:22):
+Tja, da ich 3 Wochen in Urlaub gehe, werdet ihr in der Zeit
+von Moussegeschossen verschont - oder muesst auf sie verzichten
+je nach dem ;)
+Frohes Mudden
+Isi (moussewerfend)
+
+-----------------------------------------------------------------------------
+
+
+
+1 Woche mit (hoffentlich) Sonne (Pale, 27. Sep 2001, 14:45:42):
+... wetterfeste Kleidung, Badehose, Sonnencreme ... und Tasche zu *uff*
+Ich glaube ich hab alles und mach mich jetzt fuer 10 Tage aus dem Staub.
+Segeln an der Cote d'Azur. Ich werd an euch denken, wenn ich in der Sonne
+schmore (hoffentlich) *G
+
+Pale *(schon fast) aus der Ferne winkend*
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsurlaub (Matis, 17. Dez 2001, 16:51:18):
+Hi folks,
+
+ab morgen werde ich mich wieder mit Gluehwein, Bratwurst, Doenern und anderen
+deutschen Spezialitaeten vollstopfen - mein Weihnachtsurlaub beginnt. Das 
+bedeutet auch, dass ich in den naechsten Wochen nur sehr sporadisch hier
+auftauchen werde. Also: euch allen ein froehliches Weihnachtsfest und eine
+aufregende Silvesternacht!
+
+Matis
+
+-----------------------------------------------------------------------------
+
+
+
+BLA (Anatol, 22. Dez 2001, 02:34:12):
+Bis zur ersten Januarwoche habe ich keinen oder fast keinen Netzzugang.
+Macht nix, ich habe den Anfang November beantragten Flat-Tarif noch 
+immer nicht und ausserdem seid ihr ohnehin froh, mich fuer eine Weile
+(nicht fuer immer, sorry ;)) los zu sein.
+
+Frohes Fest da draussen! 
+
+Anatol
+
+PS: Nein, fuer "mail freunde" bin ich mir zu schade. ;) 
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: BLA (Amaryllis, 22. Dez 2001, 21:14:25):
+~#! rn=Anatol rt=1008984852 rg=seher.urlaub
+~#! tid=1008984852
+Du bist also der Meinung, so wichtig zu sein, dass das nicht nur Deine
+Freunde, sondern das ganze Mud wissen sollten? :-)
+
+scnr,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub bis ~ 17.3 (Anatol, 14. Feb 2002, 14:16:33):
+Bin bis 17.3. anderweitig unterwegs. Macht derweil nix kaputt. 
+
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+14 Tage Auspannen (Mesirii, 17. Mai 2002, 21:24:44):
+werde ich mit der Family in Kroatien in der Naehe von Split, also habt Ihr
+Eure Ruhe vor mir obwohl ich in der letzten Zeit eh nur noch geidlet hab.
+Macht nix kaputt, und wenn das TF net geht wendet Euch an einen der bekannten
+Uebeltaeter :)
+
+Gruss Mesi, geht jetzt mal erholen
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub oder sowas :) (Puk, 23. Jul 2002, 16:19:02):
+Hehe, war zwar in letzter Zeit eh nicht sehr aktiv, aber Semesterferien haben
+endlich angefangen (oder Vorlesungsfreie Zeit wie das sich schimpft;) und ich
+melde mich erst mal fuer 4-6 Wochen komplett ab.
+Bis denne 
+
+Das Puk
+
+-----------------------------------------------------------------------------
+
+
+
+Seher ... (Zook,  5. Jul 2003, 22:26:46):
+... machen keinen Urlaub oder wie oder was? ;)
+
+Zook sucht sein Newstool.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Seher ... (Nyx,  5. Jul 2003, 22:27:54):
+~#! rn=Zook rt=1057436806 rg=seher.urlaub
+~#! tid=1057436806
+
+Seher nehmen da wohl eher 'mail freunde' :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Seher ... (Zook,  5. Jul 2003, 22:28:08):
+~#! rn=Nyx rt=1057436874 rg=seher.urlaub
+~#! tid=1057436806
+Aber das macht doch Lag!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Seher ... (Nyx,  5. Jul 2003, 22:28:54):
+~#! rn=Zook rt=1057436888 rg=seher.urlaub
+~#! tid=1057436806
+Es saehe aber eher wichtigtuerisch aus, wenn ein Seher hier seinen Urlaub
+postet, da verursachen die bestimmt lieber Lag :-)
+
+-----------------------------------------------------------------------------
+
+
+
+24.07.2003 - 05.08.2003 (Anoris,  5. Jul 2003, 22:29:02):
+Zu obigem Datum am Strand der V.A.E.
+
+Wer Postkartengeil ist, schreibe seine Adresse bitte
+per Email.
+
+- Anoris ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Seher ... (Zook,  5. Jul 2003, 22:29:06):
+~#! rn=Nyx rt=1057436934 rg=seher.urlaub
+~#! tid=1057436806
+Also doch Newstool zuecken?
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Seher ... (Nyx,  5. Jul 2003, 22:31:20):
+~#! rn=Zook rt=1057436946 rg=seher.urlaub
+~#! tid=1057436806
+Wieso, stehen doch jetzt 7 Artikel drin. Wie Du siehst, wird die Rubrik doch
+rege genutzt :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: Seher ... (Zook,  5. Jul 2003, 22:32:22):
+~#! rn=Nyx rt=1057437080 rg=seher.urlaub
+~#! tid=1057436806
+Jep. Und ich habe eine Postkarte fuer mich rausgeschlagen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: Seher ... (Nyx,  5. Jul 2003, 22:33:03):
+~#! rn=Zook rt=1057437142 rg=seher.urlaub
+~#! tid=1057436806
+Was hat denn eine Postkarte damit zu tun?
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: Seher ... (Zook,  5. Jul 2003, 22:33:25):
+~#! rn=Nyx rt=1057437183 rg=seher.urlaub
+~#! tid=1057436806
+Tscha... ;)
+
+Zook grinst.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^9: Seher ... (Nyx,  5. Jul 2003, 22:34:05):
+~#! rn=Zook rt=1057437205 rg=seher.urlaub
+~#! tid=1057436806
+Ich will auch eine Postkarte!
+
+Nyx (schmollend)
+
+-----------------------------------------------------------------------------
+
+
+
+WILL! (Moonshine,  6. Jul 2003, 19:03:06):
+Ich will ihn Urlaub, wann ist mir egal! Wohin, hmm...Seychellen waeren toll,
+Cote d'Azur tut aber auch schon. :-)
+
+Wer zahlt?
+
+Moonshine bettelt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WILL! (Morgoth,  6. Jul 2003, 19:05:20):
+~#! rn=Moonshine rt=1057510986 rg=seher.urlaub
+~#! tid=1057510986
+
+Komm her und Bueck Dich. Dann setz ich meine Kraft mal eben auf 1000 und geb
+Dir nen kraeftigen Tritt in den Hintern. Du musst nur aufpassen, nachdem Du
+vom Mond abgeprallt bist, dass Du beim Wiedereintriit in die Atmosphaere nen
+guten Hitzeschild hast.
+
+M* hilft gerne
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: WILL! (Rochus,  6. Jul 2003, 19:07:45):
+~#! rn=Morgoth rt=1057511120 rg=seher.urlaub
+~#! tid=1057510986
+Also den ersten Satz hab ich ja von Dir erwartet...
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: WILL! (Zook,  6. Jul 2003, 19:07:53):
+~#! rn=Moonshine rt=1057510986 rg=seher.urlaub
+~#! tid=1057510986
+Ich hab im August ne Woche fuer Urlaub geblockt. Wie waer's mit nem
+lauschigen Aufenthalt in der Schweiz...?
+
+Zook zwinkert Moonshine zu.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: WILL! (Moonshine,  6. Jul 2003, 19:16:54):
+~#! rn=Zook rt=1057511273 rg=seher.urlaub
+~#! tid=1057510986
+Auch okay, wann und was machen? Klettern, wandern, Apres-wandern/ski aber
+bitte nicht vergessen. ;-)
+
+Moonshine freut sich dankt Zooki. 
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: WILL! (Zook,  6. Jul 2003, 19:17:36):
+~#! rn=Moonshine rt=1057511814 rg=seher.urlaub
+~#! tid=1057510986
+Zook grinst schelmisch.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: WILL! (Grimmborn,  8. Jul 2003, 12:07:02):
+~#! rn=Zook rt=1057511856 rg=seher.urlaub
+~#! tid=1057510986
+Wenn gehornusst wird bin ich dabei.
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: WILL! (Zook,  9. Jul 2003, 00:35:15):
+~#! rn=Grimmborn rt=1057658822 rg=seher.urlaub
+~#! tid=1057510986
+Oh, mal schaun, ob man das da anleiern koennte... Nibel? Waer da was drin?
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^6: WILL! (Nibel,  9. Jul 2003, 07:46:38):
+~#! rn=Zook rt=1057703715 rg=seher.urlaub
+~#! tid=1057510986
+Waer sicher mal spassig, aber ich versteh vom Hornussen auch nicht mehr als
+ihr.
+  - Nibel
+-----------------------------------------------------------------------------
+
+
+
+Re: Seher ... (Vardion,  9. Jul 2003, 10:31:14):
+~#! rn=Zook rt=1057436806 rg=seher.urlaub
+~#! tid=1057436806
+... machen schon Urlaub, halten sich aber nicht fuer wichtig genug, das zu
+posten ;-)
+
+Vardion
+
+-----------------------------------------------------------------------------
+
+
+
+Re^7: WILL! (Zook,  9. Jul 2003, 11:43:03):
+~#! rn=Nibel rt=1057729598 rg=seher.urlaub
+~#! tid=1057510986
+Bist Du denn ueberhaupt da? ;)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^8: WILL! (Nibel,  9. Jul 2003, 11:45:18):
+~#! rn=Zook rt=1057743783 rg=seher.urlaub
+~#! tid=1057510986
+Wahrscheinlich nicht, aber das schreib ich ja dann in magier.urlaub ;-)
+  - Nibel
+-----------------------------------------------------------------------------
+
+
+
+Re^9: WILL! (Zook,  9. Jul 2003, 11:45:38):
+~#! rn=Nibel rt=1057743918 rg=seher.urlaub
+~#! tid=1057510986
+Also kein Hornussen. Geh ich eben nur klettern... ;)
+
+Zook.
+.-
+
+-----------------------------------------------------------------------------
+
+
+
+Mal urlaub (Roland,  7. Aug 2003, 22:01:04):
+Hat sich da nich mal wer beschwert hier meldet sich keiner ab !? ;)
+Is zwa kein Urlaub .. aber ich renovier und komm somit nich ans netz ... bis
+Sonntag dann ...
+
+Ro*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mal urlaub (Ogo,  8. Aug 2003, 03:59:47):
+~#! rn=Roland rt=1060286464 rg=seher.urlaub
+~#! tid=1060286464
+Sowas wegen _DREI_ Tagen? Man kanns echt uebertreiben ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Sooooooooo kinners (Puk, 24. Aug 2003, 21:06:28):
+meld mich dann mal fuer nen paar tage ab, duerfte eh nicht weiter auffalen :)
+HEYYYYYYYYYYYYYYYYYYYYYY AB IN DEN SUEDEN
+Der Sonne hinterher :)
+
+bis die tage
+Puk
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub habe ich gelernt zu buchstabieren (Toe, 10. Okt 2003, 19:22:58):
+Hallo zusammen!
+
+Seit 7 Jahren ohne wirklichen Urlaub (mal von Brieselang angesehen),
+wird das dieses Jahr doch mal ein richtiger Urlaub.
+Cinderella und toe goennen sich eine verspaetete Hochzeitsreise
+(sind ja auch schliesslich 174 glueckliche Tage verheiratet).
+Sollte das alles so klappen wie geplant besteigen wir den Flieger
+am 17. in ffm nach Caracas, lassen uns ans Board der MS ASTOR
+ueber den Aequator bringen und werden eines Tages von Casablanca
+aus erneut nach Frankfurt zurueckfliegen. So in kw 45 wird toe
+wohl erneut hier reinschneien... Machts gut und Danke fuer den
+Fisch: http://www.transocean.de/astor-details.php?nr=17364
+
+toe
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub habe ich gelernt zu buchstabieren (Toe, 10. Okt 2003, 21:06:19):
+~#! rn=Toe rt=1065806578 rg=seher.urlaub
+~#! tid=1065806578
+http://www.mycruise.de/modules.php?name=News&file=article&sid=98
+
+-----------------------------------------------------------------------------
+
+
+
+Mesi in Japan (Mesirii, 26. Apr 2004, 18:51:20):
+So nun ist es bald soweit, ab Donnerstag weile ich fuer 3 Wochen im Land der
+aufgehenden Sonne. Bin schon ganz gespannt auf die Leute, Kultur und Gegend
+da mal sehen wie es mich unvorbereiteten Zwerg ueberrascht.
+Bis bald
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Fast wech (Asuka, 28. Jul 2004, 21:57:10):
+Damit in dieser Rubrik auch mal was sinnvolles steht.
+Ich bin vom 02.08 - 08.08 nicht anwesend, wenn also in der Zeit
+irgendwer was von mir will, hat er Pech gehabt.
+
+Asuka
+
+-----------------------------------------------------------------------------
+
+
+
+Uuuuuuuurlaub :) (Shaeena, 11. Aug 2004, 02:18:06):
+So, ich bin ab in ein paar Stunden bis zum 27.8. im Uuuuuurlaub
+und werde da hoffentlich nicht hier sein :)
+Ich wuensch mir was, und bin dann nicht mehr da, erstmal.
+
+Shaeena
+
+-----------------------------------------------------------------------------
+
+
+
+diverse Urlauber (Vardion,  5. Sep 2004, 22:36:34):
+Liebe Daheimgebliebene,
+
+nun habe ich es endlich mal geschafft und sitze im Internetcafe, vor lauter
+Urlaub, hatte ich bisher dazu noch keine Zeit.
+Hier ist es sonnig warm (28-34 Grad) bei wolkemlosen Himmel. Die Insel Gozo
+ist ziemlich klein (14x7 km) und auch recht karg. Die Roemer haben wohl damals
+alles Holz verbraucht. Neben einigen kleinen Fischer/Touristendoerfern am Meer
+(eines davon Xlendi [sprich Schlendi] ist unser Urlaubsort), die alle
+sternfoermig an die "Hauptstadt" Victoria angebunden sind. Sonst herrscht hier
+das typische mediterrane Flair vor mit hellen Sandsteinhaeusern, vielen Cafes
+und Restaurants am Hafen, herrliche Buchten usw. 
+Bei der aktuellen Windstille ist es herrlich zu tauchen, auch die Tauchplaetze
+an der Nordkueste sind alle nutzbar. Bisher hatten wir in unseren 9
+Tauchgaengen schon Hoehlen, Riffe, Wracks, Seegraswiesen, Buchten usw.
+Wirklich ein Erlebnis so ein Tauchurlaub und wird auch nicht der letzte sein.
+Wenn wir nicht grad tauchen, vertreiben wir uns die Zeit bei Bier und Kinnie
+(so nen leckerer Kraeuter-Softdrink) und lesen, spielen, schnorcheln in der
+Bucht, quatschen, schlafen, essen (gab letztens ganz schmackhaften Fisch in
+einem Full-Service Restaurant) oder haengen einfach nur rum.
+
+Ich hoffe Euch allen geht es gut, und Deutschland, das Mud und die Arbeit
+gibts noch. Falls nicht kann ich auch hierbleiben :)
+
+P.S. Bitte intern weiterverteilen, hab leider nicht alle Mailadressen im Kopf
+und kein Adressbuch bei web.de. Bitte auch in seher.urlaub in Zephyrs,
+Tryfans, Muadibs und meinem Namen veroeffentlichen.
+
+Bis demnaechts persoenlich.
+
+Micha / Mesirii / Meikel
+
+-----------------------------------------------------------------------------
+
+
+
+Unbestimmte Abwesenheit wegen Umzug (Krimariol, 20. Sep 2004, 19:27:34):
+Hallo an alle, die mich kennen oder auch nicht,
+ich wollt hiermit mitteilen, das ich umziehe, ist zwar eigentlich nichts fuer
+diese Rubrik, ...
+ABER, da ich durch ein kleines Problem vermutlich ein paar Wochen keinen
+Internetanschluss haben werde, moecht ich hiermit mitteilen, dass ich die
+naechsten Wochen nicht...
+oder vielleicht mal ab und zu von der Uni aus ueber Telnet...
+da bin.
+Also macht nichts, was ich nicht auch tun wuerde, lasst das Mud stehen und bis
+hoffentlich bald.
+MfG
+Krimariol
+
+-----------------------------------------------------------------------------
+
+
+
+Katzenmusik (Mieze, 22. Sep 2004, 07:28:18):
+Hallo zusammen,
+
+ich bin bis einschliesslich Sonntag wegen eines Gesangskurses in der Naehe von
+Gera nicht da. Also ein idlendes Fellviech weniger. 
+
+Mieze - singt sich schonmal ein 
+
+-----------------------------------------------------------------------------
+
+
+
+Flitterwochen (Mesirii,  6. Dez 2004, 03:05:23):
+Meine frisch angetraute Ehefrau und ich verschwinden mal zusammen mit
+Trauzeugen und Sheriff in die Tiefen des Roten Meeres nach Hurghada
+(Aegypten). Wir werden am 13.12. wieder hier auftauchen, wenn uns die Haie
+nicht gefressen haben.
+
+Mesi, Ehemann.
+
+-----------------------------------------------------------------------------
+
+
+
+Damit hier auch mal was steht ;o) (Mieze,  3. Mar 2005, 08:23:53):
+
+Damit diese Rubrik nicht gaenzlich leer bleibt: Ich bin bis Sonntag Abend auf
+einem Gesangskurs in Thueringen.
+
+Mieze - macht Katzenmusik
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub  (Lacri, 17. Mai 2005, 08:34:24):
+Tach, 
+
+fuer eine Woche ab heute bin ich im Sueden. Lasst das MUD stehen. 
+
+Lacri 
+
+-----------------------------------------------------------------------------
+
+
+
+08.07.2005 - 10.07.2005 (Anoris, 27. Jun 2005, 00:20:51):
+Zu obigem Datum werde ich voraussichtlich eine Reise ueber Amsterdam
+und Detroit nach Chicago und zurueck unternehmen.
+
+Sollte wer von euch in dieser Zeit (8. oder 9. in der Umgebung Illinois,
+genauer westlich von Chicago sein, wuerd ich mich ueber ein Stati freuen.
+
+Wer (wie immer) Postkartengeil ist, moege seine Adresse bitte per Mudmail
+an mich senden.
+
+Liebe Gruesse
+ - Anoris
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 08.07.2005 - 10.07.2005 (Ark, 27. Jun 2005, 00:30:17):
+~#! rn=Anoris rt=1119824451 rg=seher.urlaub
+~#! tid=1119824451
+Also selbst wenn ich dort waere, es waere mir zu hektisch ... sieht man Dich
+da ueberhaupt laenger als 1ns? :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: 08.07.2005 - 10.07.2005 (Anoris, 27. Jun 2005, 00:34:59):
+~#! rn=Ark rt=1119825017 rg=seher.urlaub
+~#! tid=1119824451
+Jap, Freitag Nachmittag/Abend, Samstag Nachmittag/Abend und Sonntag
+Vormittag sind noch nicht verplant!
+
+Alternativ: kennt sich wer von euch schon dort und hat Empfehlungen fuer
+etwas das man auf jeden Fall gesehen haben muss?
+
+ - Anoris
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 08.07.2005 - 10.07.2005 (Gloinson, 27. Jun 2005, 13:26:58):
+~#! rn=Anoris rt=1119824451 rg=seher.urlaub
+~#! tid=1119824451
+Ah, sondierst du das Gelaende schon mal fuer die Party naechstes Jahr, weil
+die Schweiz wieder nicht Partyort wird? :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 02.07.2005 - 24.07.2005 (Anatol, 30. Jun 2005, 00:16:27):
+
+Die kleinste der vier Inseln der Balearen mag ein Internet-Cafe haben,
+aber dessen Besuch steht nicht auf der Liste der zu erledigenden Dinge.
+
+Anatol
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Letztendlich (Zephyr, 18. Aug 2005, 09:50:56):
+~#! rn=Vanion rt=1123875934 rg=magier.urlaub
+~#! tid=1123875916
+Nur weils so schoen ist.. Tryfan und ich fahren da auch mit. :)
+C4
+
+-----------------------------------------------------------------------------
+
+
+
+Las Vegas / Houston / San Antonio (Anoris,  3. Feb 2006, 17:48:27):
+Mittwochs flieg ich mit meinem Bruder fuer 10 Tage geschaeftlich nach
+<Subject>. Sollten Postkarten gewuenscht sein, bitte ich euch per MG
+Mail die Postadresse zukommen zu lassen.
+
+Beste Gruesse
+ - Anoris
+
+-----------------------------------------------------------------------------
+
+
+
+Gloinson die Piste runterschubse (Mesirii, 17. Mar 2006, 10:26:50):
+fuer eine Woche in Oesterreich, mit tatkraeftiger Hilfe von Martini, Baal und
+Calish.
+
+Mesi, leidtragend :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gloinson die Piste runterschubse (Zook, 17. Mar 2006, 10:53:42):
+~#! rn=Mesirii rt=1142587610 rg=seher.urlaub
+~#! tid=1142587610
+macht ihn nicht kaputt.
+zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzurlaub (Mieze, 18. Mar 2006, 16:31:56):
+Hallo zusammen
+
+naechste Woche bin ich von Donnerstag bis Sonntag unterwegs und netzlos.
+
+Mieze 
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub hab ich keinen (Mesirii, 25. Okt 2007, 23:12:03):
+aber trotzdem bin ich grad rar. Das liegt daran, dass ich zum einen auf Arbeit
+gra Pair-Programming betreibe, also nich nebenbei mudden kann. Zum anderen
+refaktoriere ich grad meinen Java-Mapper und hab ein neues Projekt angefangen
+-
+SQL-Abstraktionsschicht (embedded DSL) in Java, das mich etwas in Atem haelt.
+Also keine Angst, ich bin nich weg nur etwas beschaeftigt. 
+P.S. Wer Lust hat das letzte sich mal anzugucken. jequel.jexp.de
+
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+Notebookreparatur (Mesirii,  9. Dez 2007, 11:33:26):
+Ich werd mein Notebook naechste Woche mal wegen der Gehaeuseschaden
+wegbringen.
+Also wenn mich Maharet nich an ihren laesst, werd ich maximal von Arbeit
+idelnderweise da sein.
+Mesi/Ennox.
+
+-----------------------------------------------------------------------------
+
+
+
+Mesi auf die Insel (Mesirii,  8. Mar 2008, 13:43:53):
+Genauer gesagt London, eine Woche, geile Softwareentwicklungskonferenz von
+frueh bis abend. *freu*. Dafuer muss ich leider meine Family zuruecklassen.
+Zum Glueck hab ich aber ein Hotel mit WLAN also sollte es, wenn es nich zu
+spaet wird auch fuers reingucken reichen.
+Mesi
+P.S. http://qcon.infoq.com
+
+-----------------------------------------------------------------------------
+
+
+
+Bin wieder da (Mesirii, 14. Okt 2009, 22:10:34):
+War ne Woche in Daenemark auf der geilsten Software-Entwicklungs-Konferenz
+ueberhaupt - diesmal sogar als Speaker, also fuer lau *freu*.
+Mesi
+
+-----------------------------------------------------------------------------
+
+
+
+auch mal weg (Sharia, 23. Jul 2010, 08:17:26):
+einfach, weil ich mal nen Artikel schreiben will : :)
+
+Ich war die letzten Wochen nicht da und werde die naechsten Wochen auch nicht
+da sein *G*.
+
+Aber jetzt kommt dann erstmal Urlaub.
+Sollte zufaellig jemand naechste Woche in Anaheim auf der AACC sein: kurze
+Mail mal an mich :)
+
+Sharia
+-.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: auch mal weg (Zook, 23. Jul 2010, 08:26:52):
+~#! rn=Sharia rt=1279865846 rg=seher.urlaub
+~#! tid=1279865846
+Was ist AACC?
+Klingt wie ein neues Hustenmittel.
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: auch mal weg (Sharia, 23. Jul 2010, 08:27:23):
+~#! rn=Zook rt=1279866412 rg=seher.urlaub
+~#! tid=1279865846
+American Association of Clinical Chemistry
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: auch mal weg (Zook, 23. Jul 2010, 08:27:55):
+~#! rn=Sharia rt=1279866443 rg=seher.urlaub
+~#! tid=1279865846
+Lag ich doch gar nicht so schlecht. 
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ich schreib mal was - urlaub (Tin, 13. Apr 2014, 22:42:16):
+Huhu liebe MG-gemeinde:)
+Da hier in Seher.urlaub nimand schreibt, trag ich mal meinen urlaub ein;-)
+ab Morgen bin ich im urlaub, ab und an hier im MG, allerdings meist am idlen.
+Bitte lasst mein haus stehen;-)
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub bis 11.6. (Nok,  6. Jun 2014, 01:33:09):
+Bin waehrenddessen voraussichtlich nicht da.
+
+Nok.
+
+-----------------------------------------------------------------------------
+
+
+
+meist idle von juli/sebtember (Tin, 20. Jun 2014, 02:20:50):
+Hey,
+Ich werde vermutlich meist von Juli bis September nicht anwesend oder idle
+sein.
+Anfang Juli bis Ende Juli werde ich viele Termine haben, und deshalb idle
+sein, wenn ich im MG bin.
+Ende Juli bis Ende August bin ich im Urlaub. Bin erst Mitte September wieder
+voll hier.
+Bitte lasst mein Haus stehen und alles was dazu gehoert. :)
+LG
+Tin.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub von 27.07.-28.08.2014 (Tin, 29. Jul 2014, 16:56:44):
+Huhu, Ich verabschiede mich mal in den Urlaub, in dem es viel sonne, ein
+tolles Meer und einen wundervollen Sandstrand gibt... aber schlechtes
+Internet. Also wuensche ich euch ein frohes forschen, metzeln und questen. Ich
+werde wohl ab und an reinschauen.
+LG-Tin
+
+-----------------------------------------------------------------------------
+
+
+
+19.-25.9. (Nok, 19. Sep 2014, 00:44:48):
+Urlaub waehrenddessen.
+
+Nok.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Nok, 20. Dez 2014, 00:56:39):
+Vom 20.12. bis 03.01.
+Wenn ich da mal reinschaue, dann vermutlich nur kurz, und meine Kartensammlung
+habe ich dann natuerlich auch nicht griffbereit.
+
+Nok i.V.v. Khidar.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub von 01.03.2015-08.03.2015 (Tin, 21. Feb 2015, 14:27:55):
+Huhu,
+versuch 2.... Da ich am Handy nicht richtig tippen konnte:-D
+Ich bin, so wie im Titel schon steht vom 01.03.-08.03. im Urlaub bei Familie
+in New York...
+Wurde auch mal wieder Zeit:-D
+Erreichbar nur per E-Mail.... und Facebook :D
+
+Frohes forschen, questen, metzeln und sterben:)
+
+Tin
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Nok, 20. Okt 2015, 00:20:40):
+Vom 21.10. bis 2.11. bin ich nur sehr gelegentlich da.
+
+Gruesse,
+Nok i.V.v. Khidar
+
+-----------------------------------------------------------------------------
+
+
+
