diff --git a/OLD.magier.urlaub b/OLD.magier.urlaub
new file mode 100644
index 0000000..6a8c384
--- /dev/null
+++ b/OLD.magier.urlaub
@@ -0,0 +1,9629 @@
+23.12.-9.1. (Anthea, 14. Dez 1993, 11:26:05):
+Eben, Olpp, da stimme ich Dir zu.
+Ausserdem hatte ich mich schon zum Skifahren angemeldet, bevor der Termin
+fuer die Fete feststand (*sniff*)
+
+	Anthea
+
+-----------------------------------------------------------------------------
+
+
+
+artikel 23.12.-6.1. (Prince, 21. Dez 1993, 12:49:54):
+da bin ich zu hause, und nicht im mud... schade eigentlich
+prince
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Prince (Catweazle, 21. Dez 1993, 13:26:21):
+My home is, where my heart is!
+
+  Catweazle          __oo0__((*  *))__0oo__
+
+-----------------------------------------------------------------------------
+
+
+
+Hoffentlich war das ein Tippfehler...:) (Freund, 12. Feb 1994, 11:15:44):
+Ketos, ich hoffe Du meintest 20.2.94? NIcht 20.1.95???
+Gruesse von Freund.
+
+-----------------------------------------------------------------------------
+
+
+
+Bin fuer einige Zeit weg (Bernard,  4. Mar 1994, 23:17:38):
+Weiss noch nicht, obs Wochen, Monate oder Jahre werden.
+
+-----------------------------------------------------------------------------
+
+
+
+artikel Prince is inner Eifel... (Prince, 11. Mar 1994, 21:03:12):
+Hiho,
+vom 11.3. bis 1.4. werde ich mich in einem der entlegensten Winkel dieser
+Galaxie rumtreiben... DER EIFEL (*graus*) ...ohne Internet, ohne Hoffnung ;-)
+aber wenigstens mit Herb an meiner Seite. Hope that helps.
+
+Also, bis April, Euer
+
+Prince
+
+-----------------------------------------------------------------------------
+
+
+
+12.05 bis 17.05 (Durian, 10. Mai 1994, 14:16:49):
+In dieser Zeit mache ich Urlaub in
+
+   - Paris
+     Der Stadt der Liebe
+
+   - Euro-Disney
+     Dem Land der Traeume
+
+Kein Neid, bitte :-)
+
+- Durian
+
+-----------------------------------------------------------------------------
+
+
+
+01.08.-09.09. (Wargon, 29. Jun 1994, 15:14:45):
+Urlaub?
+URLAUB???
+Schoen waer's... Arbeiten ist angesagt...
+Allerdings bin ich damit immer mittags fertig, kann also sein,
+dass ich ab und zu mal nachmittags nach Muenster komme und hier
+einen Blick rein werfe... ;)
+  Ein bei der Party auf ALLE FAELLE anwesend seiender
+    Wargon Sateen
+
+-----------------------------------------------------------------------------
+
+
+
+Semesterferien (Drizzt, 12. Jul 1994, 09:41:35):
+Hi there...
+
+Da bei mir bald die grossen Semesterferien losgehen (ab 17.07.), kann es
+sein, dass ich fuer die naechsten 3 Monate nur noch selten bis nie hier zu
+sehen bin.
+ Der chaotische Dunkelelf
+     Drizzt
+
+-----------------------------------------------------------------------------
+
+
+
+Arbeit ueber Arbeit... (Highlander, 13. Jul 1994, 10:47:50):
+Wie der Titel schon sagt - um Urlaub geht es hier weniger.
+Den August ueber arbeite ich. Tauche wohl hoechstens einmal die Woche
+(oder evtl mal am Wochenende) hier auf.
+Soll natuerlich nicht heissen, dass ich auf der Party nicht da bin!
+Und nach der Arbeit - mal sehen, vielleicht verzieh ich mich
+da mal Richtung norden...  so 'ne Woche oder so.
+Make it so.
+    Highlander
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Li, 15. Jul 1994, 10:23:13):
+Hi Leute,
+Ich kann mich dem Artikel von Bongo nur anschliessen.
+In den naechsten drei Wochen werde ich nur noch unregelmaessig und selten im
+MUD sein.
+zaijian,
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Wech. (Quasimodo, 15. Jul 1994, 10:32:44):
+Hi, auch!
+
+Auch meine Wenigkeit wird in naechster Zeit (2Monate) wohl eher durch mehr
+oder wenig konsequent durchgehaltene Abwesenheit glaenzen. Das Vordiplom ruft
+mich.
+
+Quasimodo
+
+-----------------------------------------------------------------------------
+
+
+
+Klausuren - Arbeit - Urlaub (?) (Gnulli, 19. Jul 1994, 11:50:15):
+Hi!
+
+Hmmm.... Urlaub nein.... muss arbeiten und lernen, aber zu hause, daher ...
+vom 27.7. bis 5.9. hoechstwahrscheinlich nicht hier.
+Wenn noch was wichtiges ist, entweder bis Mittwoch mailen oder an Gernot,
+gatsby wieterleiten, dann muesste das ueberkommen, ansonsten s.y. auf der
+Party.
+
+Gnulli - armer klausurenindensemesterferieneschreibender Teufel-
+
+-----------------------------------------------------------------------------
+
+
+
+Demnaechst (Loco, 27. Jul 1994, 17:32:57):
+Wenn mir nichts dazwischen kommt, fahr ich dieses Jahr auch noch in Urlaub.
+Und zwar einen Monat lang nach Skandinavien. Vielleicht komm ich ja auch mal
+wieder in Svolvaer vorbei ;-)
+Das genaue Datum steht noch nicht fest, das entscheide ich kurzfristig.
+Abfahrt irgendwann Mitte August, leider duerfte sich das mit der MG-Party
+beissen.
+Wer gerne ne Postkarte kriegen will, hat also noch 2-3 Wochen Zeit, mir
+seine/ihre Adresse (keine email) mitzuteilen :-)
+  Loco
+
+-----------------------------------------------------------------------------
+
+
+
+Artikel (Puma,  8. Aug 1994, 21:46:15):
+Puma verlegt seine Jagdgruende vom 10.8. bis 10.9. in seine Heimat nach Kiel
+(STRAND!) und weist es weit von sich, sich mit irgendwelchem
+Computerkrempel dort zu befassen.
+
+Man munkelt jedoch von einem gnadenlosen Grosswildjaeger namens Quengistu,
+der ihn fuer ein bestimmtes Wochenende um den 20. herum einfangen und in
+Muenster ausstellen will.
+Wuenscht ihm Glueck. ;-)
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+sofort - 15. September (Loco, 12. Aug 1994, 22:41:57):
+Ich mache ernst, und fahre am Sonntag morgen. Ich schaue hoechstens morgen
+noch mal kurz rein, dass ich von unterwegs ins Mud komme, ist noch
+unwahrscheinlicher...
+Am 14. September laeuft meine Netzkarte fuer Skandinavien ab, kurz darauf bin
+ich also wieder im Lande.
+
+Bis dann, schoene Party,
+
+        Loco
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Fraggle, 23. Aug 1994, 13:24:47):
+Ich bin ab Morgen nicht mehr hier, komm in ca. 3 Wochen +/- wieder.
+(Hoffentlich ist das Mittelmeer an das Internet angeschlossen, wenn nicht
+traen heul jammer winsel sprudel wein seufz ...)
+
+Fraggle
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub!!! 2 Wochen (Summer, 23. Aug 1994, 16:22:44):
+Hiho, Georg und meine Wenigkeit werden ab Donnersduck nach Mykonos
+(hoffentlich gibt's dort nicht nur Schwule :)) fuer 2 Wochen fliegen!
+Nicht nur wir zwei versteht sich, also auf keinen dummen Gedanken kommen...
+
+Also dann wuenscht uns Sonne und genug Maedchen...
+
+Sommerliche Gruesse
+             Summer & Georg
+
+
+-----------------------------------------------------------------------------
+
+
+
+Und... Wech.... :)) (Angus, 31. Aug 1994, 15:46:17):
+Endlich Urlaub... ausspannen... FERIEN :))
+vom 06.09 - ?? (2 - 3 Wochen) bin ich in den Dolomiten
+zum kraxeln :)) Glaub kaum, dass aufm Gipfel Internet-
+Anschluss vorhanden ist.... wenn doch, bleib ich oben ;*)
+    Angus - (reif fuer die Insel... aehh... den Gipfel)
+
+-----------------------------------------------------------------------------
+
+
+
+ich fahre weg ! (Sir, 13. Sep 1994, 20:03:56):
+Ich hoffe ihr kommt in der Zeit vom 27.9. bis 10.10 ohne mich aus ....
+Auch wenn's euch schwerfallen mag ;)
+Sir
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Li, 16. Sep 1994, 14:02:44):
+ni hau!
+Ich bin vom 18.9 - 3.10 in Urlaub und lasse mir die Sonne auf den Bauch
+brennen, Ob danach Gatsby wohl soweit ist, meine Quest zu testen? Naja, genug
+zu tun gibts auch so, nicht wahr Rumata?
+Bis denn,
+Li (aetsch, aetsch! Der wetterbericht von gestern zeigte fuer Tunis 35Grad
+an!)
+
+-----------------------------------------------------------------------------
+
+
+
+ich auch urlaub, ganz viel :) (Tryfan,  7. Okt 1994, 21:13:15):
+
+ Ich werde am 19.10 mal wieder ueber den grossen Teich starten,
+um mich in den Armen eines huebschen Elfenmaedchens von meinem
+Maulwurfdasein zu erholen. Diesmal kann es etwas laenger dauern, 
+bis ich wieder im MG auftauche, so bis Ende November.
+
+ Wer Lust hat, kann sich mal im Prallel-Quest von Bracken umschauen.
+Es ist das Duncton, so wie es Rebekka erlebt hat. Man kann es gut bis 
+zur Haelfte durchspielen. Begin bei: /d/ebene/tryfan/room/rduncton/ankunft
+ Auch mein Namensgeber der 'Berg Tryfan' ist fast fertig. Wer ihn 
+besteigen will, sollte bei /d/ebene/tryfan/room/rsaibod/cwm3 beginnen. 
+Aber nicht vergessen, das Schild in cwm1 zu lesen.
+ Ueberfluessig zu sagen, dass man nicht persoehnlich sondern mit einem
+gewoehnlichen Testy reingehen sollte.
+
+	Viel Spass    Tryfan
+
+PS: Im uebrigen bin ich immer noch der Meinung, dass Sehern neue Qestgebiete
+    zur Erkundung auf eigene Gefahr unter Aufsicht des zustaendigen Magiers
+    zugaenglich gemacht werden sollten.   
+	Seher sind die besten Testies!     (*Nicht aufregen*)    
+
+-----------------------------------------------------------------------------
+
+
+
+nicht direkt, aber... (Alarin, 18. Okt 1994, 18:57:05):
+also, leider muss ich jetzt eine art "mud-urlaub" nehmen, ohne in urlaub
+fahren zu koennen. ich versuche, ab und zu mein report-file durchzusehen
+und bugs zu fixen, werde aber zwei wochen kaum da sein.
+tschuess
+            alarin
+
+-----------------------------------------------------------------------------
+
+
+
+Ferienstimmung (Drizzt, 22. Dez 1994, 12:45:19):
+
+Da ich nach Neujahr fuer 1 (vielleicht sogar auch 2) Woche(n) nach Jamaika
+fliege und auch die Weihnachten zuhause verbringe o-<(:-)= , ist es ev.
+moeglich, dass ich waehrend dieser Zeit, in der ich weg bin, nicht hier bin.
+Das heisst: von 24 Dez 1994  bis ca. 15 Jan 1995.
+Ich wuensche allen frohe Festtage und 'es guets Noeis'.
+
+Drizzt der Dunkle
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ferienstimmung (Dancer, 14. Jan 1995, 17:47:07):
+#! rn=Drizzt rt=788096719
+Jamaika, Mann :-)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub vom 24.2 bis ca. 13.3. (Sir, 16. Feb 1995, 15:52:21):
+Moin,
+
+ich muss Snowboard-Fahren lernen. Externes Seminar.
+
+MfG
+Sir
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub vom 24.2 bis ca. 13.3. (Drizzt, 20. Feb 1995, 14:13:55):
+#! rn=Sir rt=792946341
+Hallo Sir
+
+Ich wuensche Dir 'gut Snoeber' und wenig blaue Flecken :-)
+
+DdD
+
+-----------------------------------------------------------------------------
+
+
+
+4. Maerz bis 18. Maerz (voraussichtlich) (Loco, 27. Feb 1995, 16:23:44):
+Ich bin, wenn nix dazwischenkommt, ab Samstag 2 Wochen weg, und zwar in
+Schweden. Vielleicht auch kurz mal in Norwegen. Nein, nach Svolvaer diesmal
+nicht ;)
+
+           Loco
+
+-----------------------------------------------------------------------------
+
+
+
+06.04.-16.04. (Slasher, 21. Mar 1995, 18:02:43):
+Hola muchachas y muchachos!
+
+Ich fahr mal schnell nach Spanien ein paar Tage in der
+schoenen Fruehlingssonne verbringen und um ein paar
+wunderschoene, hemmungslose Beachparties zu feiern.
+Wenn ich nicht schon vorher des Landes verwiesen werde,
+bin ich am 16.04. wieder zurueck und hoffentlich etwas brauner
+als jetzt.
+
+Adios y Hasta la vista
+++
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub ab heute (Catweazle, 27. Mar 1995, 16:29:15):
+Hallihallo!
+Ich Hab mich kurzfristig entschlossen mal ordentlich Urlaub zu
+machen. Da ich eine neuliche eine Gehoerige finanzielle 
+Spritze bekommen habe, kann ich mir einen schoenen Urlaub auf
+den Bahamas leisten :)
+Ich denke, im naechsten Herbst bin ich wieder da.
+Bis bald,
+Yours truly,
+        Catweazle
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abschied (Silvana, 11. Apr 1995, 12:00:25):
+Tja - hat mit Urlaub zwar nichts zu tun, aber dennoch: Heute ist mein
+letzter Tag hier.
+
+Nein, nein - nicht endgueltig! Aber immerhin fuer die naechsten 10 bis
+14 Tage. (Wie soll ich das nur ueberleben?) Na, ja. So isses nun mal:
+Semesteranfang, Ostern, drei Umzuege - das ist leider etwas zu viel des
+Guten. Ergo: Froehliche Eiertage und bis irgendwann danach.
+
+Silvana - jetzt schon traurig.
+
+-----------------------------------------------------------------------------
+
+
+
+Hasta luego! (Li, 12. Mai 1995, 13:12:00):
+Buenos tardes!
+Ich fahre morgen fuer 14Tage nach Spanien, bzw. Kanaren. in dieser Zeit werde
+ich mich vom schweren Stress des Magierdaseins erholen und gar nicht an das
+MUD denken (wer's glaubt!).
+Bis denn in alter Frische!
+
+Li
+(verabschiedet sich heute ausnahmsweise mit Hasta luego )
+
+-----------------------------------------------------------------------------
+
+
+
+Endlich mal Urlaub! (Throin, 17. Mai 1995, 11:03:22):
+Ich werde die naechste Woche zwecks Ausspannen und Inspiration fuer
+meine Schiffs-Quest auf der Ostsee segeln gehen! :)))
+Fuer alle, die jetzt neidisch werden: Das sollt ihr auch! :)
+
+Denn mal 'Leinen los' und 'Ahoi'
+
+Throin (segelndes Braumeister-Zwergen-Baerchen)
+
+-----------------------------------------------------------------------------
+
+
+
+Zwangsurlaub :) (Arien, 17. Mai 1995, 21:40:09):
+Dancer hat derzeit Probleme, Zugang zum Mud zu bekommen, da wohl irgendetwas
+mit der Vernetzung in FFM im Argen liegt. Also liegt der Sandtiger
+voraussichtlich fuer die naechsten zwei Wochen mehr oder minder faul auf
+seiner Lieblingsduene und traeumt mud-reicheren Zeiten entgegen.
+Beschwerden in der Zwischenzeit an Durian richten :)
+
+Arien, i.A. Kieskaetzchen Dancer
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwangsurlaub :) (Durian, 18. Mai 1995, 10:27:58):
+#! rn=Arien rt=800739609
+MOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMENT :-)
+
+1) erhalte ich soweiso schon alle Beschwerden :-)
+
+2) Dancer ist ein SANDkaetzchen, denn unsere Wueste besteht aus SAND, nicht
+aus KIES!!!!!!!!!!!
+
+Also wirklich ...
+
+- Durian
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwangsurlaub :) (Kaenguruh, 18. Mai 1995, 12:34:01):
+#! rn=Arien rt=800739609
+Um mal fuer etwas Aufklaerung zu sorgen:
+(Wenn jetzt schon alle den armen Dancer bemitleiden)
+Weil ein Hacker angeblich ins Netz der WiWis eingrbrochen ist, wurde
+das gesamte Netzt vom Internet abgehaengt und soll soweit ich das
+mitgekriegt habe schrittweise innerhalb der naechsten Wochen wieder
+drangehaengt werden. Das Netz der Informatiker ist davon voellig
+unabhaengig, deshalb sind Gumpy und ich immer noch hier.
+Soviel zur Aufklaerung....
+
+     Kaenguruh
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Zwangsurlaub :) (Schrumpfi, 19. Mai 1995, 03:05:28):
+#! rn=Kaenguruh rt=800793241
+Und wer bemitleidet mich arme Waise?
+Schrumpfi weint sich die Augen nach ihrem Papa aus
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Zwangsurlaub :) (Silvana, 21. Mai 1995, 12:45:44):
+#! rn=Schrumpfi rt=800845528
+Ach, herrje, arme Schrumpfi...
+Wie heisst das so schoen bei den Beatles (wo hab ich denn den Namen her?):
+If you need a shoulder to cry on, I hope it will be mine...
+Ups - hoffentlich versteht das jetzt keiner falsch. (OK - magier.schmarrn)
+
+Silvana - troestet Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Zwangsurlaub :) (Schrumpfi, 21. Mai 1995, 21:24:01):
+#! rn=Silvana rt=801053144
+Oh Silvana wie lieb! Wenigstens eine versteht meinen Schmerz :-)
+Schrumpfi weint ihren Kummer und Schmerz an Silvanas Schulter aus.
+
+-----------------------------------------------------------------------------
+
+
+
+Und tschuess... (Horschd, 31. Mai 1995, 03:19:02):
+Achja... endlich kann ich auch mal in diese Rubrik schreiben.
+
+Ich fahr ueber Pfingsten nach Holland und werd mich in Einhoven
+auf dem Dynamo-Open-Air rumtreiben. Ich frag mich ernsthaft, wie ich
+die Zeit von Donnerstag bis Montag ohne MG totschlagen soll...
+Naja... wahrscheinlich muss ich mich mit Bier oder aehnlichen
+alkoholischen Getraenken ueber diesen herben Verlust hinwegtroesten...
+*seufz schwer*
+
+Naja... so gegen Dienstag bin ich aber wieder in alter Frische da.
+
+Horschd - allen Daheimbleibern viel Spass im MG wuenschend.
+
+-----------------------------------------------------------------------------
+
+
+
+Eigener Urlaub! (Arien,  7. Jun 1995, 19:13:03):
+Diesmal habe ich das Vergnuegen einen eigenen ganz freiwilligen Urlaub
+anzukuendigen :)
+Meiner eine ist die naechsten 2 Wochen unterwegs, u.a. den Strand in Belgien
+auf Sonnenstrahlen absuchen.
+Also bis zum 21.6....ciao und ueberarbeitet euch nicht.
+
+Arien (sonnig)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Eigener Urlaub! (Oetti,  7. Jun 1995, 19:15:29):
+#! rn=Arien rt=802545183
+Yo !
+Ich uebrigens auch nicht..., aber wer denkt schon an mich *schnief*
+
+tschuess
+
+Oetti
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Eigener Urlaub! (Arien,  7. Jun 1995, 19:17:00):
+#! rn=Oetti rt=802545329
+Ok, Ok, Ok. *streut Asche auf ihr Haupt* Irgendeiner muss ja kochen, gell
+Oetti ;)
+Wir sind also beide nit da, wasn Zufall :)
+
+-----------------------------------------------------------------------------
+
+
+
+EUCAS '95 (Grimmborn,  5. Jul 1995, 11:10:29):
+
+Wo ich schon mal in dieser Rubrik schreiben darf:
+Ich bin diese Woche in Schottland (Edinburgh) auf einer Konferenz (siehe
+Titel).
+Interessiert zwar keinen, aber dann hab ichs mal gesagt...
+
+Grimmborn der Atheist. Muddet auch auf Konferenzen in Schottland...
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub?! (Dancer,  5. Jul 1995, 13:21:00):
+
+Urlaub eher nicht, aber bis zum 24. werde ich nur ganz wenig da sein ->
+Klausurstress....danach gehts aber mit VOlldampf weiter :)
+
+Knuddels,
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+Stress (Drizzt,  5. Jul 1995, 15:29:12):
+
+
+Wenn hier schon gepostet wird, will ich auch nicht nachstehen ...
+Ich werde so ab Mitte Juli nur noch seeeeehr selten bis gar nicht mehr hier
+sein. Diese Stress-, bzw. Lernphase wird so bis gegen Oktober dauern, und
+ich hoffe, dass ich bis dann mein Vordiplom geschafft habe. (Fuer Inter-
+essensfragen bitte Grimmborns Abschnitt [ -2 Artikel] lesen :-)  )
+
+DdD  (steht vor dem Stoff wie der Esel am Berg)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub??? (Mystix,  5. Jul 1995, 17:03:48):
+Da diese Rubrik anscheinend wiederbelbt wurde - hier auch ein Artikel von
+mir.
+Bis zum 17. Juli werde ich wohl seltener hier sein (KLAUSURSTRESS). Dann
+wieder etwas haeufiger - aber spaetestens ab dem 24. Juli bin ich leider
+wieder in der Fernzone (Telefontechnisch) => Sehr seltener Aufenthalt im MG.
+Kann also etas dauern, bis ich BUGs oder aehnliches beseitige.
+
+Mystix - gestresst
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub?! (Catweazle,  5. Jul 1995, 20:12:29):
+#! rn=Dancer rt=804943260
+Aeh, welchen 24. ? :-)
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaub?! (Dancer,  6. Jul 1995, 01:36:28):
+#! rn=Catweazle rt=804967949
+Erpsenzaehler :-)) Ich bin WEG, kommts da auf ein Jahr mehr oder weniger an?
+;-) *grins* 24. Juli....bin ja ganz schnell wieder da :-)
+Aeh ja...1995 :)
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+ist zwar kein urlaub ... (Nairolf, 15. Jul 1995, 03:17:01):
+SO ich denke diese rubrik wird eh viel zu selten benutzt und deshalb schreibe
+ich mal hier rein..
+ich werde ab montag 17.7. erstmal fuer 6 bis 8 wochen nicht mehr allzuhaeufig
+hier sein, denn ich muss tatsaechlich mal arbeiten um die telefonrechnug
+bezahlen zu koennen tja aber vermissen werdet ihr mich ja eh nicht soooo
+dermassen...(sollte vielleicht diesen artikel unter anzeigen veroeffentlichen
+damit meine    _Spieler_ freunde das auch mitbekommen ... naja ich hoffe
+danach habe ich dann auch endlich zeit mit delos dann mal etwas intensiver zu
+proggen :-)
+so malwieder vergessen ne klammer zuzumachen.. also bis denne leute ich werde
+das MG vermissen...:-(
+Kaept'n Nairolf der fliegende Hollaender
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ist zwar kein urlaub ... (Grimmborn, 17. Jul 1995, 15:00:22):
+#! rn=Nairolf rt=805771021
+
+Peinlich, peinlich, Nairolf...
+Diese Rubrik KANN von Spielern gelesen werden, seit immer schon.
+
+Von seiner eigenen Unfehlbarkeit ueberzeugt,
+                                             Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+und tschuess (Felagund, 20. Jul 1995, 13:53:40):
+Hmm..will auch mal wieder was posten ;)
+Also ab 19.7. bis 6.8. denk ich malk nicht ans MUD (*gelogen*) sondern lieg
+faul an Korsikas Straenden rum (*wahr*)
+Und damit jetzt keiner neidisch wird sach ich auch gleich dazu, dasses da mit
+dem BUS runtergeht :(
+Aber lustich wirds trotzdem ;)
+Also bis denne....Fela
+
+-----------------------------------------------------------------------------
+
+
+
+Diplomferien (Sir, 20. Jul 1995, 20:39:59):
+Moin,
+
+ich habe vorlaeufig unbegrenzten Urlaub, das Dumme ist nur ich muss ihn
+am Rechner verbringen.
+Wundert Euch also nicht, wenn ich mich in der naechsten Zeit eher der
+Diplom-Quest widme und ziemlich selten hier sein werde ...
+
+Ggf. wendet euch an meinen Co-RM Death
+
+Ciao
+Sir
+
+-----------------------------------------------------------------------------
+
+
+
+Pause (Wur, 20. Jul 1995, 23:45:53):
+So, nun mach auch ich mal Urlaub, oder das was man halt dadrunter versteht.
+Ich bin so, fuer die naechsten 2 Wochen nicht da. Falls was ist, ops, keine
+Ahnung was dann.
+Viel Spass hier derweil.
+
+Wur
+
+-----------------------------------------------------------------------------
+
+
+
+3 Monate (Delos, 21. Jul 1995, 10:03:19):
+
+Hallo zusammen!!!
+
+Tja, ueberall beginnt die Ferien- und Urlaubszeit, also auch bei mir.
+So mancher nutzt die Zeit um richtig Urlaub zu machen, der andere zum
+Arbeiten (Geld verdienen) oder wieder andere mussen fuer Pruefungen,
+Vordiplom, Diplom, o.ae. lernen,...
+Ich werde mir meine Zeit etwas aufteilen:
+ - 2 Wochen Geld verdienen,
+ - 2 Wochen Urlaub in meiner geliebten Heimat Bayern,
+ - 2 Monate Praktikum.
+Alles in allem werde ich also fuer 3 Monate dem MG keinen Besuch abstatten
+koennen.
+
+Ich wuensche Euch eine schoene Zeit und natuerlich viel Erfolg (bei was
+auch immer),
+
+Delos
+
+
+-----------------------------------------------------------------------------
+
+
+
+"Urlaub" (Highlander, 21. Jul 1995, 14:14:53):
+
+Hi!
+Auch mich hat's erwischt, die vorlesungsfreie Zeit naht.
+Das heisst mit anderen Worten, es ist Zeit zum
+a) Geldverdienen (August)
+b) Mathe lernen (September, ...)
+c) Klausur schreiben (Oktober)
+Vor allem im August werde ich deswegen nur sehr selten anzutreffen sein.
+Dafuer nehm ich mir dann auch mal wieder ein oder zwei Tage Zeit fuer
+die Seele :>
+
+   Highlander ryn Tahar, geldausgebender und daher auch verdienen muessender
+              Seelenklempner
+
+-----------------------------------------------------------------------------
+
+
+
+Bin auch mal weg... (Anthea, 24. Jul 1995, 10:54:38):
+Ich werde vom 1.8. bis 23.8. in Suedspanien mein Unwesen treiben, da werde
+ich also nicht da sein. Am 31.7. muss ich die Reste meiner Geburtstagsfeier
+aufraeumen, am 30.7. den Geburtstag feiern, und am 29.7. dafuer einkaufen.
+Also werde ich zu diesen Zeiten wohl auch nicht koennen.
+
+            Anthea
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Li, 24. Jul 1995, 13:51:29):
+Hallo Mitmags!
+ich fahre zwar nicht in Urlaub, mache aber ein bischen Urlaub (auch vom MUD).
+Ich habe mir ein bischen Arbeit mit nach Hause genommen, um Xian
+aufzumoebeln, aber mehr werde ich im moment nicht machen.
+bin aber unregelmaessig noch da (wie im Moment) und ausserdem gibts ja noch
+die Mail, nicht war?
+also bis denn,
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+leider kein Urlaub (Fraggle, 24. Jul 1995, 17:49:21):
+Tja, auch ich muss lernen (fuers Diplom)
+Komme aber sporadisch immer mal vorbei (also nicht wundern, wenn mails/Bugs
+etc. laengere Zeit unbeantwortet bleiben.
+Gruss
+Fraggle
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn, 27. Jul 1995, 14:15:12):
+
+So, ab Sa, dem 29.7. bin ich in Urlaub (Schottland, aber wen kuemmerts?).
+Zurueck bin ich wohl vor der Party kaum, mit viel Glueck bin ich auf der
+Party. Nutzt die Zeit und muddet, ohne dass ich Euch dazwischenquatschen kann!
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Ne, nich Urlaub (Paracelsus, 28. Jul 1995, 13:50:16):
+Hi!
+Ich werde wohl auch in naechster Zeit sehr selten im MG anzutreffen
+sein. Ich werde mir wohl oder uebel die Zeit mit Arbeiten und Lernen
+vertreiben. Bei zwei Vordiplomsklausuren bin ich lieber vorsichtig.
+Ihr werdet also bis Anfang Oktober meist ohne mich auskommen muessen.
+Aber freut euch nicht zu frueh, ich komme wieder ! ]:-)
+
+Paracelsus der Dunkle.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? Pah! (Wargon, 28. Jul 1995, 17:52:05):
+  Hi!
+Da ich die naechsten drei Wochen (31.07. bis zur Party) Geld verdienender
+Weise verbringen werde, wird man mich waehrend dieser Zeit wohl eher selten im
+Mud zu sehen bekommen.
+  Wargon
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? hoffendlich! (Bloodyharry,  1. Aug 1995, 01:36:12):
+Also ich werde ab Freitag dem 4.8 die naechsten zwei Wochen mit meiner
+Familie in den Niederlanden verbringen.
+Dann werde ich leider keinen Kontakt zu Euch haben - aber ich werde sicher an
+Euch denken. :)
+ciao
+    Bloody Harry
+
+-----------------------------------------------------------------------------
+
+
+
+Kaum bin ich Magier, schon bin ich im Urlaub (Morgoth, 10. Aug 1995, 09:58:28):
+Ja ja, ich schaem mich auch.
+Also ich hab vom 14.08 - 01.09 Urlaub.
+Ich fahre nicht weg, d.h. ich werde am WE oder abends/nachts mal reinschaun.
+Falls sich in der Zeit irgendwer fuer mein projekt interessiert und mir
+helfen will, so wird sich das doch sicher einrichten lassen. (schiel zu den
+R's E's und G's), oder???
+also bis denne....
+**wink**
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Zwar kein Urlaub, aber genauso gut! (Rumata, 11. Aug 1995, 19:07:12):
+Da ich in zwei Tagen in die Staaten zu einem Austauschaufenthalt
+fliege, dachte ich, es waere mal langam Zeit, Tschuess zu sagen.
+Also:
+    TSCHUESS :-)))
+Vielleicht schau ich mal von dort aus rein (aber ihr kennte ja die
+USA-Leitungen :-()
+
+Rumata der magische Beach Boy
+
+-----------------------------------------------------------------------------
+
+
+
+endlich mal Urlaub (Rikus, 18. Aug 1995, 01:35:15):
+Ich treibe mich vom 19.08. bis 17.09. in Californien und Umgegend rum.
+Also ciao und alles Gute bis dahin...
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+30.08 - 13.09. (Durian, 22. Aug 1995, 12:52:54):
+Hallo Leute!
+
+Die Sonne brennt Dir auf die Haut, das Meer rauscht zu Deinen Fuessen,
+Du hast ein leckeres Eis in der Hand, weit und breit kein Baum in der
+Naehe .... genauso, wie man sich einen schoenen Urlaub vorstellt!
+Vom 30.08. bis 13.09. bin ich in der gluecklichen Lage, diesen
+wundervollen Urlaub auf Kreta geniessen zu koennen!
+
+- Durian
+
+Aeh, ist Kreta nicht eine Insel???
+
+oh
+
+Ich sollte umbuchen ...
+
+:-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 30.08 - 13.09. (Dancer, 22. Aug 1995, 13:42:00):
+#! rn=Durian rt=809088774
+Kreta ist ein Stueck Wueste, das nur gerade gebadet wird, weiss doch jeder!
+
+Dancer
+
+
+-----------------------------------------------------------------------------
+
+
+
+offline von 23.8 bis 28.8 (Ketos, 22. Aug 1995, 19:53:59):
+Mein Institut zieh um und schaltet morgen Mittag seine Computer ab und ich
+schaetze das vor Monatg da nix mehr geht :(
+
+- Ketos - Im Zwangsurlaub ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Ungarn: 28.8-3.9 (Hate, 27. Aug 1995, 21:00:17):
+Tja, von Montag bis Mittwoch Arbeit und dann Thermalbad :)
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Abschied (Silvana,  7. Sep 1995, 16:00:56):
+Tja, so leid es mir tut und so schwer es mir faellt: Es ist so weit.
+Ich muss mich vom Morgengrauen verabschieden.
+
+Nein, nein - nicht fuer immer. Aber fuer die naechsten 14 Tage. Ich
+hab naemlich zu ersten mal seit 7 Jahren wieder nen richtigen Urlaub! ;)))
+Also - bis bald mal.
+*zum Abschied wink* Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Kirk und icch sind jetzt erstmal weg (Gwenhwyfar, 29. Sep 1995, 12:38:00):
+So, endlich ist es soweit. Der Urlaub steht vor der Tuer.
+Kirk und ich sind jetzt erstmal fuer 5 Wochen, dass heisst bis zum 6.
+November weg. *freu*
+Wir werden uns mal Australien ansehen.
+Bis dahin winke, winke
+
+Gwenny und Kirk
+
+-----------------------------------------------------------------------------
+
+
+
+Arbeit! (Angus,  6. Okt 1995, 12:00:58):
+Naja, wie der Titel schon sagt, hab ich keinen
+Urlaub, sondern muss Arbeiten... Wie dem auch sei, ich bin wohl die naechsten
+20 (ja, zwanzig *stoehn*) Wochen nur sporadisch, und dann auch
+nur zum Zeitung lesen hier anzutreffen.
+So long,
+   Angus - DB- und Visual-C++ Prakti...
+
+-----------------------------------------------------------------------------
+
+
+
+Diese Woche unterwegs (Ketos,  7. Okt 1995, 23:53:23):
+Die kommende Woche bin ich unterwegs und hoechstens mal kurz drin, wenn
+ich ueber ein internet zugang wo stolpern sollte.
+- Ketos -
+
+-----------------------------------------------------------------------------
+
+
+
+16.10.-27.10. (Morgoth, 11. Okt 1995, 14:57:17):
+wie schon aus dem subject zu ersehen bin ich in diesem zeitraum nicht da.
+ich werde dort (hoffentlich) den zweiten teil meines Klinikums fuer den
+Rett-San absolvieren.
+bis dann....
+morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Tschuess (Schrumpfi,  1. Nov 1995, 19:36:46):
+So, wird Zeit fuer mich, mal ne Mudpause zu machen. Ich mach zwar keinen
+Urlaub
+aber ich werd wahrscheinlich bis 18.11 oder noch laenger nicht im Mud sein.
+Ich hab am 16.11 eine wichtige Pruefund und wenn ich weiterhin im Mud
+rumlunger
+werd ich die wohl versauen. Also hab ich mir selber eine Abstinenz von
+mindestens 2 Wochen auferlegt.
+Falls es irgendwelche Bugs und dergleichen in meiner Gruft geben sollte, was
+natuerlich voellig unwahrscheinlich ist ;-), koennt ihr Euch vertrauensvoll an
+meinen geliebten Gatten Zardoz wenden *grins Zardoz breit an*
+Bis denne und lasst das Mud stehn
+                 Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Silvana."Urlaub" (Li, 13. Dez 1995, 09:31:12):
+Hi!
+Also wer sich wundert, dass Silvana im moment nicht da ist, liegt nicht
+daran, dass sie Urlaub hat, sondern dass sie sich ne richtig dicke virusgrippe
+eingefangen hat und zu Hause dass Bett huetet. sie wird nicht vor Mitte
+naechster Woche wierder in der Uni (und im MUD) sein.
+Dies nur vorsorglich, damit nicht mache Leute mich immer anhauen, wo sie denn
+waere (*schiel gewissen Magier an*)
+
+P.S. Sorry fuer die Typos, mache soll manche heissen... usw.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Feiertage (Creative, 16. Dez 1995, 17:19:09):
+
+Ab 22. Dez bis inkl. 4. Jan werde ich nicht am Rechner zu finden sein.
+Arbeit, ruhe geduldig (halt ich das aus?)
+
+-Crea-
+
+-----------------------------------------------------------------------------
+
+
+
+ich bin auch weg (Morgoth, 18. Dez 1995, 09:09:04):
+vom 27.12. (erster urlaubstag) bis zum 5.1. im neuen jahr (letzter
+urlaubstag) werde ich **wein, heul, schnueff** dem MG erspart bleiben (wer
+jubelt da? hm? ). also bis zum naechsten jahr. oder auf ein naechstes jahr?
+oder aeh. ach egal. auf jeden fall.
+frohe weihnachten und nen guten rutsch (von mir aus auch auf zardoz
+rodelbahn)
+
+**wink, wink**
+morgoth
+
+
+-----------------------------------------------------------------------------
+
+
+
+Noch'n Urlauber! (Kretek, 19. Dez 1995, 17:06:19):
+Hiho!
+
+Also, nicht, dass ich erwarte, dass jetzt jemand in Traenen ausbricht oder
+so, aber trotzdem:
+Ich bin ab 23.12. zwei Wochen lang weg, und zwar beim Skifahren. Sollte
+jemand einen die-Piste-wie-ein-Bloeder-runterrasenden Polarfrosch-Magier
+beobachten wollen, dann kann er/sie das ja in Dorfgastein machen...
+
+Kretek
+(nicht umsonst Mitarbeiter von Polar!)
+
+-----------------------------------------------------------------------------
+
+
+
+DM 478.- Telephonrechnung (Sushi, 20. Dez 1995, 20:54:26):
+Hmmm, ja. Das war es dann erst einmal.
+[Tod:] Eine Telephonrechnung hat gerade Sushi getoetet.
+Ich werde dann mal einige Zeit Pause machen, zumal da ich auch im Januar
+anfange, meine Magisterarbeit zu schreiben. Zwar werde ich von Zeit zu Zeit an
+den Wochenenden noch einmal reinschauen, aber dann nur kurz.
+
+Bis denn!
+
+Sushi
+
+-----------------------------------------------------------------------------
+
+
+
+Flucht aus Linz (Schrumpfi, 22. Dez 1995, 14:54:24):
+So, es ist soweit, die Polarhexe verlaesst Euch fuer ca zwei Wochen!
+Ich bin vom 24.12.95 - 8.01.96 auf der Flucht ;-)
+da es im Polar eh keine Bugs gibt, is es eh egal ob jemand da ist oder nicht.
+;-)
+Ich wuensch Euch schoene Feiertage und nen guten Rutsch, lasst das MG stehn
+und ueberfordert die arme Lilith nicht zu viel ... ;-)
+Tschuess
+                        Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Flucht aus Linz (Bendeigid, 22. Dez 1995, 14:57:01):
+~#! rn=Schrumpfi rt=819640464
+~#! tid=819640464
+Wie was keine Bugs? Was ist mit Lofwyr? :-)) Ach so, Troy.. na gut.
+Ich wuensch Dir alles Gute, und komm bald zum Testen zurueck!
+Ach so: Ich mach nur ueber die Feiertage ebenfalls Urlaub, schau aber
+zwischendurch nochmal rein. allerdings selten, schaetz ich.
+Da das eh niemand interessiert, kann der Artikel auch geloescht werden. :-((
+
+Bendeigid, verschneit.
+
+-----------------------------------------------------------------------------
+
+
+
+06.01. - 13.01. (Durian,  4. Jan 1996, 16:00:01):
+IN diesem Zeitpunkt breche ich mir auf oesterreichs Skipisten HOFFENTLICH
+NICHT die Beine ;-)
+
+- Durian
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub?????? (Anthea, 15. Jan 1996, 15:46:36):
+Ne, also Urlaub habe ich wirklich nicht! ich bin jetzt so langsam mitten im
+Pruefungsstress. Daher verabschiede ich mich erst einmal, da ich jetzt zu nix
+anderem mehr komme. Ob ich dann ab 10.2. wieder nen funktionstuechtigen
+Internet-anschluss von zu Hause aus habe, weiss ich noch nicht... ansonsten
+ab mitte Maerz wieder
+       Anthea
+
+-----------------------------------------------------------------------------
+
+
+
+Wenn es jemanden interessiert... (Shakedbeer,  1. Feb 1996, 11:17:35):
+Hi!
+
+Vom 05.02. bis zum 16.02. werde ich wohl nicht oft im Mud anwesend sein.
+Ich werde aber wohl ab und zu meine Mails und Rep-Files abfragen. Ich
+hoffe, dass ich auch ein wenig zum BETA-lernen komme. ;)
+
+Shakedbeer - weiss noch nicht, wie er es 2 Wochen ohne Mud schaffen soll.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wenn es jemanden interessiert... (Mupfel,  1. Feb 1996, 20:06:17):
+~#! rn=Shakedbeer rt=823169855
+~#! tid=823169855
+Du machst BETA?
+
+-mupfel-
+(verstehen wir beide unter BETA das neuste projekt der SIMULA-macher?)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Wenn es jemanden interessiert... (Shakedbeer,  2. Feb 1996, 13:04:14):
+~#! rn=Mupfel rt=823201577
+~#! tid=823169855
+Also. Ich mache BETA, da es von der UniDO leider als Programmiersprache
+zum Vordiplom angesetzt wurde. Und zwar handelt es sich um Mjoelner
+BETA. Das ist ne irre Sprache. Sie stellt alles ein wenig auf den Kopf.
+So heisst 3->x; das gleiche wie sonst x:=3;
+
+Ich hoffe, das hat Dir geholfen.
+Shakedbeer - Mag BETA eigentlich ganz gerne.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Wenn es jemanden interessiert... (Mupfel,  2. Feb 1996, 21:33:46):
+~#! rn=Shakedbeer rt=823262654
+~#! tid=823169855
+ja genau das meinte ich :-) wusste garnicht das das wo gelehrt wird. habt
+ihrn nettes handbuch oder so dafuer?
+
+(aehm alles weitere per mudmail wuerd ich sagen :-)
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Wenn es jemanden interessiert... (Shakedbeer,  5. Feb 1996, 11:43:29):
+~#! rn=Mupfel rt=823293226
+~#! tid=823169855
+Nun...
+
+Es gibt zu BETA genau ein Buch :( Ich schau mal nach und gebe Dir mal
+die ISBN-Nummer. Es ist natuerlich englisch. Man kann einiges daraus lernen.
+Wenn Du aber neu einsteigst kann ich Dir das Vorlesungsscript empfehlen.
+Wenn Du eine Version von BETA hast, liegen aber auch im doc-Verzeichnis
+ps-Dateien.
+
+Shakedbeer - erwartet schon die BETA-Win95-Version, ohne aber Win95 gut
+zu finden :)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub bis zur Klausur (Azzuro,  9. Feb 1996, 00:12:57):
+Ich muss mich mal aufs lernen konzentrieren. Bin 10 Tage in Spielpause!
+Machs gut meine liebe Frau, meine Kinder und der ganze Rest.
+Azzuro
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub bis zur Klausur (Ulo,  9. Feb 1996, 12:54:49):
+~#! rn=Azzuro rt=823821177
+~#! tid=823821177
+Ich werde Dich vermissen, mein Schatz :)
+
+-----------------------------------------------------------------------------
+
+
+
+Falls es wen interessiert... (Horschd, 12. Feb 1996, 10:46:23):
+Hi.
+
+Falls es wen interessiert:
+Ich bin die naechsten 1 1/2 bis 2 Wochen nicht hier, weil ich endlich
+mal meinen Analysis-Schein bekommen muss...
+
+Tschau,
+
+Horschd
+
+-----------------------------------------------------------------------------
+
+
+
+Kretek is weg! (Kretek, 12. Feb 1996, 15:44:27):
+Hiho!
+
+Nachdem in in den naechsten Wochen TIERISCHEN Stress habe (viele, viele
+Klausuren, Hausarbeiten, 'ne Habilschrift Korrekturlesen, und aehnliche
+Scherze...), werde ich wohl in absehbarer Zeit - wenn ueberhaupt - nur
+sehr sporadisch, z.B. zum Mail lesen oder so reinschauen.
+Bis wann ich wegbleibe, kann ich noch nicht so genau sagen, es kommt
+darauf an, wieviel Arbeit in in welcher Zeit wegschaufeln kann...
+
+Tuess einstweilen,
+
+Kretek, der gestresste Polarfrosch
+
+
+P.S.: Wer mir unbedingt was megawichtiges mitteilen will, der kann das ja
+auch ueber RL-eMail machen: Peter.Szilassy@Uni-Passau.De
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Falls es wen interessiert... (Bloodyharry, 12. Feb 1996, 23:43:08):
+~#! rn=Horschd rt=824118383
+~#! tid=824118383
+Fiel Glueck Horschd!
+
+Bloody Harry - sucht typos..
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Toeter, 13. Feb 1996, 11:37:40):
+Hoi,
+ich mache mal ein wenig Urlaub vom Mud, bin aber weiterhin ueber die
+anderen Muensteraner oder email erreichbar.
+Bis bald, Toeter
+
+-----------------------------------------------------------------------------
+
+
+
+12.04. bis 06.05. (Durian, 21. Feb 1996, 12:03:51):
+Hallo Leute!
+
+Endlich ist die Bestaetigung (und die Rechnung :-)) da, deshalb gebe ich es
+mal eben bekannt. Aeh, vorher ... Catweazle, bitte nicht weiter lesen,
+sonst lande ich wieder bei Lars ... er kann es naemlich nicht mehr
+hoeren :-)
+
+Also, vom 12.04. bis 06.05. erfuelle ich mir einen Traum und fliege in
+die USA. Stichworte: Washington D.C., Atlanta, Walt Disney World, Florida
+Keys, Miami Beach, New York City.
+
+- Durian, zur Zeit aus gutem Grund auf McDonalds-Entzug :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub von Frankreich im Maerz (Ketos,  2. Mar 1996, 00:51:44):
+[Verlegt von magier.quests, Ketos,  2. Mar 1996, 00:50:45]:
+[Verlegt von magier.quests, Ketos, 26. Feb 1996, 22:06:16]:
+Hallo liebe Leute,
+im Maerz mache ich einen laengern Urlaub ausserhalb von Frankreich und ganz
+ohne Morgengrauen. I will be back in April.
+
+- Ketos -
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Silvana,  6. Mar 1996, 13:22:50):
+Ich brauch nen bischen Urlaub vom Gilden-Stress. Bin also die naechsten
+1-2 Wochen nicht da. Li kuemmert sich so lange um die Gilde. Er hat
+ja Schreibrechte.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Romili, 11. Mar 1996, 17:27:37):
+Hi Alle,
+
+ich bin zwar die letzte Zeit seltener da, weil ich ziemlichen Stress auf
+der Arbeit habe, aber die naechsten drei Wochen habe ich Urlaub und
+werde mich auf Bali erholen :-).
+
+danach hab ich hoffentlich wieder mehr Zeit zu mudden.
+
+liebe Gruesse an alle
+
+Romili.
+
+-----------------------------------------------------------------------------
+
+
+
+Bambulko macht Urlaub! (Bambulko, 18. Mar 1996, 14:33:17):
+Wegen eines Praktikums bei der DLR kann ich erst ab dem 15. April
+reinschauen....dann vermutlich aus Bonn :-))
+
+Bis dann...
+
+   Bambulko das Wasserwesen
+
+-----------------------------------------------------------------------------
+
+
+
+Freut Euch nicht zu frueh! (Lwaxana, 21. Mar 1996, 18:52:15):
+
+Tja, auch wenn sich das Kills log jetzt erst mal von mir erholen kann, das
+heisst doch nicht, dass ich nicht wiederkomme :)
+Allerdings wohl erst in drei Wochen. (Es sein denn eine Gletscherspalte oder
+die IRA erwischen mich, dann wirds wohl evtl laenger dauern *grins*)
+Bis dahin erholt Euch gut von mir und sammelt neue Kraefte :)
+Tschau Lwax die Nervensaege!
+
+-----------------------------------------------------------------------------
+
+
+
+*seufz* (Schrumpfi, 22. Mar 1996, 23:13:47):
+Hmm, eigentlich hat das jetzt mit Urlaub eher weniger zu tun...
+Da ich jetzt wieder in die stinkige Arbeitswelt eingetreten bin und mich
+langsam zu einer Workoholikerin entwickel, werd ich wohl nicht mehr so oft
+hier sein..
+Werd ab und an mal an nem WE rein schaun aber unter der Woche werd ich wohl
+selten hier anzutreffen sein. *schnueff*
+Ich hoff, ich hab mich bald ans arbeiten gewoehnt und werd anstatt nach der
+Arbeit muede ins Bett zu fallen, doch mal ab und zu hier rein schaun
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Zwangspause (Leusel,  1. Apr 1996, 13:56:18):
+Da ich gerade meine Diplompruefungstermine bekommen habe, hab ich mich
+spontan entschlossen, die naechsten 50 Tage mal nicht mehr vorbeizuschauen :)
+
+Leusel (bibbert schon)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwangspause (Morgoth,  1. Apr 1996, 14:24:30):
+~#! rn=Leusel rt=828359778
+~#! tid=828359778
+viel glueck
+
+-----------------------------------------------------------------------------
+
+
+
+Gruesse aus Tokyo (Toeter, 14. Apr 1996, 10:51:30):
+[Verlegt von allgemeines, Ketos, 13. Apr 1996, 11:04:54]:
+Hallo, Leute!
+Viele Gruesse aus Tokyo.
+- Ketos -
+
+
+-----------------------------------------------------------------------------
+
+
+
+snief...fast zwei wochen (Morgoth, 25. Apr 1996, 13:19:01):
+tja, ich hab noch 7 tage alten urlaub, den ich bis zum ende des monats
+antreten muss. naja, also ich werde dann vom 29.4. bis zum 8.5. keine
+sklaventreiberei mhr machen koennen. hoechstens mal am wochenende oder am 1.
+mai.
+also erholt euch gut in meiner abwesenheit, stellt nix dummes an, fackelt
+muenster nicht ab und kappt keine leitungen.
+in tiefster Trauer
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Silvana (Li,  7. Mai 1996, 08:45:10):
+Hi!
+Ich soll Euch von Silvana ausrichten, dass sie diese Woche keine Zeit fuers
+MUD hat. Sie wird aber wahrscheinlich naechste Woche wieder da sein.
+i.A. Li
+
+-----------------------------------------------------------------------------
+
+
+
+URLAUB!!! (Bambulko, 25. Mai 1996, 11:33:50):
+Bin fuer ne Woche in Kopenhagen....Bis dann
+Aeh am Niels Bohr Institut natuerlich :-))
+
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub (29.5.-2.6.) (Hate, 28. Mai 1996, 12:09:30):
+Tja, kein Urlaub, aber ne Dienstreise. Nach Thessaloniki.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Kretek->weg() (Kretek,  6. Jun 1996, 11:56:38):
+... Oder anders gesagt: Ich goenne mir ein paar Tage im Land meiner Vaeter.
+(Und meiner Vaeter Vaeter. Und meiner Vaeter Vaeter Vaeter. Und...)
+Genauer gesagt: in Ungarn.
+Nicht, dass ich jetzt erwarte, dass mich jemand vermisst oder so... **grins**
+
+Ciao,
+Kretek-ur
+
+-----------------------------------------------------------------------------
+
+
+
+Naja, wenigstens etwas (Morgoth, 13. Jun 1996, 16:12:13):
+Also eigentlich isses nur ein Tag, der 14.6.
+Bienchen & Ich fahren naemlich Siborit und Fremder in .nl besuchen.
+Bis Montag also. ;-)))
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Grillen (Zardoz, 13. Jun 1996, 16:19:25):
+Ich mache auch Urlaub, genauer gesagt gehe ich heute Abend ab 20:30 Grillen.
+Wir sehen uns also erst morgen wieder.
+
+Schoenen Urlaub wuenscht euch Zardoz!
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Grillen (Grimmborn, 13. Jun 1996, 18:00:30):
+~#! rn=Zardoz rt=834675565
+~#! tid=834675565
+
+Natuerlich hast Du Unrecht: Du gehst schon um 19:30 grillen. Und ich
+ebenfalls.
+
+Allen Nichturlaubern einen schoenen Abend dann! :-)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Ronda muss arbeiten =;( (Ronda, 24. Jun 1996, 17:46:23):
+So, nachdem ich schon sooo lange nicht mehr hier war, nun endlich die
+Erklaerung:
+ich mache grade ein Praktikum bei Miele (Trockner konstruieren =;) ) - 
+und 10 von 15 Wochen hab ich schon hinter mir - spaetestens wenn ich die
+hinter mir habe, werde ich mich wieder melden!
+Ansonsten freu ich mich natuerlich auch ueber Mails (dazu komm ich etwas
+haeufiger) - machts gut, bis bald - ich freu mich schon auf die Mud-suechtigen
+Naechte!!!!
+                Ronda
+..
+..
+
+-----------------------------------------------------------------------------
+
+
+
+29.7.-11.8. (Morgoth, 21. Jul 1996, 20:18:45):
+Urlauuuuub. 
+See you in Berlin.
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+auch mal nen sinnlosen Artikel (Grimmborn, 22. Jul 1996, 09:50:22):
+
+Ja, ich mach auch irgendwann Urlaub. Bis irgendwann, allerdings liegt das Ende
+des Urlaubs spaeter als der Anfang. Und der Zeitpunkt steht auch nicht so
+fest, ebensowenig wie die Dauer. Und am wenigsten steht fest wen das
+interessieren sollte, aber das ist ja auch egal...
+
+Grimmborn der Atheist knapp vorm Hitzeschlag
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Li, 26. Jul 1996, 09:27:56):
+Hi!
+Ich werde die naechten drei Wochen Urlaub machen und daher nur ab und zu im
+MUD vorbei schauen. Wichtige Sachen bitte per mail an mich. Fernwestsachen
+koennt ihr natuerlich auch an ulo "auslassen".
+Bis denn,
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Notfall-Urlaub (Freund, 28. Jul 1996, 13:43:10):
+Gruess Gott,
+
+Ich werde spontan als Notfall-Helfer auf eine Ferienfreizeit fahren,
+da dort die *beiden* maennlichen Betreuer ausgefallen sind.
+
+D.h. fuer mich spontan Urlaub bekommen und ab nach Oesterreich...
+
+D.h. fuer Euch keine GCMud1-Zuege mehr (Glueckwunsch Rochus, meine
+Heimat wird Dein sein. ;) und keine Scripter-Ueberwachung mehr (sei
+ruhig, Cat*, vielleicht denken sie nicht an Dich...;)...
+
+In 2 Wochen wrde aehm werde ich wieder da sein, bis dahin viele
+Gruesse von einem FREUNDlichen Betreuer...
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Catweazle, 29. Jul 1996, 14:12:45):
+Genehmige mir ebensolchen bis Sonntag. BIn aber falls ich Account bekomme
+trotzdem evtl. drin.
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Wurzel,  8. Aug 1996, 17:37:14):
+hi,
+bin bis ca. 25.8. in frankreich, weitab von allen terminals...
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+ Binne nicht tot (Schrumpfi, 13. Aug 1996, 19:21:05):
+Hi
+Ich fahr fuer n paar Tage nach Koeln oder fuer ne Woche oder was weiss ich :)
+Bugs und Beschwerden bitte an Bendeigid wenden! ;-)
+Schrumpfi
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause! (Calum, 20. Sep 1996, 12:18:03):
+
+Urlaub? Schoen waers... Stattdessen habe ich ein paar nette Pruefungen
+anstehen, und mir deshalb bis 8. Oktober eine Spielpause verordnet.
+
+Ciao, bis dann...
+ - Calum -
+
+-----------------------------------------------------------------------------
+
+
+
+Semesterstart :( (Shakedbeer, 13. Okt 1996, 22:00:16):
+Hallo!
+
+Da  ich  im  naechsten  Semester mal wieder etwas mehr Zeit mit dem Studium
+zubringen  moechte,  werde  ich  wohl nicht mehr all zu oft im Mud zu sehen
+sein.  (Vielleicht  noch  ein-zweimal  in  der  Woche.)  Wenn  es irgendein
+Problem mit angeschlossenen Sachen von mir geben sollte oder wenn ich etwas
+Anzuschliessendes  abnehmen soll, mailt mir das bitte und habt im naechsten
+Halbjahr  etwas Verstaendnis, denn es werden einige Sachen sicherlich etwas
+laenger brauchen. Ich vermisse das taegliche Mudden jetzt schon. ;)
+
+Shakedbeer - hat gehoert, dass es ein Leben ausserhalb des Muds geben soll.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Semesterstart :( (Thingol, 17. Okt 1996, 22:47:59):
+~#! rn=Shakedbeer rt=845236816
+~#! tid=845236816
+Hi,
+
+ich fange naechste Woche auch mit dem Semester an. Also werde ich nur ab
+und zu hier um MG sein ...
+
+cu Thingol.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? Schoen waer's... (Grimmborn, 17. Feb 1997, 18:53:37):
+~#! on=Kretek ot=856198156 og=anzeigen
+Hallo, Leute!
+
+Tja, es ist mal wieder soweit - das Semesterende rueckt in bedrohliche
+Naehe, und damit auch die eine oder andere Klausur. Deswegen werde ich fuer
+die naechsten paar Tage meine Aktivitaeten hier AEUSSERST gering halten,
+sprich, ich nutze den beruehmten Spielpause-Befehl (denn ich kenne mich ja...)
+Kann ich auch mit gutem Gewissen machen, denn mein Programmier-Pensum ist
+erfuellt, da kann ich spaeter dann nahtlos weitermachen. Also, wann ich 
+genau wieder komme, weiss ich noch nicht, aber es koennte schon so Anfang
+Maerz werden.
+Wer mich dringend vollabern will, kann das weiterhin per MUDmail machen
+(Nachsendeauftrag ist gestellt), oder direkt an kretek@fmi.uni-passau.de
+
+So long,
+verwuestet mir das schoene Polar in der Zwischenzeit nicht, lasst das MG
+stehen, klaut nicht allzu viele Palmen, und was halt sonst noch so anliegt,
+
+
+
+       | /  |\  |--  ---  |--  | /
+       |<   |/  |-    |   |-   |<
+       | \  |\  |--   |   |--  | \
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? Schoen waer's... (Grimmborn, 24. Feb 1997, 12:04:16):
+~#! on=Kretek ot=856779857 og=anzeigen
+~#! on=Grimmborn ot=856202017 og=magier.urlaub
+~#! on=Kretek ot=856198156 og=anzeigen
+Hallo, Leute!
+
+Tja, es ist mal wieder soweit - das Semesterende rueckt in bedrohliche
+Naehe, und damit auch die eine oder andere Klausur. Deswegen werde ich fuer
+die naechsten paar Tage meine Aktivitaeten hier AEUSSERST gering halten,
+sprich, ich nutze den beruehmten Spielpause-Befehl (denn ich kenne mich ja...)
+Kann ich auch mit gutem Gewissen machen, denn mein Programmier-Pensum ist
+erfuellt, da kann ich spaeter dann nahtlos weitermachen. Also, wann ich 
+genau wieder komme, weiss ich noch nicht, aber es koennte schon so Anfang
+Maerz werden.
+Wer mich dringend vollabern will, kann das weiterhin per MUDmail machen
+(Nachsendeauftrag ist gestellt), oder direkt an kretek@fmi.uni-passau.de
+
+So long,
+verwuestet mir das schoene Polar in der Zwischenzeit nicht, lasst das MG
+stehen, klaut nicht allzu viele Palmen, und was halt sonst noch so anliegt,
+
+
+
+       | /  |\  |--  ---  |--  | /
+       |<   |/  |-    |   |-   |<
+       | \  |\  |--   |   |--  | \
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub? Schoen waer's... (Grimmborn, 24. Feb 1997, 12:05:38):
+~#! rn=Grimmborn rt=856782256 rg=magier.urlaub
+~#! tid=856782256
+Nur weil das scheinbar in Vergessenheit geraten ist (die Rubrik hier war ja
+laengere zeit unbenutzt): Die Rubrik magier.urlaub ist die einzige Rubrik, die
+mit "magier" anfaengt, die uneingeschraenkt von Spielern gelesen werden kann.
+Schreiben koennen sie hier natuerlich nicht.
+
+Grimmborn der MPAtheist
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn,  7. Mar 1997, 16:03:15):
+Auch wenns keinen interessiert: Ich bin wohl so fuer zwei Wochen weg,
+vermutlich bin ich in der Woche vor Ostern wieder da.
+
+Rastet nicht ganz aus, ich besuche lauter Leute, die Netzzugang haben so dass
+ich unauffaellig zwischendurch nach dem Rechten sehen kann.
+
+Hilfssheriff Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Daemon in Kur (Yantro, 25. Mar 1997, 17:22:37):
+
+Jojo, es ist mal wieder so weit... bevor ich hier im MG wieder hunderttausende
+Anfragen annehmen muss oder millionenfach erklaeren muss, was ich weiss und
+was ich nicht weiss, schreib ichs einfach mal in die Muel^H^H^H^HZeitung:
+
+ZARDOZ issss wech !!!
+
+Ich bin nicht seine Mama, sein Anrufbeantworter und auch nicht sein Manager,
+also fragt mich nie mehr, was er sich dabei denkt, wie er zu erreichen ist,
+dass ich was ausrichten soll oder aehnliches. 
+
+Er meinte nur, dass er Urlaub braucht, dass es ihn im Moment alles ankotzt und
+da vor allem IHR! Aetsch.... "Dies ist ein doofes Mud.. kann man nicht mal
+Spieler killen, ohne dass man Aerger kriegt... alles doof und unrealistisch!"
+usw war sein Gegrummel, als er sich in eine Wolke stinkenden Nebels aufloeste
+und in Richtung besserer Muds entschwebte...
+
+Yantro, ders auch Leid ist, immer dieses "Wo ist Zardoz?"-Geplaerre zu
+ertragen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Daemon in Kur (Schrumpfi, 27. Mar 1997, 18:06:28):
+~#! rn=Yantro rt=859306957 rg=magier.urlaub
+~#! tid=859306957
+Jaja, ich gebs zu ICH bins schuld!
+Schrumpfi streut sich Asche ueber ihr Haupt und zieht sich fuer Bendeigid das
+Bueserhemd an.
+
+-----------------------------------------------------------------------------
+
+
+
+Ciao (Zardoz, 13. Mai 1997, 10:36:11):
+Ich mache hiermit fuer unbestimmte Zeit Urlaub vom MG und komme nur noch um
+meine Mail zu lesen. Der Link nach Oesterreich ist halt zu gut geworden, um
+hier noch rumzuhaengen... 
+
+
+Ciao Zardoz
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech (Grimmborn,  3. Jun 1997, 19:33:49):
+Bin bis naechsten Montag im Urlaub, und mit grosser Sicherheit nicht im mud.
+Verlegt eure bloeden Artikel also selber.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Pruefung (Catweazle,  4. Jun 1997, 11:35:30):
+Hi!
+
+Da ich beabsichtige im Herbst meine Diplompruefungen zu machen, werde
+ich im MG noch weniger Zeit haben als sonst. Ich moechte meine 
+Aktivitaeten hier also auf ein notwendiges Minimum beschraenken. Unter 
+Minimum verstehe ich dabei Party, Verein und manchmal Polizei.
+Thanx, YTC
+
+-----------------------------------------------------------------------------
+
+
+
+back (Grimmborn,  9. Jun 1997, 10:58:40):
+Ja, ich bin zurueck.
+Ja, es war schoen, danke der Nachfrage.
+Ja, in Schweden sind die Maedels im Schnitt signifikant huebscher als in .de
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Italien?! (Shakedbeer, 26. Jun 1997, 23:52:56):
+Hallo Muddies...
+
+...ich komme gerade vom Konzert des Studentensinfonieorchesters
+in Dortmund. Dort habe ich die Pauken gespielt und bin eingeladen
+worden ab Samstag 14 Tage in Italien mit dem Jugendsinfonieorchesters
+des Landes NRW zu spielen (Carmen). Ich lasse mir das alles zwar noch
+durch den Kopf gehen, aber wahrscheinlich werde ich das Angebot
+annehmen und deshalb wohl nicht zum Dortmunder Stammtisch kommen und
+die naechsten 14 Tage wohl nicht im Mud zu sehen sein.
+
+Also machts gut.
+
+Shakedbeer - vielleicht ab Samstag in Italien. *WINK*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Italien?! (Guldukat, 27. Jun 1997, 23:36:42):
+~#! rn=Shakedbeer rt=867361976 rg=magier.urlaub
+~#! tid=867361976
+shit, ich wusste, dass ich was vergessen hatte.
+nu ist es freitag abend, 23.35 und der stammtisch laeuft in dortmund ... :(
+
+-----------------------------------------------------------------------------
+
+
+
+spielpause (Larissa,  2. Jul 1997, 16:08:57):
+Hoi,
+ich mach ein weilchen Spielpause weil ich glaube, dass hier einige
+bei der Wahl eines bestimmten EM etwas uebergeschnappt ist. Ist meine
+persoenliche Meinung, vieleicht hab ich ja unrecht.
+
+Gruesse, Lari.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: spielpause (Mupfel,  3. Jul 1997, 19:47:39):
+~#! rn=Larissa rt=867852537 rg=magier.urlaub
+~#! tid=867852537
+Was hast Du gegen Zardoz? :-)
+
+-mupfel-
+P.S.: Manche Magier/Menschen aendern sich auch. Denk mal drueber nach.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: spielpause (Boing,  4. Jul 1997, 08:54:19):
+~#! rn=Mupfel rt=867952059 rg=magier.urlaub
+~#! tid=867852537
+Das kann sie nicht mehr lesen ... nur zur Info. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+pruefungszeit *wuerg* (Patryn,  9. Jul 1997, 12:57:01):
+ich hab jetzt bis zum 8.8. spielpause und bitte darum, dass mich kein
+erz wieder vorher freischaltet (und wenn ich noch so viel jammere :)
+leider kann ich mich nich anders vom mud losreissen und ich hab derzeit mehr
+hier zu tun als das ganze semester zuvor.
+
+na dann ciao und *wink*
+
+------
+patryn jammert
+
+-----------------------------------------------------------------------------
+
+
+
+Baumassnahmen (Angus, 11. Jul 1997, 11:42:16):
+Hi auch!
+Leider bin ich fuer die Zeit unserer Semesterferien ausgesperrt,
+weil die hier bei uns bauen... (was auch immer...)
+Vielleicht kann ich sporadisch mal reinschauen.
+Mail erreicht mich ueber meine Firma:
+    strich@dvse.de
+Bis denne!
+   -Angus.
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Li, 17. Jul 1997, 10:07:30):
+Klein aberfein, ich mache dies und naechste Woche Urlaub, auch vom MUD.
+wir sehen uns im August in alter Frische...
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Arbeit (Feuerwehr, 18. Jul 1997, 15:34:07):
+Hi!
+
+Um jede Menge Geld zu scheffeln, werde ich jetzt 5 Wochen arbeiten und dabei
+nicht (oder nur gaz ganz kurz) ins MG kommen koennen. Vergesst mich nicht :)
+
+     Feuerwehr.
+
+P.S. Sowas wollte ich immer schonmal schreiben.
+
+-----------------------------------------------------------------------------
+
+
+
+Wech (Grimmborn,  7. Aug 1997, 17:34:30):
+Ich bin vom 8.8.-15.8. in Muenchen auf der IETF, bischen mbone-Uebertragungen
+machen. Naja, nicht alleine. Werde wohl weniger im mud sein.
+Wuerd mich ja gerne mit ein paar Muenchenern treffen, aber die Tagung geht
+ziemlich von 9-22 Uhr, da ist wohl kaum was zu machen. Glueck gehabt, was?
+
+Grimmborn der Atheist zieht schonmal den Stahlhelm an. Auf zur Task Force...
+
+-----------------------------------------------------------------------------
+
+
+
+Auf den Spuren der Ahnen... (Kretek, 11. Aug 1997, 14:40:55):
+... werde ich mich jetzt eine Woche lang quer durch das Land der
+Magyaren bewegen. Nur fuer den unwahrscheinlichen Fall, dass mich
+jemand vermissen sollte ;-)
+
+Ciao,
+KreteK (Exil-Ungar)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auf den Spuren der Ahnen... (Methedras, 12. Aug 1997, 11:32:54):
+~#! rn=Kretek rt=871303255 rg=magier.urlaub
+~#! tid=871303255
+Ach, in die Nord-Tuerkei meinst Du, ins Land Deiner Vorfahren?
+Na dann viel Spass beim Doener essen, 2tie. :-)
+
+       Bergchen Methedras - froehlich grinsend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Auf den Spuren der Ahnen... (Kretek, 12. Aug 1997, 18:09:32):
+~#! rn=Methedras rt=871378374 rg=magier.urlaub
+~#! tid=871303255
+Na warte, Du Gelbfuessler! Komm Du mir nochmal unter die Finger, Du...
+Zermalmen werde ich Dich wie eine widerliche Kakerlake!
+Schliesslich habe ich nicht umsonst einen abgeschlagenen Tuerkenkopf
+im Wappen! **grummel**
+
+KreteK
+Nicht-Tuerke, Exil-Ungar
+
+-----------------------------------------------------------------------------
+
+
+
+Bin fuer 2 Wochen weg... (Padreic, 25. Aug 1997, 15:02:31):
+So, ich wende dem Mud ab morgen erstmal fuer zwei Wochen den Ruecken zu und
+kann nur hoffen, dass es a) bei mir keine Bugs gibt und b) ich das Mud noch
+wieder erkenne wenn ich wiederkomme :)
+                                      Gruss Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Wie die Rubrik... (Bendeigid,  1. Sep 1997, 10:21:02):
+...schon sagt:
+Ich mach mal eine Woche Abnstinenz vom MG. Da mich eh keiner vermisst, ist das
+hier nur gegen die NNadW-Meldung.
+Machts gut und bis zum 8.9. oder so...
+
+Z'par Servu,
+          Bendeigid
+
+P.S.: heisst natuerlich Abstinenz. Streicht das eine n. ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Patryn, 10. Sep 1997, 01:23:01):
+~#! on=Grimmborn ot=873847304 og=magier.entwicklung
+So, ab kommenden Freitag bin ich fuer eine gute Woche nicht da. Und wenn
+ueberhaupt kaum im MG. Aergert euch also selber...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech.... (Morgoth, 12. Sep 1997, 13:18:04):
+Bin ich, jawoll. Vom 15.9. bis zum 6.10. ;-))
+Flames und gejammer an Patryn.
+Bis denne.....
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Li, 16. Okt 1997, 21:24:02):
+ni hao!
+eine Woche ist zwar nur eine woche, aber ich moechte meinen wohlverdienten
+Jahresurlaub doch (stolz) verkuenden!
+Eine Woche nordsee, dann am WE in Essen, und danach wieder im MUd.
+bis denn!
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub, was sonst (Guldukat, 20. Nov 1997, 21:35:17):
+So, ich bin ab montag 2 wochen wech. und wenn dann das MG wegen
+umherstreunener papageien ueberlaueft und crasht, werdet ihr noch wuenschen,
+dass ich die trigger wieder aktiviere! ;-)
+Fuerteventura, zwei wochen Sonne! 
+
+Segeln, Surfen, Strand, Sonne ... was gibts noch mit S?
+Saufen, Sex
+
+-----------------------------------------------------------------------------
+
+
+
+KreteK macht Pause (Kretek,  2. Dez 1997, 15:19:35):
+Hallo, Leute!
+
+Tja, Urlaub kann man's wohl nicht nennen, was da in naechster Zeit auf
+mich zukommen wird, aber es ist auf jeden Fall mit Abwesenheit vom MG
+verbunden:
+Ich habe mich in einer schwachen Minute fuer's Examen angemeldet. Jetzt
+muss ich erst mal meine Magisterarbeit basteln, und dann kommen noch
+die ganzen Pruefungen. Vermutlich wird sich der ganze Schmonz bis ca.
+Juli/August '98 hinziehen. In dieser Zeit werde ich mich hier (ich 
+denke mal, aus verstaendlichen Gruenden...) ziemlich zurueckziehen und
+hoechstens mal auf 'nen Sprung zum MPA lesen reinschauen. "Nachsende-
+auftrag" bei der Post ist gestellt, d.h. MG-Mails erreichen mich auch
+weiterhin (hoffe ich zumindest, gell, Loco?!). Im Zweifelsfall bzw. bei
+gestiegenem Kommunikationsbedarf kann ich aber auch unter
+kretek@antisocial.com direkt angemailt werden.
+Macht's gut, treibt mir nicht zu viel Unfug, und versucht, das MG 
+in einem wenigstens halbwegs wiedererkennbaren Zustand zu lassen, bis
+ich mir das mal wieder in Ruhe anschauen kann, ja?
+
+Ciao,
+   KreteK
+
+-----------------------------------------------------------------------------
+
+
+
+bin weg bis 7.1.98 (Boing, 22. Dez 1997, 18:01:19):
+Jahreszeitbedingt bin ich bis zum 7.1.98 nicht mehr im Mud erreichbar.
+Schoene Weihnachten und so,
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+krank (Rikus, 22. Feb 1998, 15:08:59):
+Hi,
+die letzten 2 Wochen habe ich mit Fieber, Erkaeltung etc rumge-
+legen, diese Woche werde ich noch eine Ohrenentzeundung ausku-
+rieren muessen... Naja, seit 5 Jahren keine Erkaeltung gehabt... :)
+Also falls was wegen FPs, ZTs etc ist, so bitte diese Woche
+noch abwarten.
+
+Danke, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub in Fernwest...aeh Fernost (Ulo, 11. Mar 1998, 16:23:41):
+
+Hi, 
+um Anregungen fuer Fernwest zu sammeln bin ich ab morgen bis zum 1.April
+in Kyoto. (auf Kosten des Steuerzahlers :-))
+
+Gruss,
+Ulo
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub in Fernwest...aeh Fernost (Ark, 11. Mar 1998, 19:58:16):
+~#! rn=Ulo rt=889629821 rg=magier.urlaub
+~#! tid=889629821
+Wenn's net schon zu spaet kommt: unbedingt zum Fushimi-Inari Schrein fahren,
+liegt im Sueden, is mit der Keihan-Line von Sanjo aus in ein paar Minuten
+zu erreichen und lohnt unbedingt! Dort durch alle torii gehen und
+staunen, staunen ... is ein Supertrip fuer einen oder nen halben Tag.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+was man so urlaub nennt... (Wurzel, 17. Mar 1998, 23:40:33):
+tja, eigentlich hat die rubrik einen falschen namen, jedenfalls fuer das
+was mich "befallen" hat. urlaub ist es jedenfalls nicht, eher im gegenteil...
+ein neues projekt wird mich wohl fuer drei bis vier monate, evtl. auch noch
+laenger, nach muenchen verschlagen. da im hotel kaum internet-anschluesse
+zu finden sind, wird sich meine taetigkeit hier wohl zwangslaeufig fuer
+die zeit meiner abwesenheit deutlich reduzieren... aber freut euch nicht zu
+frueh, i'll be back, wie arnold sagt.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: was man so urlaub nennt... (Silvana, 17. Mar 1998, 23:42:58):
+~#! rn=Wurzel rt=890174433 rg=magier.urlaub
+~#! tid=890174433
+Naja, nimm nen Laptop mit Linux und Gamedriver mit...
+
+  Silvana - trennt sich nur selten laenger von ihrem HomeMud...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: was man so urlaub nennt... (Grimmborn, 18. Mar 1998, 00:06:27):
+~#! rn=Silvana rt=890174578 rg=magier.urlaub
+~#! tid=890174433
+Kommt immer drauf an. Ab einer bestimmten Klasse haben Hotels auch
+Internetanschluss - und seis nur, weil ab einer bestimmten Klasse es auch
+keine Rolle mehr spielt, dass man mitten am Tag ueber die Hotelanlage von
+Muenchen nach Hamburg zum Provider telefoniert. Also: Ausreden gelten nicht!
+(Und was ist das fuer ein Projekt ohne Netzanschluss?)
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+pruefung ahoi (Patryn,  6. Mai 1998, 21:15:20):
+bis sonntag den 17.05. bin ich zu zwangsurlaub verpflichtet.
+hab leider etwas pruefungszeug zu erledigen. wer was dringendes will,
+mailts halt an hood.
+
+------
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Li, 18. Jul 1998, 12:16:12):
+Ni hao!
+Ganz kurzfristig, spontan und ueberhaupt mache ich eine Woche Ferien auf der
+schoenen Nordseeinsel Foehr. 
+Moege Fernwest bis dahin nicht zu sehr buggen .-)
+bis denn, Zaijian
+Li
+
+-----------------------------------------------------------------------------
+
+
+
+weg (Grimmborn, 22. Jul 1998, 20:44:58):
+OK, interessieren wirds wohl kaum einen, aber hier fuers Archiv:
+Ich bin so ab dem 30.7. bis gegen den 24.8. in Urlaub. Und das auch noch
+voellig ohne Netzanschluss. Wenn ich den kalten Entzug ueberlebt habe bin ich
+also Ende August wieder da. Viel Spass dann hier, und geht pfleglich mit der
+mpa um!
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Jups, auch mich hats erwischt (Morgoth, 29. Jul 1998, 11:47:55):
+Vom 17.8.-23.8. luemmel ich mich in sonner komischen Stadt namens Muenster
+rum.
+Vom 24.8.-28.8. werde ich die Zeit mit meinem geliebten Eheweib in Zuerich
+verbringen.
+
+Morgoth
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Jups, auch mich hats erwischt (Zuerileu, 30. Jul 1998, 01:34:36):
+~#! rn=Morgoth rt=901705675 rg=magier.urlaub
+~#! tid=901705675
+Hi Morgoth,
+aehmm du kommst nach Zuerich ? wenn du willst kann ich dich in Zuerich etwas
+rumfuehren oder wir gehn zusammen etwas trinken. Ich meine schliesslich wohnen
+in Zuerich nicht umsonst ein paar Mudder aus dem MG =:)
+
+Tschau Alain
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Bierchen, 30. Jul 1998, 04:16:49):
+hiho,
+ab dem 30. so gegen mittag :) bin ich fuer einige wochen verschwunden,
+waehrend der zeit (hihi) bugs an meinen files, wenn sie denn wichtig sein
+sollten, an tilly schicken, der macht das dann schon (+ bugs auf dem rest der
+feuerinsel :). fuer polar ist dann ja noch 112 da und fuers chaos 112 und
+tilly.
+bis dann mit einem satanischen grinsen im gesicht,
+   - Bierchen -
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Astar, 30. Jul 1998, 14:55:26):
+HiHo!
+
+Ich bin ab Heute Abend (30.7.) bis zum Treffen nicht im Mud, falls irgendwas
+besonders wichtiges gemacht werden muss einfach mal Bloodyharry fragen.
+
+Astar
+  grinst Bloodyharry an...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Bloodyharry,  1. Aug 1998, 23:24:53):
+~#! rn=Astar rt=901803326 rg=magier.urlaub
+~#! tid=901803326
+He. Ich bin auch noch im Urlaub. Und eigendlcih garnich hier..
+
+BH
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub???? (Feuerwehr, 19. Aug 1998, 19:43:41):
+Hi!
+
+An alle, die es vielleicht lustig finden.
+
+Ich bin in der naechsten Woche (24.-30.8) auf einer Schulung irgendwo am Ende
+der Welt (leider ists keine Insel :-( ). Naja, vielleicht lern ich ja was :-)
+
+Waehrend dieser Zeit herrscht Tilly ueber die Chaosgilde, macht euch also auf
+abrupte, merkwuerdige und irgendwie fies aussehende Tode gefasst.
+
+Aber vorher gehts noch auf die PARTYYYY!
+
+    Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+ENDLICH!!! (Rikus, 24. Aug 1998, 22:33:50):
+so, nachdem ich nun 2 Jahre mehr oder weniger keine Zeit fuer Urlaub hatte,
+mach ich welchen vom 7.9. bis 11.10. und treibe mich die ganze Zeit in
+Australien rum (Campen). Wer von Euch betreffs ZTs, FPs, Stupsen was
+von mir moechte, sollte dies bitte diese Woche noch sagen, dass ich es
+dann spaetestens naechste abarbeiten kann!
+
+Rikus, reif fuer die Insel
+
+-----------------------------------------------------------------------------
+
+
+
+Bin ne Woche weg (Tsunami,  1. Sep 1998, 17:43:50):
+>>>>>>Entwarnung<<<<<<<<  Magier fuer eine Woche im Urlaub.
+
+Schlagt nicht alles kaputt hier :)
+
+Tsu.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (was sonst) (Silvana, 12. Sep 1998, 02:26:57):
+Man sollte es kaum glauben: Ich nutze die letzte Moeglichkeit, mit meiner
+RL-Tochter ausserhalb der Schulferien in Urlaub zu fahren und bin
+daher vom 21.Sept bis 5.Okt wech. Wer noch was von mir will, muss sich
+also vorher melden oder gedulden.
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+ich komme wieder, keine frage... (Patryn, 10. Okt 1998, 21:42:03):
+hi leute
+
+wegen stark erhoehtem mudfrustspiegels ist es wieder mal zeit, eine weile
+zu pausieren. wenn es dringende probleme gibt, schickts an meine
+email-adr, meinen all(zu)bekannten zweitie bitte nich mit magierkrams
+nerven. letztendlich beginnt ja auch noch das semester, mal wieder was
+dafuer tun :)
+ciao
+
+------
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Bin 1 Woche weg (Tsunami, 12. Okt 1998, 11:35:30):
+Bin fuer ne Woche an einer Konferenz. *Ohne* Internetanschluss!
+Hoffentlich ueberstehe ich die Entzugserscheinungen :)
+
+P.S. fasst bitte nix an in meinem Verzeichnis...viele Sachen habe ich neu
+raufgeladen aber noch nicht getestet...sonst muellt ihr den DEBUG zu ;)
+
+In diesem Sinne, schoene Woche
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Bin im Urlaub vom 3.12.98-3.1.99 (Ketos, 30. Nov 1998, 21:12:47):
+Hallo,
+
+hurra das Ende der arbeitmuehen naht und dann nur noch Urlaub fuer den
+Rest des Jahres. Vom 3.12-1.3.99 werde ich im Urlaub sein.
+
+Viel Spass,
+
+- Ketos -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bin im Urlaub vom 3.12.98-3.1.99 (Jimdigriz,  1. Dez 1998, 10:39:38):
+~#! rn=Ketos rt=912460367 rg=magier.urlaub
+~#! tid=912460367
+Boah,
+
+ bis 1.3.99 *NEID* ;-)
+(naja im Subject stands wohl richtig)
+
+JdG
+
+-----------------------------------------------------------------------------
+
+
+
+Bin 2 Wochen weg (Tsunami,  8. Dez 1998, 15:32:06):
+Huhu Leute,
+
+Ich bin vom 9.12.98 bis am 21.12.98 weg. Leider werde ich in der Zeit wohl
+nicht
+im MG vorbeischauen koennen. Falls irgendetwas in der Mine buggt, bitte 
+Bierchen oder Feuerwehr ins Schienbein treten :)))
+
+Bis denne,
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Ich ich ich !!! (Morgoth, 14. Dez 1998, 12:26:06):
+Vom 16.12. bis 10.1. hab ich Urlaub.
+
+Da mein Schatz lernen muss, bin ich wohl oefter mal hier (wenn ich nicht zum
+Proggen gezwungen werde).
+Es lebe die Standleitung ! ;-))
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+bin weg (Boing, 17. Dez 1998, 09:15:44):
+Ich bin ab Samstag (19.12.) fuer 2 Wochen nicht erreichbar, wenn noch
+etwas wichtiges ist, dann muss ich das bis morgen wissen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Bielefeld, 21. Dez 1998, 13:14:03):
+Moin!
+
+Ich hau dann auch mal ueber die Feiertage ab, vom 23.12. bis 2.1. werde
+ich hier unter Garantie nicht anzufinden sein.
+
+-Bielefeld
+
+-----------------------------------------------------------------------------
+
+
+
+Silvanas Neujahrsnacht (Silvana, 27. Jan 1999, 03:51:57):
+Es war einmal eine kleine Fee... 
+Es geschah in der Neujahrsnacht dieses Jahres, dass sie, nachdem der uebliche
+Krach verklungen war, wie jedes Jahr hinaus ins Freie trat und sich in ihren
+geliebten Wald begab um das neue Jahr und die klare, wunderbar kalte Luft zu
+begruessen.
+Genuesslich legte sie sich zurueck, schaute ein paar Rehen zu, die sich
+langsam wieder ins Freie trauten und betrachtete nachdenklich die Sterne. Und
+so vergingen wohl einige Stunden, denn als unsere Fee schliesslich SEINER
+gewahr wurde, begann es bereits zu daemmern.
+Doch im Lichte des erstens Morgenrotes dieses ach so hoffnungsvollen, jungen
+Jahres erkannte sie IHN: Ein Schatten von schier unmenschlicher Groesse, der
+sich ihr langsam aber unaufhaltsam naeherte. Geboren nur zu einen einzigen
+Zweck, naemlich unserer kleinen Fee das Leben zur Hoelle zu machen um sie
+anschliessend vielleicht gar voellig zu vernichten.
+Grosse Angst ueberkam da unsere kleine Fee, doch sie sagte sich: "Hexen kann
+ich zwar nicht, aber zaubern kann ich wohl! Wenn ich schon mein Leben lassen
+muss, so will ich es teuer verkaufen." Und so begab sie sich in ihren Turm und
+begann alle Informationen zusammenzustragen, die sie ueber IHN finden konnte.
+Es galt einen Zauber zu finden, dem ER nicht gewachsen war.
+
+Ja, wird unsere kleine Fee diesen Zauber finden, habe die Rehe sich von ihrem
+Schreck erholt und gibt es ein Leben nach IHN - dem Diplom? Erfahren Sie die
+Antworten im naechsten Jahr, wenn es wieder heisst: Silvanas Neujahrsnacht.
+
+
+PS: Um es mal prosaisch zusammenzufassen: Ich versuch dieses Jahr endlich mein
+Diplom zu schaffen und werd dementsprechend wenig hier sein. Abgesehen von
+Gildenbalance- und Rassen-EMaufgaben werde ich in diesem Jahr _rein garnichts_
+hier tun. In Sachen Zauberer wendet Euch also bitte an Patryn.
+
+Gute Nacht - Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Bierchen, 22. Feb 1999, 15:42:03):
+Hiho,
+mit allergroesster wahrscheinlichkeit bin ich gleich :) wech, und das fuer
+gute 6 wochen. freut euch nicht zu frueh, 6 wochen vergehen schnell :)
+bugs in polar ab sofort nur noch an 112 schicken (hoehoe) und den rest an
+tilly.
+gruss,
+     - Bierchen -
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wech (Feuerwehr, 22. Feb 1999, 17:40:48):
+~#! rn=Bierchen rt=919698123 rg=magier.urlaub
+~#! tid=919698123
+
+Hahahahahahaaaaa!
+
+BEWARE!!!!
+
+  Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+Und weg (Terrorist, 24. Feb 1999, 19:39:00):
+Ich werde wohl erstmal nicht mehr erscheinen.
+Ansprechpartner fuer die Gruft ist 112.
+
+Gruende folgen noch
+
+TERROR
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Und weg (Feuerwehr, 24. Feb 1999, 19:41:06):
+~#! rn=Terrorist rt=919885140 rg=magier.urlaub
+~#! tid=919885140
+
+
+Hahahahahahaaaaa!
+
+BEWARE!!!!
+
+  Feuerwehr.
+
+-----------------------------------------------------------------------------
+
+
+
+kleine Pause... (Mupfel, 26. Feb 1999, 18:50:39):
+Aufgrund verschaerfter Aktivitaet (Megastress) in der Firma mache ich eine
+kleine Pause bis 1. Mai. (seufz).
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Falls es jemanden interessiert... (Zook, 27. Feb 1999, 00:43:19):
+
+Ich bin mal so ne Woche im Urlaub :) (hoffentlich
+macht mich keine Lawine platt). 
+
+Zook denkt . o O (hat doch sicher keinen interessiert, oder?)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Auch wenn es immer noch keinen interessiert... (Zook, 15. Mar 1999, 18:47:50):
+
+Ich bin mal wieder im Urlaub... *grins*
+
+Und zwar von Donnerstag, 18. Maerz bis Montag, 22. Maerz... 
+Ein wenig in Madrid herumschauen... :))))
+
+Wer Tips fuer Madrid hat, mails mir mal.. :)))
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+wieder da... (Wurzel, 14. Apr 1999, 23:50:40):
+es hat was laenger gedauert als urspruenglich geplant, aber jetzt bin ich
+wieder da.
+neue wohnung in neuer stadt, neuer job und neuer pc... naja.
+ich danke allen, die mich mit reports, ideen und mails ueberschuettet haben,
+fuer
+ihre geduld. da mein hiesiger job sich leider nicht in acht stunden pro tag
+erledigen laesst, kann es etwas dauern, bis ich den ganzen stapel abgearbeitet
+habe, aber ich mache mich dran.
+
+bis demnaechst in diesem theater
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Tschuess! (Feuerwehr,  4. Jun 1999, 23:24:41):
+Hallo!
+
+Ich werde euch jetzt verlassen. Ich werde wandern ueber duestere Pfade in die
+Suempfe der Verzweiflung und in die Seens gewaltigen Leids. Doch graemt euch
+nicht, denn in zwei Wochen, so die finsteren Maechte mir zur Seite stehen und
+mich fuehren auf den sicheren Pfaden, werde ich zu euch zurueckkehren.
+
+     Feuerwehr.
+
+PS: Gildenfragen an Bierchen, Tilly, Swift.
+
+-----------------------------------------------------------------------------
+
+
+
+kleine Pause (Mupfel,  7. Jun 1999, 23:57:56):
+wegen stress im beruf und auch privat *seufz* leg ich mal ne kleine pause ein.
+man sieht sich!
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+kurzurlaub (Padreic,  8. Jun 1999, 13:52:34):
+Ich wurde genoetigt kurzfristig am Donnstag fuer 4 Tage nach Prag zu fahren.
+Bin also vom 10.06 bis zum 13.06 nicht im mud. Bei dringenden Problemen in der
+Zeit dann also bitte an einen anderen EM wenden. Ansonsten arbeite ich die
+ankommenden mails dann ab Montag wieder ab.
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+malkurzwech (Tilly, 20. Jun 1999, 21:57:26):
+Moin moin,
+wahrscheinlich bin ich Ende kommender Woche wieder hier, also in knapp 2
+Wochen. Eventuell frueher, wenns gut laeuft :-)
+
+ - Tilly -
+
+-----------------------------------------------------------------------------
+
+
+
+Kalabrien, 2 Wochen ;) (Bendeigid,  9. Jul 1999, 16:15:49):
+Hi Kollegen,
+
+ihr muesst jetzt fuer zwei Wochen (leider bis inclusive Fete) auf mich
+verzichten, da ich mich in Sueditalien herumtreiben werde -
+Internetanschlussfrei :)
+Falls Bugs auftreten, nervt irgendeinen Erzi damit, falls nicht, schreibt mir
+Lobesmails ;)
+
+Tschuess bis 26.7. :)
+
+Z'par Servu,
+               Bendeigid
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Wurzel, 10. Jul 1999, 16:35:39):
+bin erstmal fuer ca. zwei wochen in urlaub. wenn was mit den haeusern ist,
+entweder etwas geduld oder an einen erzi eures vertrauens wenden :)
+
+viel spass auf der party
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+3 Wochen wech (Gor, 31. Jul 1999, 14:48:39):
+Hi Leuts,
+ich werde die naechsten 3 Wochen meinen Sommerurlaub machen.
+Machts gut, buggt viel und macht schoene Gebiete.
+
+Gruessle Gor
+
+-----------------------------------------------------------------------------
+
+
+
+Bin eine Woche weg (Tsunami,  5. Aug 1999, 18:44:06):
+Kaum RM muss ich den armen Feuerwehr schon wieder alleine lassen :))
+Ich bin die naechste Woche vom 8.8. - 15.8. weg. Leider nicht ferienmaessig.
+
+Machts gut und schmelzt mir nicht das Polargebiet ab!
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Padreic,  9. Aug 1999, 17:49:55):
+Ich fahr morgen frueh erstmal fuer 10 Tage weg und werde in der Zeit aller
+vorraussicht nach auch keine email lesen koennen. Anschliessend werde ich zwar
+wieder hier sein, aber wohl auch nur noch Abends, da dann einige Pruefungen
+bei mir anstehn...
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Re: urlaub (Catweazle, 10. Aug 1999, 11:50:28):
+~#! rn=Padreic rt=934220995 rg=magier.urlaub
+~#! tid=934220995
+
+Sturmfrei.....
+
+YTC :)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Paracelsus, 31. Aug 1999, 12:02:28):
+Hoi.
+
+Ab Samstag bin ich zwei Wochen in Schottland. Nur fuer die, dies
+interessiert.
+
+Para*.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Wim, 31. Aug 1999, 12:03:22):
+~#! rn=Paracelsus rt=936100948 rg=magier.urlaub
+~#! tid=936100948
+Dein Freikontingent an Whisky ist bereits aufgebraucht, vermute ich?
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaub (Paracelsus, 31. Aug 1999, 12:03:38):
+~#! rn=Wim rt=936101002 rg=magier.urlaub
+~#! tid=936100948
+Natuerlich.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Urlaub (Wim, 31. Aug 1999, 12:03:50):
+~#! rn=Paracelsus rt=936101018 rg=magier.urlaub
+~#! tid=936100948
+Mist.
+
+-----------------------------------------------------------------------------
+
+
+
+Bin weg: 9.9.-20.9.99 (Tsunami,  7. Sep 1999, 09:07:24):
+Huuhu!
+
+Ich bin in den Staaten vom Donnerstag, 9.9. - Montag 20.9.
+Nein, keine Ferien. Muss nen Vortrag geben, anstelle meines
+Chefs in Washington DC und dann schau ich noch bei meinem 
+potentiellen zukuenftigen Arbeitgeber in San Diego vorbei.
+Also: Finger kreuzen, dass es klappt :))
+
+Wenn was klemmt in Polar (was aber so gut wie nie der Fall ist):
+Feuerwehr damit belaestigen. Er freut sich bestimmt darueber.
+
+Biss denne,
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+12.9. bis 2.10. (Rikus,  7. Sep 1999, 09:46:10):
+gruss,
+bin in obiger zeit nicht available, sondern in urlaub mit ark und ivo,
+wenn man das erholung nennen kann :-)
+wenn es also was wegen fps und zts gibt, bitte gleich mailen, ansonsten
+wird es erst danach.
+
+rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 12.9. bis 2.10. (Ark,  7. Sep 1999, 18:38:42):
+~#! rn=Rikus rt=936697570 rg=magier.urlaub
+~#! tid=936697570
+Wieso nicht, he? Das Spassmobil setzt sich am Montag in Bewegung *droh*
+
+Wohl neidisch, weil Du schon am 02.10. zurueckkommst, was? Bei mir dauert der
+ganze Spass uebrigens bis zum 05.10., aber das nur am Rande. Wenn mich die
+beiden genug aergern, ueberarbeite ich einfach alles, was ich bisher
+geschrieben habe, nochmal fallentechnisch:
+
+unt bluemchen
+Das Bluemchen laechelt Dich auffordernd an.
+
+pfluecke bluemchen
+Du versuchst, das kleine Bluemchen zu pfluecken. Leider musst Du erkennen,
+dass Du dem hinterhaeltigen Blumenmonster in die Falle getappt bist.
+Unheilvoll erhebt sich der bunte Humanoid hinter Dir.
+Das Blumenmonster greift Dich mit tausend Dueften an.
+Du versuchst Dich verzweifelt zu wehren.
+Das Blumenmonster zerstaeubt Dich.
+Dein Teddy knuddelt Dich ein letztes Mal.
+[Tod:Ein paar duftende Bluemchen haben gerade ...
+
+usw.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: 12.9. bis 2.10. (Patryn,  7. Sep 1999, 18:57:35):
+~#! rn=Ark rt=936729522 rg=magier.urlaub
+~#! tid=936697570
+gibts ja schon...so aehnlich
+
+------
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: 12.9. bis 2.10. (Ark,  7. Sep 1999, 19:02:43):
+~#! rn=Patryn rt=936730655 rg=magier.urlaub
+~#! tid=936697570
+Genau dieses aufseufzende, erleichternde Zuruecklehnen der Spieler brauche ich
+*haemisch grins*
+Weiter so, weiter so ... :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Gletscherfee taucht ab (Silvana, 22. Sep 1999, 17:14:14):
+Salve
+
+Am Freitag werde ich meine heimischen Hallen hier auf Fels Nimmerkehr
+verlassen und mich fuer gut 2 Wochen ans rote Meer begeben um dort
+abzutauchen... Dass ich danach bei der Region Inseln einsteige ist aber nur
+ein Geruecht. :) Bin ab 11.Oktober wieder zu erreichen - falls mich niemand
+entfuehrt oder sowas...
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Boing, 27. Sep 1999, 16:59:05):
+Ich werde die naechsten 3 Wochen (bis 20. Oktober) gemeinsam mit Hobo
+im Urlaub verweilen, lasst das Mud solange stehen ... :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Hate, 27. Sep 1999, 19:45:39):
+~#! rn=Boing rt=938444345 rg=magier.urlaub
+~#! tid=938444345
+Wir uebernehmen gerne ...
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Morgoth, 28. Sep 1999, 07:38:50):
+~#! rn=Boing rt=938444345 rg=magier.urlaub
+~#! tid=938444345
+Nein, ich hoffe doch, dass es weiter laeuft ;-)
+
+Viel Spass !
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Reif fuer den Urlaub... (Padreic,  3. Okt 1999, 21:11:00):
+Nun meine Klausur is endlich geschrieben und so nutz ich die Gelegenheit bevor
+das Semester anfaengt nochmal eine Woche nach Rom zu fahrn. Ich wuensch Euch
+viel Spass und lasst mir das mud steht :).
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub bis ende der woche (Muadib,  4. Okt 1999, 13:50:45):
+hi,
+
+ich bin bis ende der woche wech :)
+
+gruss
+
+mua
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Apollonia,  5. Okt 1999, 21:34:13):
+Bin vom 6. bis 13. Oktober einschliesslich wech... Viel Spass.
+Apo* (die Peitsche mal wegsteckend)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Ark,  5. Okt 1999, 21:40:23):
+~#! rn=Apollonia rt=939152053 rg=magier.urlaub
+~#! tid=939152053
+Ist das jetzt die ueberhastete Abreise auf den Andrang am Frankfurter
+Stammtisch hin? Flucht? Alle Mudder, bitte vereitelt das!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaub (Apollonia,  5. Okt 1999, 21:43:56):
+~#! rn=Ark rt=939152423 rg=magier.urlaub
+~#! tid=939152053
+Nein, das ist die ueberhastete Flucht ausm Buero, bevor die mich am Freitag
+noch zum Arbeiten verdonnern und ich dann nie rechtzeitig raus komme (ich kenn
+doch meine Pappenheimer)... abgesehen davon erfordert Kochen fuer ne Horde
+Mudder schon die ein oder andere Vorbereitung... ;)
+Apo* (nicht fluechtend, zumindest nicht vorm Stammtisch)
+
+-----------------------------------------------------------------------------
+
+
+
+Sowas aenhliches wie Urlaub (Morgoth,  8. Okt 1999, 09:20:00):
+Naja, auf jeden Fall bin ich wohl ab Montag (11.10.) fuer 1.5 Wochen nicht da.
+Zumindest Tagsueber.
+
+Viel Spass
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Unfreiwillig wenig Zeit (Highlander, 13. Okt 1999, 12:22:24):
+Tja, so kann man sich auch "Urlaub" verschaffen - mein Controller ist
+leider gestorben, aber nur soweit, dass man ihn noch
+reparieren kann. Daher habe ich zZ kaum Gelegenheit, mal reinzuschauen.
+
+  High "wenn's mal wieder laenger dauert" lander
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Boing, 20. Okt 1999, 15:09:34):
+~#! rn=Boing rt=938444345 rg=magier.urlaub
+~#! tid=938444345
+Wow, ihr habt mich beim Wort genommen, das Mud laeuft noch. Ist ja 
+unglaublich. :)
+  Boing
+PS: Und wehe jemand kommt auf die Idee, das mit meiner Abwesenheit in
+   Verbindung zu bringen ...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaub (Rochus, 20. Okt 1999, 15:10:21):
+~#! rn=Boing rt=940424974 rg=magier.urlaub
+~#! tid=938444345
+Ich waere ja alleine nicht auf die Idee gekommen,
+aber jetzt wo Du es sagst...
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+15.11.-29.11. (Hate, 12. Nov 1999, 09:47:33):
+Macht nix kaputt.
+
+Hate.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub ? Naja (Muadib, 28. Nov 1999, 14:22:02):
+hi,
+
+urlaub isses zwar nicht grade, dennoch bin ich bis zum 9.12 weg. vielleicht
+komm ich mal zum we ans netz.
+
+bya
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Eine Woche weg (Tsunami,  9. Dez 1999, 14:45:29):
+
+Ich bin vom 10.12. bis 17.12.99 in Washington.
+Nein, kein Weihnachstshopping, sondern ein Vortrag.
+Kann mich von dort aus leider nicht einloggen.
+
+Wenn was klemmt in 'Polar' - was so gut wie nie der Fall ist -
+bitte Feuerwehr belaestigen. Er freut sich bestimmt :))
+
+Macht nix kaputt und frohes Mudden,
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Wohlverdient !! ;-)) (Morgoth, 15. Dez 1999, 10:29:26):
+Vom 20.12.1999 bis zum 10.01.1900 !!!
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub vom 17.12. - 2.1 (Sniper, 17. Dez 1999, 03:18:24):
+Moin Moin,
+
+naja, eigentlich ist es nicht wirklich Urlaub, aber ich bin in dieser Zeit
+nicht so oft da. Sollte also wider Erwarten was bei mir oder Patryn buggen,
+dann wende man sich an einen Erzmagier seiner Wahl. Oder maile mir ;-)
+Viel Spass ueber Weihnachten und ein gutes Rueberkommen ins Jahr 1900.
+
+Sniper
+
+-----------------------------------------------------------------------------
+
+
+
+eire (Muadib, 27. Dez 1999, 12:32:16):
+hi,
+
+bis zum etwa 6.1 werde ich nicht da sein, weil ich in Irland weile
+
+gruss
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Re: rente (Grimmborn,  6. Jan 2000, 14:24:10):
+~#! rn=Grimmborn rt=947164827 rg=magier.urlaub
+~#! tid=947164827
+Leider konnte ich mangels Schreibrechten den Artikel in bekanntmachungen nicht
+loeschen, aber natuerlich gehoert er hierhin. Bis ihn jemand aus
+bekanntmachungen loescht, gibts ihn halt zweimal.
+
+Grimmborn der Atheist. Wieder eine Rubrik ohne Rechte entdeckt...
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: rente (Padreic,  6. Jan 2000, 14:26:38):
+~#! rn=Grimmborn rt=947165050 rg=magier.urlaub
+~#! tid=947164827
+Ich bin net in urlaub, schoen waers...
+
+Padreic
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: rente (Catweazle,  6. Jan 2000, 14:57:39):
+~#! rn=Padreic rt=947165198 rg=magier.urlaub
+~#! tid=947164827
+Aber wo ist der Artikel hin? :-)
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: rente (Rochus,  6. Jan 2000, 14:59:13):
+~#! rn=Catweazle rt=947167059 rg=magier.urlaub
+~#! tid=947164827
+Von Padreic geloescht, weil er wollte dass alle ihn lesen :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: rente (Boing,  6. Jan 2000, 19:31:15):
+~#! rn=Grimmborn rt=947165050 rg=magier.urlaub
+~#! tid=947164827
+Der Artikel stand in bekanntmachungen schon ganz richtig, wenn ein
+Erzmagier zuruecktritt oder ein neuer eingesetzt wird gibt es naemlich
+immer einen Artikel in dieser Rubrik. Und dass Du (Grimmborn) in 
+bekanntmachungen keine Loeschrechte hast ist schon so gewollt, 
+schliesslich ist das sowieso eine Rubrik wo nur Erzmagier schreiben
+duerfen.
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: rente (Grimmborn,  6. Jan 2000, 20:36:43):
+~#! rn=Boing rt=947183475 rg=magier.urlaub
+~#! tid=947164827
+Tja, ich habe noch _nie_ einen Artikel absichtlich geloescht, der nicht von
+mir war (und die zwei, drei mal, wo mir ein loesche artikel nr danebengegangen
+ist, wenn ich meinen eigenen Artikel loeschen wollte, habe ich mich auch immer
+zerknirscht entschuldigt). Loeschrechte habe ich ausschliesslich, damit beim
+Verlegen Artikel nicht doppelt stehenbleiben, uebrigens durchaus auch in
+Rubriken, wo man typischerweise keine solchen Rechte haben sollte
+(polizei.beschwerden). Probleme mit meiner Verlegerei haben ausschliesslich
+die Leute, die nicht fehlgeleitete Artikel mehrfach lesen wollen (ich nix
+schuld, ist sich System), oder Leute, die sich faelschlicherweise fuer
+unfehlbar halten und jede Korrektur als Sakrileg begreifen. War ja nicht der
+erste Aufstand von Padreic deswegen.
+
+In der Form wie Du den Artikel in bekanntmachungen geschrieben hast ist er ja
+auch ok, aber so, wie er es geschrieben hatte (was er sicherheitshalber dann
+selber geloescht hat damit keiner merkt wie peinlich das war) war das ein
+reines Aufzaehlen seines Privatlebens. Ich habe nur den Dank an seinen Opi am
+Ende vermisst, aber dafuer ists ja auch nicht in schmarrn gelandet...
+
+Ach ja, und zu guter Letzt: Boing, einen Zensor zu zensieren, das ist ja nun
+wirklich der Gipfel, das ist ja Quadratzensur...
+
+Grimmborn der Atheist (sucht euch doch selber ne passende Rubrik...)
+
+-----------------------------------------------------------------------------
+
+
+
+...waere schoen (Highlander, 14. Jan 2000, 23:31:38):
+Leider aber habe ich keinen Urlaub, sondern darf mih fast
+die ganzen naechsten vier Woche, Ausnahme Wochenenden, in Sindelfingen
+zwecks Schulungen rumtreiben. Streiche Woche, setze Wochen in der Zeile
+zwei vor dieser.
+  HrT
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub... :) (Zook,  4. Feb 2000, 10:29:32):
+Ich bin vom 2000-03-04 bis zum 2000-03-18 in USA im Urlaub. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub... :) (Wim,  4. Feb 2000, 22:20:19):
+~#! rn=Zook rt=949656572 rg=magier.urlaub
+~#! tid=949656572
+Ja und? Ich bin wahrscheinlich den ganzen Maerz drueben, aber ist das ein
+Grund Mudabstinent zu sein? Wofuer gibts kostenlose Ortsgespraeche zum ISP :)
+
+-----------------------------------------------------------------------------
+
+
+
+Sublime in Altenhausen (Sublime, 11. Feb 2000, 20:29:21):
+Huhu Ihr's ;)
+
+Sublime verbringt jetzt bis Mittwoch abend in Altenhausen. Das liegt so ca.
+50 Kilometer nordwestlich von Magdeburg und beherbergt mich und meinen Psycho-
+logiekurs in einem dort stehenden alten Schloss. Vielleicht gibt's mir ja
+ein paar Ideen, wie man ein bisschen altes Festungs- bzw. Burgflair rueber-
+bringt.
+
+Bis Mittwoch abend dann...
+Sublime
+
+-----------------------------------------------------------------------------
+
+
+
+Weg ... (Ark, 25. Feb 2000, 23:56:06):
+hier ab naechster Woche Freitag. Kann sein, dass ich selten naechste Woche da
+bin, deshalb schonmal die Ankuendigung. Bin am 13. wieder aus den USA zurueck.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weg ... (Ark, 29. Feb 2000, 22:10:24):
+~#! rn=Ark rt=951519366 rg=magier.urlaub
+~#! tid=951519366
+Tja, wie das Leben so spielt, habe ich mich entschlossen, doch nicht in die
+USA zu fahren, da keine Zeit. Soll heissen, dass ich doch ab und zu naechste
+Woche reinschauen werde. Schade :-(
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weg ... (Sublime,  1. Mar 2000, 20:39:11):
+~#! rn=Ark rt=951858624 rg=magier.urlaub
+~#! tid=951519366
+Mein Beileid ! ;(
+
+Sublime
+
+-----------------------------------------------------------------------------
+
+
+
+bin ca. ne Woche abwesend (Tsunami, 10. Mar 2000, 11:59:23):
+Aus Fasnachtsgruenden (ja, hier in Basel heisst das Fasnacht und nicht
+Fasching) bin ich mindestens bis naechsten Freitag nicht im Mud.
+
+Fuer alle Interessierten, die wissen wollen, wie man 'richtig' Fasnacht
+macht:  www.fasnacht.ch
+
+Macht in der Zwischenzeit nicht alles kaputt! *taetschel*
+
+Schoene Zeit,
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+offline (Mupfel, 13. Mar 2000, 03:05:20):
+Hallo
+
+Ich bin bis etwa mitte April offline, und weder im MUD noch via ICQ zu
+erreichen. Ich bemueh mich aber, einigermassen regelmaessig eMail zu lesen,
+wenn also was ist:
+jhoehne@gmx.net
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Re: NetdeadEnvironmentReconnected() (Bierchen, 19. Mar 2000, 21:41:11):
+~#! rn=Mupfel rt=953498381 rg=magier.urlaub
+~#! tid=953498381
+weichei :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: NetdeadEnvironmentReconnected() (Mupfel, 19. Mar 2000, 21:41:55):
+~#! rn=Bierchen rt=953498471 rg=magier.urlaub
+~#! tid=953498381
+und du??? ;)
+-m-
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: NetdeadEnvironmentReconnected() (Bierchen, 19. Mar 2000, 21:43:31):
+~#! rn=Mupfel rt=953498515 rg=magier.urlaub
+~#! tid=953498381
+ich? ich bin gar nicht da, das ist ein script. jawoll. 
+
+-----------------------------------------------------------------------------
+
+
+
+Pause... (Mupfel,  6. Apr 2000, 02:24:39):
+Ich mach ma Pause. Wenn ich Urlaub bekomm, bin ich wieder da ;)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Muadib, 21. Mai 2000, 14:25:07):
+ist es leider nicht, aber dennoch bin ich bis zum 27.05 nicht da.
+
+gruss
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug (Rochus, 26. Mai 2000, 18:36:17):
+Ich werde in den naechsten 2 Wochen wohl selten ins Mud kommen,
+und WENN, dann wenig am Mud machen koennen, weil ich
+nach Berlin umziehe und etwas beschaeftigt bin... :-)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+YES ! (Morgoth, 31. Mai 2000, 15:17:21):
+Von jetzt bis zum 13.6.
+
+Tuess !
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech... (Morgoth, 18. Jul 2000, 13:40:20):
+und zwar von gleich bis zum 14.8. 
+Pflegt meine Features schoen und sterbt fleissig. 
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Rikus,  1. Aug 2000, 10:37:08):
+Gruss,
+
+falls ihr von mir noch was wegen ZTs, FPs, ... wollt, ich bin am Freitag
+fuer 3 Wochen im Land des Guinness und Whiskys :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn, 10. Aug 2000, 15:03:05):
+Nicht dass das jemanden gross interessieren wuerde, aber ich bin bis etwa
+26.8. in Urlaub. Und praktisch absolut unerreichbar.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub vom Urlaub (Tsunami, 11. Aug 2000, 02:09:01):
+Huhu, 
+
+Bin Sonntag bis Freitag im Urlaub und erhole mich von der
+anstrengenden kalifornischen Sonne und dem schrecklich blauen Meer und 
+den furchtbar gruenen Palmen und den blendend weissen Sandstraenden
+und den furchtbar knappen Badeanzuegen der lokalen Schoenheiten (!!) 
+und fahre ins ruhige und gemuetliche Las Vegas und nachher in ein paar
+angrenzende Nationalparks.
+
+So long und gut Feueroel sammeln,
+
+Tsunami. Chefferienmacher.
+
+
+
+
+-----------------------------------------------------------------------------
+
+
+
+Ne Woch weg (Paracelsus, 24. Aug 2000, 10:16:11):
+Hi.
+
+Ich mache zwar keinen Urlaub, bin aber fuer eine Woche auf einer
+Konferenz in Wien.
+
+Para*
+
+-----------------------------------------------------------------------------
+
+
+
+Rest vom September im Urlaub (Ketos,  8. Sep 2000, 10:20:15):
+Wir gehen in die Rockies.
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Fizban, 24. Sep 2000, 17:28:54):
+Hi 
+Ich werde von Montag an in Urlaub fahren und wahrscheinlich erst am 14.10.
+wieder kommen lasst meine Npcs nicht buggen und bleibt anstaendig.
+gruss Fizban
+
+-----------------------------------------------------------------------------
+
+
+
+kein urlaub (Wurzel, 24. Sep 2000, 18:32:39):
+urlaub ist es nicht... umzugsbedingt werde ich aber wohl doch einige tage
+nicht da sein koennen. und telekom ist etwas schnarchnasig mit dem neuen
+anschluss :( ich hoffe mal, adsl ist die wartezeit wert.
+macht nix kaputt, mal sehen wie lange die uptime noch haelt :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Ebenfalls Wech (Gor, 24. Sep 2000, 20:33:20):
+Bis naechsten Montag wech.... Amaryllis keummert sich um die Festung und CO ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bin ... (Ark,  2. Okt 2000, 21:44:17):
+... zwar nicht ganz im Urlaub, aber dienstlich und etwas freizeitlich vom
+04.10.-13.10. in den USA. Alles, was bis dahin stirbt, kann nicht auf meinem
+Mist gewachsen sein. Wenn doch, dann sollten sich alle an einen Magier Ihres
+Vertrauens wenden. Mal schauen, ob das MG dann immer noch Up ist ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+abtauchen (Muadib,  5. Okt 2000, 17:30:26):
+ist bei mir angesagt vom 7.-23. oktober. 
+hoffentlich seh ich noch die dreistellige uptime :)
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+So halb (Paracelsus,  9. Okt 2000, 16:37:14):
+Aufgrund RL-Urlaubs werde ich den Rest der Woche wohl etwas seltener
+da sein. Werde aber schon mal ein wenig den naechsten Baum ansaegen.
+
+Paracelsus.
+
+-----------------------------------------------------------------------------
+
+
+
+Unbestimmt ! (Morgoth, 13. Okt 2000, 15:34:13):
+Soo,
+
+ab Montag hab ich nen neuen Job, d.h. ich werd wahrscheinlich das Mudden
+(erstmal) aufgeben. *seufz*
+Ich bin dann wahrscheinlich nur noch abends mal von zu Hause drin, mal
+schauen. Mails werde ich weiterhin ignorieren... ;-)
+
+Read ya 
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Arbeit (Silvana,  6. Nov 2000, 18:17:14):
+Nein, kein Urlaub. Im Gegenteil.
+
+Hat ja so kommen muessen, irgendwann: Man hat mich ueberredet, eine feste
+Anstellung anzunehmen. Zwra hab ich sehr felxible Arbeitszeiten, aber noch
+keinen Internetanschluss im Buero. Das kommt erst, wenn die Telekom DSL
+anschliessen kann, also Ende Januar. Bis dahin wird man mich wohl tagsueber
+nur noch sehr selten hier zu Gesicht bekommen.
+
+Das soll aber keine Entwarnung darstellen: Heute ist nicht alle Tage. Ich
+komme wieder - keine Frage! ;-)
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Arbeit (Wurzel,  7. Nov 2000, 21:10:19):
+~#! rn=Silvana rt=973531034 rg=magier.urlaub
+~#! tid=973531034
+telekom und dsl ist ein ziemlich langatmiges thema. nebenbei der hauptgrund,
+warum ich derzeit nur ausgesprochen sporadisch hier sein kann... aber diverse
+hotline-mitarbeiter haben schon angefangen genervt zu reagieren, kann sich
+also nur noch um wenige monate handeln :(
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Dienstreisen (Xantus, 15. Nov 2000, 20:39:02):
+Halloele.
+
+Mein geschaetzter Arbeitgeber hat beschlossen, mich ein bischen in der
+Weltgeschichte rumzuschicken. Daher lege ich das Mud erstmal ne
+Weile auf tauendes Eis, bis ich wieder mehr Zeit hab.
+
+Sanfte Gruesse
+X
+
+-----------------------------------------------------------------------------
+
+
+
+Uuuuurlaub!!! :) (Tsunami,  9. Dez 2000, 00:18:43):
+Huhu,
+
+ich nehme mir mal Urlaub von meinen Sommerferien in Kalifornien und reise
+zurueck ins regnerische Europa ... muss wohl bekloppt sein ... anyway,
+ich werde einen PC mit Modemanschluss haben und deshalb sporadisch reinschaun
+koennen, falls was dringendes anliegt sollte ich also erreichbar sein, 
+ansonsten frohe Weihnachten und guter Rutsch ins neue Jahr und gut metzel!
+
+Tsunami, in der Schweiz vom 15.12.2000 - 03.01.2001
+
+-----------------------------------------------------------------------------
+
+
+
+Weg (Paracelsus, 18. Dez 2000, 17:50:38):
+So, ich mache jetzt erst mal einige Tage Urlaub und werde in der Zeit so
+gut wie gar nicht da sein, nd wenn dann nur kurz zu spaeter Stunde.
+
+Frohes Fest und guten Rutsch,
+
+    Paracelsus
+
+-----------------------------------------------------------------------------
+
+
+
+Verlaengerung (Paracelsus,  4. Jan 2001, 10:11:24):
+Also nachdem ich mich jetzt durch den Muell in der MPA gekaempft habe
+habe ich mich entschieden, meinen Urlaub um eine Woche zu verlaengern,
+zumindest was das Mud angeht. Vielleicht hat der Kindergarten sich bis
+dahin wieder etwas beruhigt.
+
+Para*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Zook,  6. Jan 2001, 17:05:44):
+Ich werde die naechste Zeit ein wenig Urlaub vom MorgenGrauen machen
+und nur sporadisch mal vorbeischauen, um meine Emails zu lesen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+dummdidumm :) (Patryn,  2. Feb 2001, 02:42:21):
+ein studium waere echt cool...wenn da nicht die halbjaehrlichen pruefungen
+draengen wuerden *g* nun denn, bis anfang maerz bin ich also am lernen,
+mail-forward ist eh immer aktiv.
+laufende sachen die mit mir zu tun hatten/haben nehme ich dann wieder auf.
+
+------
+patryn freut sich auf 4 wochen nichtlineare funktionalanalysis ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht direkt Urlaub... (Zook,  3. Feb 2001, 15:09:13):
+Hi, ich werde vom 18.02. an fuer ca. 6 bis 8 Wochen aus 
+Studiengruenden in der Schweiz weilen und im Mud nur meine
+Emails und die MPA checken koennen. Wichtige Dinge werde
+ich auch bearbeiten.
+
+Btw, fuer Statis o.ae. koennte man mich in der Zeit mit
+Sicherheit begeistern. :)
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Pause (Amaryllis, 11. Feb 2001, 14:57:40):
+Hiho,
+
+hm, "Urlaub" passt nun wirklich nicht. Bin die kommende Woche bei der Firma,
+und werde da wohl entweder gar nicht oder nur sporadisch reinschauen koennen.
+Wenn was bugt (z.B. bei den Zwergen) ist Gor beispielsweise ansprechbar - wenn
+er nicht grad wieder ueber seinem grossen Repfile bruetet *fiesgrins*.
+
+Lasst das Mud stehn :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht da (Grimmborn, 12. Feb 2001, 22:43:02):
+Ich bin von morgen bis etwa 4.3. nicht hier. Muesst ihr die mpa halt selber
+sauber halten.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nicht direkt Urlaub... (Zook, 17. Feb 2001, 16:34:27):
+~#! rn=Zook rt=981209353 rg=magier.urlaub
+~#! tid=981209353
+Zook kehrt nun Marburg den Ruecken.
+
+-----------------------------------------------------------------------------
+
+
+
+Nix Urlaub, Arbeit ... (Ark, 17. Feb 2001, 16:48:20):
+... aber dafuer nur ein paar Tage. In Nizza. Echt kein Urlaub. Wirklich ! Kein
+Spass. Schlechtes Wetter. Rueckkehr schon naechste Woche. Leider.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Fasnacht! (Tsunami, 26. Feb 2001, 21:22:34):
+Bin vom 28.Feb - 12.Maerz in Basel.
+
+Fasnacht.
+
+Bei Problemen wendet euch an Zook. Der hat Zeit und hilft gerne...
+*hehe*
+
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Fasnacht! (Wurzel, 27. Feb 2001, 16:07:18):
+~#! rn=Tsunami rt=983218954 rg=magier.urlaub
+~#! tid=983218954
+ticken in der schweiz die uhren anders? 28.2. ist in deutschland jedenfalls
+aschermittwoch :) trotzdem viel spass
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Fasnacht! (Amaryllis, 27. Feb 2001, 16:08:21):
+~#! rn=Wurzel rt=983286438 rg=magier.urlaub
+~#! tid=983218954
+sie ticken vor allem langsamer, Wurzel.
+Vieeeeel laaaaangsaaaaamer... :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Fasnacht! (Tsunami, 28. Feb 2001, 01:42:56):
+~#! rn=Wurzel rt=983286438 rg=magier.urlaub
+~#! tid=983218954
+Zwoelf Basler Fasnaechtler wurden enthauptet
+
+Boese und blutruenstig ging es zu und her, berichtet die aelteste Nachricht
+ueber fasnaechtliches Treiben am Rheinknie: Zwoelf Basler Fasnaechtler wurden
+1376 gekoepft. Es war am Tag vor Aschermittwoch, als auf dem Muensterplatz ein
+Turnier stattfand, bei dem durch Provokationen der Ritter ein Tumult entstand.
+Die Buerger und ihre Frauen fuehlten sich bedroht, man griff zu den Waffen und
+vertrieb die Adeligen, von denen vier ums Leben kamen. Das Volk musste schwer
+dafuer buessen. In der Folge wurden zwoelf Buerger enthauptet, und Kaiser 
+Karl IV. verhaengte die Reichsacht ueber Basel, entzog die Stadt damit dem
+Schutz des roemisch-deutschen Reiches. Dieser verhaengnisvolle Tag ging als
+die "boese Fasnacht" in die Basler Geschichte ein. Was sich in den Zeiten
+davor an Fasnaechtlichem tat, wird fuer immer verborgen bleiben, weil beim
+grossen Erdbeben 1356 die Stadt und ihre Dokumente fast vollstaendig zerstoert
+wurden.
+
+... nun zur eigentlichen Antwort, WARUM NACH Aschermittwoch:
+
+Mit der Reformation 1529 wurde die Fasnacht in Basel auf Montag bis Mittwoch
+nach Aschermittwoch gelegt. Damit wollte man die Katholiken aergern, fuer die
+die Fastenzeit ja am Aschermittwoch beginnt. So festeten die reformierten
+Basler, waehrend die Katholiken bereits am Fasten waren. Im Laufe der Zeit
+entstand die Fasnacht, wie wir sie heute in Basel kennen. 
+
+Tsunami. Aufklaerend. :)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Fasnacht! (Tsunami, 28. Feb 2001, 01:46:38):
+~#! rn=Tsunami rt=983320976 rg=magier.urlaub
+~#! tid=983218954
+Wer noch mehr dazu lesen will: www.baz.ch/fasnacht/   (Basler Zeitung)
+
+Die haben ein paar ganz amuesante Artikel.
+
+Tsunami. Im Fasnachtsfieber.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Fasnacht! (Wurzel, 28. Feb 2001, 22:12:06):
+~#! rn=Tsunami rt=983321198 rg=magier.urlaub
+~#! tid=983218954
+wieder was gelernt. wofuer die mpa doch manchmal gut sein kann... :)
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Wech (Silvana, 16. Mar 2001, 16:22:05):
+Bin die naechste Woche lang nicht da und schau auch nicht rein. ;-)
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Nicht direkt Urlaub... (Zook, 29. Mar 2001, 22:51:48):
+~#! rn=Zook rt=982424067 rg=magier.urlaub
+~#! tid=981209353
+Zook wird morgen wieder nach Marburg retourniert. :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Nicht direkt Urlaub... (Wurzel, 30. Mar 2001, 00:58:31):
+~#! rn=Zook rt=985899108 rg=magier.urlaub
+~#! tid=981209353
+nehmen die dich denn zurueck? oder annahme verweigert?
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Nicht direkt Urlaub... (Amaryllis, 30. Mar 2001, 01:00:31):
+~#! rn=Wurzel rt=985906711 rg=magier.urlaub
+~#! tid=981209353
+zurueck gehts schnell.
+
+hin gehts laaaaaaangsam...
+
+Ama*, Schwizer kennend :)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Fizban, 30. Mar 2001, 07:43:53):
+HI 
+werde mich erst mal nach der Klausurzeit eine Woche ausruhen also so gut wie
+nie da.
+Fizban
+
+-----------------------------------------------------------------------------
+
+
+
+Uhrlaub (Willow, 30. Mar 2001, 08:50:06):
+so, auch ich habe es geschafft - nach zaehem ringen mit meinem chef - mir 3
+wochen urlaub am stueck zu genehmigen. daraus folgt - ich werde die 3 wochen
+nur selten hier sein, aber wen kuemmerts ;)
+Weidchen Willow ist jetzt schon entspannt
+
+-----------------------------------------------------------------------------
+
+
+
+kurz weg da krank (Tsunami, 30. Mar 2001, 20:36:39):
+mehr als 2 1/2 Wochen krank und immer noch nicht besser. War gestern beim
+Arzt. Diagnose Kieferhoehlenentzuendung und in der Lunge ist auch was.
+
+Darf jetzt 2 Wochen lang heftige Antibiotika schlucken. Darmflora bereits
+getoetet, Durchfall hat nun eingesetzt... toll!
+
+Ich mach mal kurz Pause vom Mud und Computern allgemein. Bekomme
+fuerchterliche Kopfschmerzen, wenn ich zu lange auf den Schirm starre.
+
+Mails lese ich, wenn also was wirklich ganz dringendes ist:
+
+stoffler@scripps.edu
+
+Hoffe ich bin bald wieder auf dem Damm.
+
+Gruss,
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (was sonst?) (Grimmborn,  4. Apr 2001, 01:06:52):
+Ich bin vom kommenden Freitag an bis Ostermontag weg und auch richtig
+abgeschnitten vom Netz. Nennt man, glaub ich, "Urlaub" oder so. Mal gucken wie
+das wird. Passt halt selber auf die mpa auf.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Schon wieder weg (Grimmborn, 19. Apr 2001, 11:17:42):
+Ich bin vom 21.4. - 25.4. nicht da. Klar, interessiert nicht gross, aber diese
+Rubrik schlaeft ja sonst ein. Haltet halt die mpa sauber.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Auf unbestimmte Zeit verreist (Silvana, 20. Apr 2001, 09:56:07):
+Nicht, dass es jemand interessiert... Ich hab die Nase gestrichen voll und
+mach daher auf unbestimmte Zeit Urlaub vom MG. Sollte mich wider Erwarten doch
+jemand vermissen... Flames an Bierchen, Orktoeter oder einen beliebigen
+anderen Idioten Eures Vertrauens.
+
+So long and thanx for all the fish - Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auf unbestimmte Zeit verreist (Wurzel, 20. Apr 2001, 10:02:45):
+~#! rn=Silvana rt=987753367 rg=magier.urlaub
+~#! tid=987753367
+doch, es gibt schon leute die das interessiert.
+und es gibt auch leute, die das bedauern... nicht nur pappnasen, die
+gibt es immer und ueberall. wenn ich mich ueber sowas aufregen wuerde,
+haette ich mich vor fuenf oder sechs jahren schon geloescht.
+
+wurzel trauert um jeden, der uns verlaesst.
+
+-----------------------------------------------------------------------------
+
+
+
+Fuerteventura (Boing, 20. Apr 2001, 16:40:49):
+Ich habe 2 Wochen Urlaub und werde die erste davon in der Sonne schmoren
+und mir wahrscheinlich einen gewaltigen Sonnenbrand holen. Ich komme aber
+wieder ... ;)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Ich auch! Ich auch! (Tilly, 21. Apr 2001, 19:57:43):
+Ich schliesse mich dem momentanen Trend mal an und werde auch ein
+bisschen 'Urlaub' machen. Wir sehen uns spaetestens auf der Party
+in Muenster oder danach wieder im MG ...
+
+ - Tilly - 
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub, aber ... (Amaryllis, 27. Apr 2001, 12:10:28):
+... ich habe die naechsten WocheN Vorstellungsgespraeche in ganz Deutschland
+und werde darum nur sporadisch mal ins Mud schauen koennen. Muss der Sand eben
+ohne meine Aufsicht gluehen :-)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kein Urlaub, aber ... (Gloinson, 27. Apr 2001, 13:10:02):
+~#! rn=Amaryllis rt=988366228 rg=magier.urlaub
+~#! tid=988366228
+Das wird ihn sicher richtig heiss machen. Den Sand.
+
+Gloin(son)
+
+-----------------------------------------------------------------------------
+
+
+
+Ganz normaler Urlaub.... (Zook,  4. Mai 2001, 10:36:25):
+Hoi zsaemme!
+
+Ja, so langsam steht der Jahresurlaub an. Vom 18. Mai bis 8. Juni werde
+ich mich im Ausland aufhalten und mich ein wenig erholen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Abtauchen (Muadib,  9. Mai 2001, 15:37:56):
+Von Samstag ab bin ich 2 Wochen in Urlaub.
+*freu*
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Wech (Silvana, 16. Jun 2001, 13:32:19):
+Bin ab Montag weg. Komme wieder. :)
+
+  Silvana
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause (Chuckylein, 20. Jun 2001, 17:22:04):
+Huhu werde mir leider eine Spielpause auflegen muessen, wegen Problemen in der
+Arbeit. Ich leg sie mal auf einen Monat fest, kann aber nich sicher sein das
+ich sie nich verlaengern werde. Muss etz erstmal an mich denken.
+
+Chuckylein
+
+
+-----------------------------------------------------------------------------
+
+
+
+Jo! (Ark, 20. Jun 2001, 21:11:21):
+Die Rubrik heisst zwar nicht magier.arbeit, doch ich schreib mal so, als
+haette hier mein Arbeitgeber inseriert.
+
+Herr Ark wird dem MorgenGrauen fuer die Zeit vom 24.06.01 bis 01.07.01 nicht
+zur Verfuegung stehen, da er beruflich in Uebersee weilt. Dass er sich fuer
+weitere drei Tage entschlossen hat, freizeitaehnliche Unternehmungen
+wahrzunehmen, aendert nichts an obiger MorgenGrauen-Sperre. Fuer sie bedeutet
+das, mit seinen zahlreichen Vertretungen (M), (R), (W), (E) und (G) Dinge zu
+besprechen, die so dringend sind, dass sie keinen weiteren Aufschub dulden
+koennen. Wir danken vielmals fuer ihr Verstaendnis.
+
+MfG
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Hoffentlich schafft ihr es ... (Vanion, 22. Jun 2001, 18:11:12):
+... mal 3 Wochen ohne meine bloeden Sprueche auszukommen. Ich nehm mir
+naemlich ab Montag bis zum 14.07. eine Auszeit. 
+
+So mich die Sucht nich in ein Internetcafe treibt, werde ihr also die nachsten
+Wochen Ruhe vor mir haben.
+
+V*, sich auf einen schoenen Urlaub freuend.
+
+-----------------------------------------------------------------------------
+
+
+
+Erstmal off (Amaryllis, 23. Jun 2001, 23:58:15):
+Hi,
+
+da ich nun endgueltig nach Koeln umziehe (schoene Wohnung habe ich *juhuu*),
+wird es wohl einige Wochen dauern, bis ich hier wieder auftauchen kann...
+Umzug und Internetzugang sind da so Hindernisse :/
+
+Aber freut Euch oder flucht, denn ich werde irgendwann wieder da sein :)
+
+Dat Feeschae :)
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub, aber auch kein richtiges Netz... (Zook,  3. Jul 2001, 18:44:43):
+Hoi zsaemme!
+
+Jaja... eigentlich sollte alles besser werden und auch ein Netzanschluss
+an meinem Arbeitsplatz vorhanden sein, aber erstens kommt alles anders
+und zweitens als man denkt. Im Klartext: Leider habe ich am Arbeitsplatz
+keinen Internetanschluss so wie ich ihn haben moechte und bis ich den
+bekomme, da kann noch dauern. Ich bin daher die naechsten Wochen recht
+sporadisch hier. Eventuell mal abends.
+
+Gruss, Zook (not amused).
+
+P.S.: Wer Typos findet, darf sie behalten. :-))
+
+-----------------------------------------------------------------------------
+
+
+
+Wech (Grimmborn, 13. Jul 2001, 10:18:17):
+Ich bin die gesamte naechste Woche weg. Ohne Netzzugang. Habt ihr ein
+Glueck...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Wech (Catweazle, 13. Jul 2001, 10:31:16):
+~#! rn=Grimmborn rt=995012297 rg=magier.urlaub
+~#! tid=995012297
+Sturmfrei!! :-))
+
+YTC
+
+-----------------------------------------------------------------------------
+
+
+
+Poddugall (Ark, 13. Aug 2001, 19:44:22):
+18.08.01 - 01.09.01 (oder war es doch 02.09.01?)
+Tatort: die Algarve
+Tatmotiv: schamloses Ausspannen
+Taeter: ein vermutlich typischer Erholungstaeter, schon frueher durch freches
+Ausnutzen gesetzlich festgesetzter betrieblicher Zwangslagen aufgefallen.
+Waffen: vorsicht, der Taeter ist mit bunten Strandtuechern und scharfen
+Sonnencremedosen bewaffnet, die er ohne Skrupel einsetzt.
+Belohnung: fuer sachdienliche Hinweise, die zur Verlaengerung der Haftzeit am
+Tatort fuehren, ist eine Belohnung in Hoehe von unbekannter "Arkfreien Zeit im
+MG" ausgesetzt. Bitte wenden Sie sich an einen EM Ihres Vertrauens.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Poddugall (Tsunami, 13. Aug 2001, 20:13:27):
+~#! rn=Ark rt=997724662 rg=magier.urlaub
+~#! tid=997724662
+Ich frag mich echt, wen Ark da wem ausspannen will.
+Auf jeden Fall freuen wir uns auf viele und lange Arkfreie Zeit im MG :))
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn,  2. Sep 2001, 07:52:09):
+Ich bin denn mal fuer zwei Wochen weg. Nicht dass das eine Rolle spielen
+wuerde, aber wenn ich hier schon schreiben kann muss ich das doch auch
+ausnutzen...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Rikus, 14. Sep 2001, 15:04:12):
+Kam leider erst zu 2 Tagen Urlaub dieses Jahr, deshalb jetzt 2 Wochen
+Zelten an der Adria...
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Gloinson, 14. Sep 2001, 17:46:48):
+~#! rn=Rikus rt=1000472652 rg=magier.urlaub
+~#! tid=1000472652
+Kam leider erst zu 2 Monaten Semesterferien dieses Jahr, deshalb jetzt 2
+Wochen Urlaub auf Gran Canaria...
+
+Gloin(son) nimmt Martini mit (zollfrei)
+
+PS: Gesellenstueck ist zum Braunwerden im Leichtgepaeck.
+
+-----------------------------------------------------------------------------
+
+
+
+MUC (Amaryllis, 16. Sep 2001, 13:06:40):
+Bin bis Ende naechster Woche eine Woche in Muenchen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+mal was anderes (Wurzel, 17. Sep 2001, 00:03:57):
+muss mal was anderes machen. bin ein paar tage nicht da, urlaub wuerde ich
+das aber nicht nennen. auch wenn es keine bezahlte arbeit ist.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+CH! (Zook,  8. Okt 2001, 22:26:01):
+Bevor ich es vergesse, bin von Mittwoch bis Sonntag in der Schweiz
+im Kurzurlaub. :-)
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+noch eine Woche weg (Tsunami, 12. Okt 2001, 21:04:42):
+Hallo,
+
+mich hats boese erwischt: bei uns geht die Seuche um (unsere Klimaanlage
+ist gekoppelt mit der vom Spital nebenan), alle husten und mich hats
+besonders bloed erwischt: Lungenentzuendung. Bin seit letzem Montag im Bett,
+Antibiotika fuer eine Kompanie Soldaten und Hustensirup bis fuer's naechste
+Jahrtausend...
+
+Werde naechste Woche kaum ins Mud reinschaun, ist mir zu schwindlig.
+
+Gruss und *hust*
+
+Tsunami.
+
+P.S. NEIN, Anthrax geht bei uns nicht um.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: noch eine Woche weg (Tsunami, 22. Okt 2001, 20:10:28):
+~#! rn=Tsunami rt=1002913482 rg=magier.urlaub
+~#! tid=1002913482
+Wieder da!
+
+Tsunami, mehr oder weniger fit.
+
+-----------------------------------------------------------------------------
+
+
+
+Langes Wochenende / Kurzurlaub (Grimmborn, 30. Okt 2001, 21:32:21):
+Ich bin ab morgen ganz frueh bis irgendwann Sonntag Abend nicht da.
+Heimaturlaub, Winzerbesuch und so.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+wech (Rikus, 22. Nov 2001, 14:54:42):
+Hi,
+vom 24.11. bis 17.12. bin ich in Mexiko zu finden. Es gibt bei
+Erfolg natuerlich einen FP!
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Re: wech (Ark, 22. Nov 2001, 15:05:46):
+~#! rn=Rikus rt=1006437282 rg=magier.urlaub
+~#! tid=1006437282
+Dann wollen wir keinen Gedanken an Misserfolg verschwenden.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abgetaucht (Muadib,  9. Dez 2001, 17:34:21):
+Hi,
+
+die komplette naechste Woche werde ich wegen Fischeguckens nicht hier sein.
+
+Bis denne
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsurlaub (Tsunami, 12. Dez 2001, 01:52:52):
+Huhu ihrs,
+
+ich bin vom 13.12.01 bis 07.01.02 in der Schweiz.
+
+Werde aber oefter im Mud vorbei schaun.
+
+ich wuensch euch allen frohe Festtage und eine besinnliche Weihnacht.
+
+Tsunami.
+
+-----------------------------------------------------------------------------
+
+
+
+Bisgen Urlaub und mehr (Ark, 21. Dez 2001, 17:00:25):
+Hoi, frohe Weihnachten und guten Rutsch, wir lesen uns erst wieder im neuen
+Jahr. Darueber hinaus laeuft mein Account an der Uni aus und damit sitze ich
+erstmal auf dem Trockenen. Ab und an schau ich ueber das freundliche Java
+Applet rein, allerdings laesst es sich so nun wirklich nicht richtig arbeiten
+;^)
+Fazit: 1) PC besorgen und 2) Vernetzen lassen und 3) Weitermachen.
+Ich weiss nicht so recht, ob ich bis dahin (wann auch immer) als RM so aktiv
+sein kann, deshalb stelle ich es unseren werten EMs anheim, an meinem Level
+zum Wohle des Muds herumzupfuschen :-)
+Bis hoffentlich bald.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Bisgen Urlaub und mehr (Wurzel, 21. Dez 2001, 21:54:14):
+~#! rn=Ark rt=1008950425 rg=magier.urlaub
+~#! tid=1008950425
+zu 1): in laden gehen, kaufen, nach hause tragen, aufstellen. dauer: maximal
+(fuer ungeuebte leute, also eher nicht fuer dich :) 5 stunden.
+zu 2): internet by call, dauer: maximal 10 minuten.
+zu 3): weitermachen!
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Ualaup :) (Amaryllis, 23. Dez 2001, 12:51:51):
+Ich bin bis Anfang des naechsten Jahres in der Heimat...
+
+Ama*, mal aus Koelle fluechten muessend.
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzwech (Ark, 18. Jan 2002, 18:12:02):
+Bin naechste Woche fruehestens Donnerstag wieder da.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Mal ne gute Bib besuchen... (Zook, 23. Jan 2002, 22:27:26):
+Bin vom 1. bis 10. Februar in der Schweiz, schau aber in der Zeit immer
+mal kurz hier herein. :-)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+*seufz* (Wurzel,  2. Feb 2002, 12:21:30):
+berufsbedingt bin ich derzeit extrem selten da. ich hoffe, dass es ab maerz
+wieder besser wird, aber momentan koennte ich eher mal auf auswaertige
+stammtische gehen als in darmstadt oder karlsruhe...
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+-> magier.arbeitsstress (Ragnaroek,  7. Feb 2002, 23:28:44):
+
+berufsbedingt schaff's leider auch ich z.Zt. nur selten hierher. 
+Werde voraussichtlich bis Ende Maerz nur gelegentlich hier sein, 
+was aber nicht heisst, dass ich die einsamen Abende in fernen 
+Hotelzimmern nicht fleissig (wenn auch offline) an meinen Sachen 
+bastel...
+
+::ragnaroek
+
+-----------------------------------------------------------------------------
+
+
+
+Ak, schon wieder Ferien (Tsunami,  8. Feb 2002, 02:53:49):
+Bin vom 12.Feb - 25.Feb in der Schweiz.
+
+Ich mag ja die Mudparties jeweils verpassen aber die Basler Fasnacht lass ich
+mir unter keinen Umstaenden entgehen. Zumal meine Clique dieses Jahr 
+hundertjaehrig wird.
+
+Tsunami, freut sich schon sehr, hat auch das Jahr durch fleissig Piccolo
+geuebt.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ak, schon wieder Ferien (Gor,  8. Feb 2002, 07:53:44):
+~#! rn=Tsunami rt=1013133229 rg=magier.urlaub
+~#! tid=1013133229
+Mit Prosecco?
+
+Gor grinst sueffisant. };-)
+
+-----------------------------------------------------------------------------
+
+
+
+Noch lange hin, ich hab aber grad Lust, es schon mal anzukunedigen... (Zook, 24. Feb 2002, 14:42:23):
+Ich bin wohl vom 5. bis 19. Juni nicht im Mud, sondern weile in Korea. Ja,
+richtig, da ist Fussball-WM und mit der hab ich auch ein wenig was zu tun ;)
+Mehr verrate ich aber nicht ;)))
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch lange hin, ich hab aber grad Lust, es schon mal anzukunedigen... (Ark, 25. Feb 2002, 09:32:25):
+~#! rn=Zook rt=1014558143 rg=magier.urlaub
+~#! tid=1014558143
+Crashed die dann?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Noch lange hin, ich hab aber grad Lust, es schon mal anzukunedigen... (Patryn, 26. Feb 2002, 08:35:44):
+~#! rn=Zook rt=1014558143 rg=magier.urlaub
+~#! tid=1014558143
+na das sind ja ferne ankuendigungen ;)
+also ich habe ab voraussichtlich mitte maerz keinen netzanschluss mehr
+und auch keine ahnung, wann das wieder werden koennte.
+nur so als vorabinfo wenn noch jemand was wirklich wichtiges hat *g*
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Ne Woche weg (Amaryllis,  8. Mar 2002, 11:40:23):
+Ama.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: *seufz* (Wurzel, 13. Mar 2002, 21:08:44):
+~#! rn=Wurzel rt=1012648890 rg=magier.urlaub
+~#! tid=1012648890
+es ist jetzt maerz, und ich bin ueberhaupt wieder da. ob oefters, wird sich
+in den naechsten tagen zeigen...
+manchmal koennen jobs echt nervig werden. hobbyverzicht steht eigentlich nicht
+in meinem vertrag.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+Uuuuuund wech ... (Vanion, 24. Apr 2002, 15:11:11):
+... bin ich vom 3.6. bis zum 21.06.2002. 
+
+Is zwar noch eine Weile hin, aber ich hab grad die Bestaetigung bekommen und
+wollte dass ihr vor Neid erblasst, weil ich Urlaub hab, und ihr nicht :)
+
+Ja mata,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Weg (Ark, 24. Apr 2002, 20:44:58):
+Fuer unbestimmte Zeit. Keine Panik, komme wieder, evtl. auch mal, um mich
+abzulenken, bevor mir die Decke auf den Kopf faellt.
+
+Manchmal lernt man erst im Tod wieder neu zu leben.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nur teilweise Urlaub... :-) (Zook, 12. Mai 2002, 15:33:29):
+Hi, ich bin in der naechsten Woche dienstlich weg und dann ein wenig
+im Urlaub; ich schaue immer mal rein. 
+
+Rueckkehr ist irgendwann am 20. Mai abends.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Zwei Wochen weg (Grimmborn, 22. Mai 2002, 07:47:21):
+Auch wenn das nicht so ganz die passende Rubrik ist ("Urlaub" triffts nicht
+wirklich): Ich bin vom 23.5.-4.6. weg, und wenn ueberhaupt nur sporadisch mal
+hier. Sucht euch also in der Zeit jemand anderen zum Artikelverlegen, oder,
+besser noch, benutzt gleich die richtigen Rubriken.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheit I (Zook, 23. Mai 2002, 14:44:45):
+Ich bin vom 27. Mai bis 2. Juni in Berlin und werde wohl eher nicht 
+ins Mud hineinsehen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheit II (Zook, 23. Mai 2002, 14:45:03):
+Ja, und dann gehts ja noch Korea und das ist vom 7. bis 17. Juni.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abwesenheit II (Mandragon, 23. Mai 2002, 16:44:38):
+~#! rn=Zook rt=1022157903 rg=magier.urlaub
+~#! tid=1022157903
+Ihr tanzt um das Spielfeld, wenn die Nationalelf spielt?
+
+-----------------------------------------------------------------------------
+
+
+
+Auch weg (Morgoth, 21. Jun 2002, 10:14:28):
+Hu
+
+ich hab vom 1.7. bis zum 19.7. Urlaub, bin also dann Tagsueber hier nichtmehr
+idle, also nicht erschrecken.
+Vielleicht setz ich mich auch mal an Orkhausen^2 :)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub und co... (Humni,  9. Jul 2002, 11:33:40):
+Huhu,
+
+meinereiner ist ab Morgen bis zum Wochenende nicht da. Ausserdem bin ich vom
+9.8. bis 25.8. ebenfalls nicht da (ja, einer der Gruende ist die MG-Party).
+
+Also nutzt die Gelegenheit aber sprengt mein Repfile nicht, und lasst das
+Polar stehen ;-)
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub? noe ;) (Patryn, 29. Jul 2002, 11:09:41):
+ich wollte nur anmerken, dass ich entgegen anderslautenden geruechten nicht
+gaenzlich inaktiv geworden bin. ich schlage mich nur weiter mit der telekom
+herum,
+um wieder einen heim-netzanschluss zu erhalten.
+gut moeglich, dass es diese oder naechste woche endlich klappt, dann
+werde ich auch diverse mails abarbeiten.
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Eine Woche netzlos (Grimmborn,  2. Aug 2002, 16:50:38):
+Ich bin vom kommenden Wochenende bis zum darauf folgenden so richtig in
+Urlaub. Ohne Netz und doppelten BOden...
+
+GdA
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? neee... (Amaryllis, 13. Aug 2002, 19:37:33):
+Ich bin vom 19.08.-23.08. beruflich unterwegs und wohl nicht online
+anzutreffen.
+
+Die Vertretung in der Wueste uebernimmt Ark (gelle? :)), und Rikus muss sich
+halt solange alleine mit seinen NPCs rumschlagen :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+10.9. bis 7.10. (Rikus,  2. Sep 2002, 14:41:32):
+... bin ich endlich mal wieder urlauben. Wenn ihr in dem Zeitraum was
+an ZTs, Fps, Stupsen... wollt, dann meldet Euch noch bis Ende der Woche
+
+Rikus, schon auf Namibia freuend
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub... (Zook, 10. Sep 2002, 15:00:32):
+Ich mache vom 20. bis 29. September Urlaub und bin in der Zeit wohl eher
+nicht im MorgenGrauen anzutreffen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub, aber nich zuhause. (Vanion, 19. Sep 2002, 21:49:55):
+Hi,
+
+ich bin vom 7. bis zum 18.10. in Dresden. Ich weiss noch nicht, ob ich da
+einen Netzzugang hab. Im Zweifelsfall ist Mud-Urlaub ja auch mal nett.
+
+V*, hofft gleich mal, dass sich in DD Gelegenheit fuer einen Stati ergibt.
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech... (Ark, 26. Sep 2002, 16:36:05):
+Es hat mich endlich auch erwischt. Ab naechste Woche. Und zurueck ins Mud
+komme ich erst so am 28.Okt. wieder. Bis dahin ess ich lecker koreanisch.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Und wech... (Vanion, 26. Sep 2002, 16:36:47):
+~#! rn=Ark rt=1033050965 rg=magier.urlaub
+~#! tid=1033050965
+Ich spendiere mal glatt eine Runde echten und ehrlich gemeinten Neid!
+
+V*, sind 1/10 der Gebote grad mal voellig egal.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Und wech... (Ark, 26. Sep 2002, 16:38:52):
+~#! rn=Vanion rt=1033051007 rg=magier.urlaub
+~#! tid=1033050965
+Der koennte Dir vergehen, wenn Du hoerst, was die Leute, die mich grad
+anpiepsen, so spontan denken: arme Hunde, Katzen, etc. bla bla. Mahlzeit ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Und wech... (Gloinson, 26. Sep 2002, 16:41:59):
+~#! rn=Ark rt=1033051132 rg=magier.urlaub
+~#! tid=1033050965
+Die sind bloss neidisch. Hau rein.
+
+-----------------------------------------------------------------------------
+
+
+
+Abgetaucht (Muadib, 27. Sep 2002, 16:22:09):
+werde ich sein ab Montag . In Mykonos. 
+Mitte Oktober werd ich wieder da sein.
+
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzurlaub... (Humni, 30. Sep 2002, 10:23:45):
+... sowie berufliche Termine: Ich bin ab 1.10. kurz weg und ab Montag, 7.10.
+wieder da, hoff ich mal...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Hatte Urlaub. (Catweazle,  1. Okt 2002, 15:20:05):
+So, ich hatte gerade 3 Wochen Urlaub. Nicht das es was genutzt haette.
+
+YTC
+
+PS: Haeh? Vorher? Was, vorher? *prrrt* ...
+
+-----------------------------------------------------------------------------
+
+
+
+Weitweg (Mandragon,  3. Okt 2002, 17:29:48):
+
+Da ich vom 25.10 bis zum 21.11 in Mexiko weile, werde ich waehrend dieser Zeit
+keinerlei Feature-Wuensche und Debugmeldungen bearbeiten.
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+auch mal weg (Troy, 10. Okt 2002, 16:09:26):
+Ich bewege mich gerade von einem Job zum anderen und bin deswegen bis
+einschliesslich 31. Oktober nur sporadisch anzutreffen.
+
+Troy
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Amaryllis, 11. Okt 2002, 17:21:10):
+Hi,
+
+hab offiziell 3 Wochen Urlaub. Wird sich weisen, ob ich verreise oder
+lerne/progge :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+abtauchen und sonstiges (Muadib,  8. Nov 2002, 15:46:38):
+werde ich vom 16.12 bis zum 17.01
+hoffe ich
+
+muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub ... (Vanion, 10. Nov 2002, 12:37:35):
+... hab ich zwar nicht, aber demnaechst eine mir wichtige Pruefung. Ich werd
+zwar wie immer anwesend sein, hab aber nich die Zeit fuer groessere Bugfixes.
+Falls ihr Probleme/Bugs findet, koennt ihr mir die zwar trotzdem mailen, aber
+ich werd wohl nich vor Dezember dazu kommen, mir die anzuschauen.
+
+V* goennt sich mal etwas RL.
+
+-----------------------------------------------------------------------------
+
+
+
+Dienstlich... (Zook,  6. Dez 2002, 13:24:43):
+... von 2002-12-07 bis 2002-12-11 in Berlin, daher nicht im Mud.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+wieder mal ;) (Patryn, 10. Dez 2002, 22:53:11):
+meine letzte studiumspruefung steht an...am 18.
+bis dahin, spielpause, mail geht automatisch raus.
+
+-- 
+patryn
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzurlaub... (Zook, 19. Dez 2002, 16:06:05):
+Da unsere Uni vom 24.12. an dicht gemacht wird (incl. Heizung aus), kann
+ich fruehestens am 2.1. wieder ins Buero und da bietet es sich doch an,
+vom 27.12. bis 5.1. in den Ski-Urlaub in die Schweiz zu fahren. Soll heissen,
+ich bin in der Zeit eher nicht da. :-))) 
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Nur noch 6.5 Stunden... (Morgoth, 20. Dez 2002, 09:07:00):
+dann is Urlaub :)
+Bis zum 13.1. :)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachten und Sylvester .... (Mandragon, 20. Dez 2002, 13:57:09):
+
+bin ich an diversen Orten in ganz Deutschland bei allerlei lieben Menschen.
+Daher bin ich hoechstens sporadisch mal da ...
+
+In kuerze: Ich bin vom 20.12.02 bis zum 5.1.03 weg ...
+
+Ma* (wuenscht ein frohes Fest und nen guten Rutsch)
+
+-----------------------------------------------------------------------------
+
+
+
+Uchlaup! (Amaryllis, 20. Dez 2002, 14:20:32):
+23.12.-01.01.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Auchwech (Grimmborn, 20. Dez 2002, 15:55:23):
+Ich werde heute Abend meinen wirklich wohlverdienten Weihnachtsurlaub antreten
+und auch im MG - wenn ueberhaupt - nur sehr sporadisch auftauchen. Irgendwann
+gegen Ende des Jahres bin ich dann wieder zurueck.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub, nur eingeschraenkte Anwesenheit (Zook, 14. Jan 2003, 16:25:54):
+Aufgrund betrieblicher Umstrukturierungen werde ich moeglicherweise
+schon ab morgen (vielleicht auch erst ab 1. Februar) auf das 
+Internet (insb. auf das MorgenGrauen) fuer unbestimmte Zeit (ich 
+rechner mit 2 bis 3 Wochen) verzichten muessen, so dass meine
+Anwesenheit im Mud auf den Abend beschraenkt ist und dann entsprechend
+kuerzer ausfallen kann. Dadurch werden nun einige Dinge liegen bleiben,
+sorry dafuer. Desweiteren bitte ich schon jetzt um Verstaendnis, dass ich
+auf Anfragen entsprechend knapp reagieren werde.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ne, Arbeit, kein Urlaub... (Ark, 29. Jan 2003, 21:34:20):
+...aber trotzdem die naechste Woche weg. Glasgow. Wirklich beruflich. Wer
+kommt sonst auf die schwachsinnige Idee, Anfang Februar nach Schottland zu
+fahren?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ne, Arbeit, kein Urlaub... (Mandragon, 29. Jan 2003, 22:02:04):
+~#! rn=Ark rt=1043872460 rg=magier.urlaub
+~#! tid=1043872460
+Hehe :-) Viel Spass mit dem Whiskey :-)
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ne, Arbeit, kein Urlaub... (Rikus, 30. Jan 2003, 09:13:28):
+~#! rn=Mandragon rt=1043874124 rg=magier.urlaub
+~#! tid=1043872460
+und bring ne schoene Flasche fuer mich mit :)
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+In Bonn ... (Vanion, 31. Jan 2003, 12:55:21):
+bin ich anfang Mai fuer zwei Wochen. Vielleicht ergibt sich ja was. Genauer
+Termin steht noch nicht fest.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ohne Worte ... (Patryn,  2. Feb 2003, 14:03:10):
+~#! rn=Liara rt=1044190056 rg=schmarrn
+~#! tid=1044190056
+Da ich mal einen Anfang fuer meine Diplomarbeit finden muss, werd ich jetzt
+immer zyklisch die Woche ueber abwesend sein. Mails kommen weiter an, ich
+versuch die dann irgendwie Richtung Wochenende abzuarbeiten.
+Wichtige offene Dinge versuch ich auch in der Woche mal irgendwo
+reinzuschieben, Gilde und Driver z.B.
+
+-- 
+Patryn, sauber abgemeldet
+
+-----------------------------------------------------------------------------
+
+
+
+Dienstlich... (Zook,  6. Feb 2003, 13:10:51):
+... bin ich die ganze naechste Woche ausser Haus, kann also sein, dass ich
+nicht im Mud auftauche. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kein Urlaub, nur eingeschraenkte Anwesenheit (Zook, 17. Feb 2003, 14:15:02):
+~#! rn=Zook rt=1042557954 rg=magier.urlaub
+~#! tid=1042557954
+Im Ursprungsartikel angesprochener Sachverhalt ist eingetreten, so dass
+Ihr nun tagsueber auf unbestimmte Zeit auf mich verzichten muesst. Ich
+arbeite aber an einer sinnvollen Loesung... 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Uchlaup! (Amaryllis, 20. Feb 2003, 18:06:27):
+
+Hab bis einschliesslich Rosenmontag frei und bin deshalb nicht regelmaessig
+da.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Nur halb Urlaub (Humni, 25. Feb 2003, 14:56:06):
+Huhu,
+
+bin evtl. ab morgen mittag oder so (26.2.) fuer eine Woche nicht hier, kann
+aber gut sein, dass ich doch noch ab und an reingucke, mal sehen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nur halb Urlaub (Ark, 25. Feb 2003, 17:29:18):
+~#! rn=Humni rt=1046181366 rg=magier.urlaub
+~#! tid=1046181366
+Oha, da melde ich mich prophylaktisch gleich mit ab. Typisch, kaum schliesst
+man ne Quest an ... Humni boese. Ark weint. Sechs, setzen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub! (Zook, 18. Mar 2003, 15:35:00):
+Ich bin vom 6. bis 14. April im Urlaub. Ist das nicht toll? Ich freu
+mich auch schon wahnsinnig. :-)))
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Dienstlich... (Zook, 24. Mar 2003, 11:08:30):
+... diese Woche fast nicht da. Bin dienstlich ein wenig unterwegs (Berlin,
+Muenster) etc. Aber man sieht sich zum Bonn-Stati am Freitag. :-))
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Auch dienstlich... (Ragnaroek, 24. Mar 2003, 22:25:34):
+
+Nachdem ich nun  nach bezwungenem Umzug dachte, ich bin ab dieser
+Woche wieder mit vollem Einsatz zurueck, erhielt ich  gestern die
+ernuechternde Meldung, dass ich arbeitsbedingt fuer die naechsten 
+fuenf Wochen  nach Darmstadt abkommandiert werde und dort solange 
+meine Zeit in irgendwelchen Hotels fristen werde.
+Die sehnlich erwarteten Projekte wachsen jedoch weiter, wenn auch
+nicht in geplanter Geschwindigkeit und Onlinepraesenz.
+Irgendwann wird alles besser....
+So long,
+
+:ragna:
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Dienstlich... (Zook, 31. Mar 2003, 12:30:57):
+~#! rn=Zook rt=1048500510 rg=magier.urlaub
+~#! tid=1048500510
+... bin ich diese Woche ziemlich zugeschuettet mit Arbeit (will ja bald
+in Urlaub). Daher bin ich nur ganz selten online. Ich bin aber ueber
+Mail erreichbar und versuche auch anfallende Dinge schnell abzuarbeiten.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Nochma Urlaub... (Zook, 31. Mar 2003, 12:31:31):
+... aber nur ueber Ostern. Genauer: Vom 17. bis 22. April bin ich in der
+schoenen Schweiz.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub!!! (Humni,  7. Apr 2003, 19:30:37):
+Ja, wirklich Urlaub!
+
+Und das heisst fuer Euch, ab dem 11. oder 12.04. bis irgendwann Ostern koennt
+ihr metzeln wie ihr wollt, es wird Euch keine Gildenbalance snoopen und dann
+sofort auf der Stelle abwerten...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Und nochmal abwesend... (Zook, 15. Apr 2003, 16:26:59):
+Wenn ich aus der Schweiz komme, dann steht gleich wieder ne auswaertige
+Dienstwoche an. Also rechnet am Gruendonnerstag (17. April) mal nicht mit
+meiner Rueckkehr vor 28. April.
+
+Zook.
+
+PS: Wenn was Dringendes ist, kann man das dann mit mir am Stuttgart-Stati
+besprechen :)
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Muadib, 17. Apr 2003, 15:53:46):
+bis zum 11. mai hab ich urlaub
+abundzu schau ich dann aber doch vorbei
+
+-----------------------------------------------------------------------------
+
+
+
+urlaub (Rikus,  5. Mai 2003, 11:41:51):
+Hi ihr,
+bin bis Sonntag in Flitterwochen :)
+Bis denne, Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend... (Zook, 27. Mai 2003, 12:03:28):
+... bin ich vom 28. Mai bis 3. Juni.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Das WGT... (Ragnaroek,  4. Jun 2003, 11:13:31):
+...dauert vom 5. bis zum 10. Juni. In dieser Zeit bin ich also
+nicht hier :o)
+
+:ragna:
+
+-----------------------------------------------------------------------------
+
+
+
+Auch mal weg (Humni,  4. Jun 2003, 11:22:39):
+Huhu,
+
+ich werde ueber Pfingsten bei Rock am Ring sein, danach die Woche hab ich
+Urlaub und keine Ahnung, ob ich da mal reingucke. Danach bin ich aber wieder
+da.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auch mal weg (Amazora,  4. Jun 2003, 11:58:44):
+~#! rn=Humni rt=1054718559 rg=magier.urlaub
+~#! tid=1054718559
+gruess james headfield von mir ;)
+
+-----------------------------------------------------------------------------
+
+
+
+Da ich derzeit... (Zook,  4. Jun 2003, 18:27:30):
+... dienstlich etwas stark eingespannt bin, werde ich in den kommenden
+Wochen nicht so oft anwesend sein. Ich bin aber ueber Email erreichbar
+und kuemmere mich weiterhin um meine Aufgabengebiete, soll heissen, es 
+sollte nich mehr liegen bleiben als bisher schon... :)
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Juchhe (Ark, 24. Jun 2003, 10:43:58):
+Naechste Woche fuer eine Woche, wohl meist ohne Onlinezeit.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Da ich derzeit... (Zook, 25. Jun 2003, 21:54:49):
+~#! rn=Zook rt=1054744050 rg=magier.urlaub
+~#! tid=1054744050
+Die Einspannung nimmt zu! Soll heissen: Ich weiss nicht, ob und wann ich 
+eingeloggt sein kann.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Vorankuendigung (Humni,  4. Jul 2003, 10:26:55):
+Ist zwar noch was hin, aber ich werde vom 24. bis 27.7. wohl nicht hier
+anzutreffen sein. Danach bin ich ab Dienstag in Brieselang, also kann es sein
+(da ich Montag ne Konferenz hab) dass ich ab 24. gar nicht mehr hier bin, bis
+nach Brieselang.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Paaarty (Vanion,  6. Jul 2003, 19:04:00):
+Rechnet in der Partywoche eher nicht damit, dass ich oft online bin.
+
+Einigen von euch werd ich RL auf die Nerven gehen. Da is ignorieren auch
+schwieriger. :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Paaarty (Zook,  6. Jul 2003, 19:06:47):
+~#! rn=Vanion rt=1057511040 rg=magier.urlaub
+~#! tid=1057511040
+AOL, aber nicht nur wegen Party, bin die Woche auch dienstlich in HH und B.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Rechnerprobleme (Ragnaroek,  6. Jul 2003, 22:02:00):
+Wg. technischer Probleme (Systemplatten-Crash) bin ich derzeit 
+nur gelegentlich kurz hier. Hoffe das Problem ist bald behoben...
+
+:ragna:
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht wirklich Urlaub ... (Elizabeth,  8. Jul 2003, 17:18:30):
+aber doch ein Abwesenheitsgrund ist mein Umzug nach Finnland am 1. August. Ich
+komm wohl nicht zur Party und 
+wie meinte doch jemand 'ich finds unhoeflich wenn man im Buero hoert 'ich fahr
+dann mal innen Urlaub'. Also sag ich
+jetzt schon Bescheid. Wird kein Urlaub, wie schon gesagt, und deshalb werd ich
+Elizabeth hier auch aus dem Spiel nehmen.
+Wer Kontaktmoeglichkeiten bis dahin knuepfen will, soll das tun, ansonsten
+Adios und machts gut,
+war eine schoene Zeit bei euch.
+
+eli.
+
+-----------------------------------------------------------------------------
+
+
+
+Noch ne Ankuendigung... (Humni, 11. Jul 2003, 14:33:11):
+auch kein Urlaub, aber bis Mittwoch, den 16.07. bin ich wohl erstmal nicht
+hier oder wenn dann nur kurz und kann kaum was machen. Ab morgen, den 12.07.
+gilt diese aussage.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Die Toskanafraktion ... (Mandragon, 26. Jul 2003, 22:56:50):
+
+faehrt doch nach Italien.
+
+Ich bin vom 16.8.-23.8. ebenda. Wollte ja erst das freie Bett bei Bruno
+Bruni mieten, aber hab mich dann doch fuer ne Basis am Gardasee entschieden,
+da die Frauen schwimmen wollen ...
+
+Viel Spass daheim :-)
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Uchlaup! (Amaryllis, 11. Aug 2003, 16:48:12):
+Moin,
+
+die Hitzewelle hat demnaechst ein Ende, denn Feechen geht vom 17.08.-07.09. in
+den wohlverdienten Sommerurlaub. Wahrscheinlich werde ich zwischendurch mal
+sporadisch da sein, aber die erste und letzte Woche bin ich definitiv weg.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Zook, 11. Aug 2003, 16:50:26):
+Ich glaube es noch nicht, aber meinem Kalender nach habe ich vom 14. bis 24.
+August Urlaub---so nichts dazwischen kommt. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech (Anthea, 14. Aug 2003, 18:17:42):
+So, bis Anfang September lege ich nun eine "Spielpause" ein, da ich in der
+Toskana keine grossen Versuche machen werde, ein Internetcaffee zu finden.
+
+-----------------------------------------------------------------------------
+
+
+
+Nochma weg... (Zook, 25. Aug 2003, 10:23:43):
+... diesmal dienstlich und zwar vom 26. August bis 31. August 2003.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Spielpause (Mandragon, 28. Aug 2003, 15:45:12):
+
+Da ich offensichtlich zu viel Chatte und zu wenig Diplomarbeit schreibe, habe
+ich mir ab morgen eine zweiwoechige Spielpause verordnet. In dringenden
+Faellen bin ich per ICQ oder im Homemud erreichbar.
+
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Spielpause (Patryn, 28. Aug 2003, 17:52:58):
+~#! rn=Mandragon rt=1062078312 rg=magier.urlaub
+~#! tid=1062078312
+Ich waer echt froh, wenn 2 Wochen irgendwelche Relevanz in meiner
+Diplomarbeitsdauer haetten :)
+
+-----------------------------------------------------------------------------
+
+
+
+Leider kein Urlaub, aber ... (Nyx, 28. Aug 2003, 19:50:41):
+Wegen Umzugs und noch nicht vorhandenem Telefon-Anschlusses
+muss mein armer Computer ca. einen Monat ohne Internet leben.
+Falls er das ueberlebt, bin ich ca. Anfang September wieder
+da.
+
+Liebe Gruesse
+
+La Nyx
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn, 29. Aug 2003, 14:54:31):
+Vom 30.08. - 05.09. bin ich nicht hier. "Vermissen" ist sicher das falsche
+Wort, aber sollte sich jemand wundern dass ich nicht da bin reicht ein "RTFM"
+mit Hinweis auf diesen Artikel. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Gottlose Zeit (Zook, 30. Aug 2003, 00:53:58):
+Auf nicht absehbare Zeit stehe ich dem Mud ausgesprochen unregelmaessig
+zur Verfuegung. Ich bitte insoweit um Verstaendnis und bitte Euch, etwaige
+Anfragen o.ae. an einen anderen EM+ zu richten.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+France (Rikus,  1. Sep 2003, 14:36:26):
+Hi,
+
+bin vom 6.9.-28.9. dort Zelten. Wenn wer bis dahin noch was bzgl. ZTs,
+FPs, EKs will, dann schnell melden. Diese Woche ist bei mir auch so schon
+recht gut gefuellt...
+
+Rikus, urlaubsreif
+
+-----------------------------------------------------------------------------
+
+
+
+Sonne, Meer, ... Juheee (Seleven,  3. Sep 2003, 20:04:08):
+Ich bin vom 6.9. genau eine Woche in Urlaub.
+
+Gruss Seleven
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaubsreif (Ark,  5. Sep 2003, 18:25:29):
+Ich habe keine RL Tanke mehr und nur noch 1 LP und 0 KP. Folgerichtig gebe ich
+heute beruflich "ende" ein und spielpause mich da mal fuer 3 Wochen. Ob ich
+hier dann mal reinschaue, weiss ich noch nicht. Ist gemein, aber wer was noch
+drihingend von mir will, hat nicht mehr viel Zeit heute :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+OT (Amaryllis, 10. Sep 2003, 00:19:26):
+Hi,
+
+kein Urlaub, aber:
+Aufgrund eines seit Wochen sich manifestierenden Problems in meinem Umfeld
+(das ich bisher noch nicht abschaetzen wollte/konnte) muss ich erstmal ein
+bisschen kuerzer treten.
+
+Ich bin nach wie vor regelmaessig online und werde Mails/Kontakte pflegen,
+aber habt bitte Verstaendnis, wenns auch mal was dauern kann. Dies richtet
+sich insbesondere in Richtung der Dunkelelfen.
+
+Ama"man kann sichs nicht immer raussuchen"ryllis.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: OT (Amaryllis, 10. Sep 2003, 00:27:28):
+~#! rn=Amaryllis rt=1063145966 rg=magier.urlaub
+~#! tid=1063145966
+Hi,
+
+selbstreplys sucken, ich weiss.
+
+Um was klarzustellen:
+Ich bin weder weg noch inaktiv noch sonstwas. Ich moechte nur entgegen meiner
+Angewohnheit, Dinge nach Moeglichkeit zeitnah zu beantworten, bekanntgeben,
+dass das auch mal etwas dauern kann.
+
+Ich bin mir dessen bewusst, dass insbesondere die Gilde eine Betreuung braucht
+und werde diese auch weiterhin nach besten Kraeften zeitnah regeln.
+
+Gruss,
+Ama (nicht fott, aber leider noch mehr beschaeftigt...)
+
+-----------------------------------------------------------------------------
+
+
+
+Nur sporadisch da ... (Mandragon, 16. Sep 2003, 15:21:05):
+
+bis naechsten Dienstag, wenn meine DSL-Volumenflat angeklemmt wird.
+Dann wieder wie gehabt und dann werde ich auch mal die grosssse boese
+Todo-Liste abarbeiten, die mir durch Bugs und die Balance verschafft wurde :-)
+
+Ausserdem habe ich im Meer was brodeln gehoert ...
+
+Ma*
+
+-----------------------------------------------------------------------------
+
+
+
+Leider kein Urlaub... (Seleven, 17. Sep 2003, 19:37:10):
+... aber Umzug.
+Deswegen bin ich von Freitag an nur noch sporadisch da, aber per mail zu
+erreichen.
+
+Gruss Seleven
+
+-----------------------------------------------------------------------------
+
+
+
+Tagung (Nonne, 19. Sep 2003, 08:36:12):
+Ich will auch mal was hier reinschreiben:
+
+Ich bin weg, ab heute bis Dienstag, haette gerne Urlaub, ist aber ne Tagung in
+einem X Sterne Schloss mit lauter bekloppten Professoren und eingebildeten
+Urlaubern. Ich hoffe, ich ueberlebe das.
+
+Lasst das Mud stehen
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+auch mal weg... (Magdalena, 19. Sep 2003, 16:36:50):
+Hallo zusammen :)
+Ich bin fuer eine Woche auf Dienstreise in Italien.
+Lasst so lang das MUD bitte stehen. Denn wenn was passiert, koennt ihr nicht
+sagen, ich war's.
+magda*, nimmt gern die schuld auf sich
+
+-----------------------------------------------------------------------------
+
+
+
+weg sein (Troy, 23. Sep 2003, 18:28:33):
+Ich habe Urlaub bis zum 19. Oktober. Vielleicht schaue ich zwischenzeitlich
+mal kurz rein - ist aber eher unwahrscheinlich.
+
+Troy
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Leider kein Urlaub... (Seleven, 28. Sep 2003, 19:48:29):
+~#! rn=Seleven rt=1063820230 rg=magier.urlaub
+~#! tid=1063820230
+Bin fuer eine Woche noch mal erreichbar. Ab Freitag (3.10.? - zu faul zum
+nachschauen :)) liegt mein naechstes Einloggdatum in den rosa Haenden der
+Telekom.
+
+Gruss Seleven
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Twingi,  4. Okt 2003, 20:25:06):
+Vom 17.Oktober bis zum 4.November schipper ich ein bisschen in den warmen
+Gefilden einer fremden Inselwelt herum.
+Lasst mir in der Zwischenzeit die Inseln des Morgengrauen nicht untergehen.
+;-)
+
+Twingi
+
+-----------------------------------------------------------------------------
+
+
+
+Auch kein Urlaub (Humni,  8. Okt 2003, 20:20:04):
+Huhu,
+
+ich werde Ende des Monats umziehen. Bedingt dadurch und durch die Frage, dass
+ich noch nicht sicher weiss, wann ich wieder einen Telefonanschluss habe und
+dadurch, dass ich auch noch eine neue Wohnung suchen muss kann es in naechster
+Zeit zu vermehrten Abwesenheitszeiten von mir kommen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+juichi-gatsu oosaka ni ikimasu. (Vanion, 10. Okt 2003, 23:11:40):
+Wenn nix schief geht, werde ich vom 1. bis zum 15. November nicht das
+MorgenGrauen sondern Osaka und Umgebung (Nara, Kyoto, Wakayama, Himeji - also
+eigentlich ganz Kansai) unsicher machen.
+
+Lasst das Mud stehen :)
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Der Ruf der Sonne... (Anysidora, 11. Okt 2003, 14:52:18):
+...hat mich ereilt. ;)
+
+Demzufolge bin ich vom 31.10. - 15.11.2003 nicht im Mud, sondern treibe mich
+im warmen Kuba herum. :)
+Freut euch also auf gut 2 Wochen MG ohne mich. (Ausser, das Internetkaffee ist
+nicht so teuer, dann schau ich vielleicht doch mal rein ;))
+
+Ansonsten nutzt die Zeit und erholt euch von mir, denn I'll be back oder wie
+man das nennt *g*
+
+Any*
+
+-----------------------------------------------------------------------------
+
+
+
+umzug (Rochus, 14. Okt 2003, 20:00:02):
+So, ich ziehe am 18. von Berlin nach Dortmund, d.h.
+ich werde vom 17. 10. bis voraussichtlich 31. 10.
+nicht hier anzutreffen sein... die Zeit brauche ich zum
+Einrichten, da lohnt es sich nicht nen vollen Monat
+Internetanschluss zu zahlen (muss mal schauen ob Ish auch
+Monatsbruchteile berechnet, dann koennte es frueher werden :)
+
+  Rochus
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub, aber kleine Zugangsprobleme (Seleven, 15. Okt 2003, 09:46:20):
+Ich bin nun umgezogen, komme aber aufgrund technischer schwierigkeiten nicht
+ins Netz. Bzw. wenn, dann nur ueber den unipool. Mails kann ich also abfragen,
+nur schlecht moegliche bugs fixen.
+Seleven ueber telnet.
+
+-----------------------------------------------------------------------------
+
+
+
+... und wech! (Magdalena, 26. Okt 2003, 08:15:12):
+huhu zusammen :)
+naechste woche mittwoch werde ich mit gepacktem koffer richtung sueden
+aufbrechen und gewiss nicht vor dem WE 8./ 9.11. auftauchen.
+bleibt anstaendig (was auch immer ihr euch darunter vorstellt) - ich bin ja
+bald wieder da :)
+tschuessi
+magda*
+fuer euer heil IMMER betend
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ... und wech! (Magdalena, 26. Okt 2003, 08:16:30):
+~#! rn=Magdalena rt=1067152512 rg=magier.urlaub
+~#! tid=1067152512
+oh --- ich vergass:
+Raki jeden Taki!
+und:
+28 Grad :)
+all inclusive
+hae hae
+
+-----------------------------------------------------------------------------
+
+
+
+Mal wieder Urlaub (Grimmborn, 10. Nov 2003, 13:43:19):
+Ich bin von irgendwamm am 13.11. fuer den Rest des Monats in Urlaub. 
+Sollte niemanden hier direkt beeintraechtigen, aber neidisch duerft ihr
+allemal werden. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Weg ... (Seleven, 11. Nov 2003, 17:59:39):
+.... von Die, 18. Nov 2003, bis Mon, 21. Nov 2003 :)
+
+Ich hoffe meine Elfen benehmen sich in der Zeit. :)
+
+Gruss Seleven
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weg ... (Seleven, 11. Nov 2003, 18:00:18):
+~#! rn=Seleven rt=1068569979 rg=magier.urlaub
+~#! tid=1068569979
+24.10 mein ich :)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weg ... (Ark, 13. Nov 2003, 19:31:20):
+~#! rn=Seleven rt=1068570018 rg=magier.urlaub
+~#! tid=1068569979
+Fast ein Jahr? Wo arbeitest Du? Bekommst Du vollen Lohnausgleich? Wieviel
+verdienst Du? Wo bewirbt man sich?
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: juichi-gatsu oosaka ni ikimasu. (Vanion, 17. Nov 2003, 06:55:35):
+~#! rn=Vanion rt=1065820300 rg=magier.urlaub
+~#! tid=1065820300
+Hi,
+
+Ich bin zurueck. Japan ist unglaublich. Ich kann nur jedem empfehlen auch, so
+eine Tour zu machen. Lasst euch aber unbedingt auf die Leute ein. Sie sind
+manchmal etwas komisch, und man muss sich an einige Sachen echt gewoehnen.
+Aber das lohnt sich. (PS: An das Essen musste ich mich nicht gewoehnen, das
+war unglaublich lecker, ich war eigentlich immer vollgefressen. Und trotzdem
+bestaetigte meine Wage heut morgen meine Bestaetigung: 3kg abgenommen, in 2
+Wochen :)
+
+V*, faengt dank Jetlag heut sehr frueh an, die MPA abzuarbeiten.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Weg ... (Seleven, 17. Nov 2003, 14:45:01):
+~#! rn=Ark rt=1068748280 rg=magier.urlaub
+~#! tid=1068569979
+Ups, na ja: bevor ich noch mal falsche Daten poste: Ich bin von Morgen an, bis
+einschliesslich Sonntag nicht hier. :)
+
+Seleven. Student.
+
+-----------------------------------------------------------------------------
+
+
+
+Wech... (Ark, 12. Dez 2003, 14:44:27):
+...bin ich ab heute, so bis Anfang Januar. Kann sein, dass ich mal reinschaue,
+kann aber auch sein nicht. Frohe Weihnachten schonmal und guten Rutsch
+(....erster :-) ).
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachtsurlaub (Feigling, 19. Dez 2003, 21:37:37):
+Endlich mal Urlaub :-) Vom 22.12. bis 5.1. verzieh ich mich
+nach Oesterreich und werde nicht im Morgengrauen sein.
+
+Alle Bugs nehm ich mit, also gibts hier eh nix fuer mich
+zu tun ;-)
+
+Allen schonmal ein schoenes Fest und nen guten Rutsch :-)
+
+Feigling
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weihnachtsurlaub (Amaryllis, 19. Dez 2003, 23:42:28):
+~#! rn=Feigling rt=1071866257 rg=magier.urlaub
+~#! tid=1071866257
+Dito...
+
+Endlich mal paar Tage frei, damit 2004 nicht allzuviel Resturlaub ueber
+bleibt...
+
+Frohes Fest, guten Rutsch, ab spaetestens 07.01. bin ich (mit hoffentlich
+weniger Stress) wieder da :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+weg (Nonne, 22. Dez 2003, 10:34:49):
+Weg fuer ne Woche. Ich denke, ich bin am Samstag wieder da. Lasst das Mud
+stehen.
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+zwangsurlaub (Magdalena, 22. Dez 2003, 20:56:12):
+hallo zusammen :)
+also ich verabschiede mich mal  fuer gut mind. 14 tage. heute morgen hat man
+mich mittels gips ausser gefecht gesetzt und tippen geht nun eigentlich gar
+nicht mehr. 
+bitte kein mitleid oderx
+*args
+oder sowas - auch das wird wieder in ordnung kommen!
+beginnt das jahr besser als ich es beendet habe! (das sollte nicht so schwer
+sein)
+tschuessi!
+)
+magda :)
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend... (Zook, 29. Dez 2003, 10:19:37):
+Ich bin vom 30. Dezember 2003 bis zum 5. Januar 2004 nicht[*] im Mud.
+
+Zook
+
+ [*] Falls doch, dann nur zufaellig und kurz.
+
+-----------------------------------------------------------------------------
+
+
+
+Weg (Ark, 14. Jan 2004, 22:26:20):
+Ab Samstag bis naechsten Freitag. Mal ab nach Orlando, keinen Urlaub machen.
+Lasst mir hier alles stehen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Gruene Ferien (Nibel,  8. Feb 2004, 13:19:45):
+Leider nicht wirklich Urlaub, aber WK bis zum 06.03. Werd uebers WE kurz
+reinschauen, falls was sein sollt.
+  - Nibel
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub... (Zook, 13. Feb 2004, 11:32:04):
+... aber ich werde in den kommenden Wochen weniger im Mud anwesend sein. 
+Insofern bitte ich um Verstaendnis fuer eine langsamere Beantwortung Eurer
+Anliegen... :)
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Uchlaup! (Amaryllis,  5. Mar 2004, 22:19:34):
+Eine Woche.
+
+Ama*, gezwungen, lanxam ihren Restuchlaup aufzubrauchn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Uchlaup! (Zook,  5. Mar 2004, 22:22:47):
+~#! rn=Amaryllis rt=1078521574 rg=magier.urlaub
+~#! tid=1078521574
+GRATS!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub, geplant, viel zu kurz (Zook, 12. Mar 2004, 09:45:56):
+Hi, ich werde von heute bis Mittwoch Abend einige Tage in der schoenen 
+Schweiz zum Zwecke der Erholung verweilen. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Zwei Wochen weg (Nonne, 16. Mar 2004, 12:14:59):
+Bin aus privaten Gruenden ab morgen, 17.03. fuer zwei Wochen nicht hier, also
+nicht meckern, wenn man von der Balance nichts hoert oder sich Sachen
+verzoegern.
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zwei Wochen weg (Nonne,  3. Apr 2004, 22:45:26):
+~#! rn=Nonne rt=1079435699 rg=magier.urlaub
+~#! tid=1079435699
+Leider erweist sich die Krankheit meiner Mutter als etwas langwieriger als
+zuerst angenommen, daher bin ich noch bis Ostermontag nicht hier, da meiner
+Mutter Wohnung weder Rechner noch Internet hat.
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub, sondern... (Maarg,  7. Apr 2004, 09:37:28):
+... Umzug.
+
+Deswegen habe ich noch kein Netz zu Hause und bin bis auf weiteres nur
+sporadisch hier.
+
+Maarg
+
+-----------------------------------------------------------------------------
+
+
+
+URLAUB!!! (Humni, 12. Apr 2004, 01:10:47):
+Ich bin ab morgen mittag bis irgendwann naechstes Wochenede (morgen ist
+uebrigens Montag, 12.4. oder so) unterwegs. Und damit nicht im MorgenGrauen.
+Toetet solange bitte alle Monster oder macht was ihr wollt (hae?).
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Auch Urlaub! (Miril, 12. Apr 2004, 01:14:55):
+s.o.
+Bei dringenden Fragen wendet Euch an Xetolosch, der kann euch sicher helfen.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+1 Woche weg (Rikus, 10. Mai 2004, 15:38:07):
+... wegen Tagung in Montreux.
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheit (Bambi, 19. Jun 2004, 22:12:52):
+Da ich in naechster Zeit ueber keinen privat nutzbaren Internetzugang
+verfuege, bin ich allenfalls sporadisch hier. Falls Bugs auftreten, die mich
+als Nicht-RM betreffen, schickt mir eine Mail. Ich werde mich bei naechster
+Gelegenheit darum kuemmern.
+
+-----------------------------------------------------------------------------
+
+
+
+Diverse Abwesenheiten. (Zook, 22. Jun 2004, 10:39:25):
+Gruende gibt es viele, Abwesenheiten auch, im Ergebnis bin ich von 
+Donnerstag, 24. Juni 2004 bis Montag, 5. Juli 2004 nicht im Mud.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+weck (Amaryllis, 28. Jul 2004, 21:52:00):
+Hi,
+
+auf Wunsch eines nicht naeher genannten Sukchens gebe ich hiermit bekannt,
+dass ich erst Montag naechster Woche wieder hier sein werde.
+
+Interessiert zwar kein Schwein, aber vielleicht bugt solange ja auch nix bei
+den Delfen :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Auch wech ... (Vanion, 28. Jul 2004, 21:55:10):
+Hi,
+
+ich bin zwar erst ab Sa physikalisch weg, aber muss bis dahin noch eine
+Pruefung vorbereiten. Rechnet also bis nach der Party nicht mit meiner
+geistigen Anwesenheit.
+
+Viel Spass beim Mud daemolieren,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auch wech ... (Zook, 28. Jul 2004, 22:34:11):
+~#! rn=Vanion rt=1091044510 rg=magier.urlaub
+~#! tid=1091044510
+Danke, bekommen wir hin!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Auch mal Urlaub... (Humni,  9. Aug 2004, 12:06:35):
+Nach den anstrengendn Halle-Tagen bin ich ab Mittwoch nicht mehr hier, wohl
+fuer voraussichtlich eine Woche. Man rechne mit mir fruehestens ab 18./19.8.
+oder so wieder.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auch mal Urlaub... (Miril, 10. Aug 2004, 22:28:37):
+~#! rn=Humni rt=1092045995 rg=magier.urlaub
+~#! tid=1092045995
+Gleichfalls. Zieht bitte solange keine Stoepsel raus. Wehe da fehlen irgend-
+welche Inseln, wenn ich wiederkomme :).
+
+Ca. in einer Woche bin ich wieder da.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Auch mal Urlaub... (Zook, 10. Aug 2004, 22:29:23):
+~#! rn=Miril rt=1092169717 rg=magier.urlaub
+~#! tid=1092045995
+> Wehe da fehlen irgendwelche Inseln,
+
+Mift!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Auch mal Urlaub... (Morgoth, 10. Aug 2004, 22:29:41):
+~#! rn=Zook rt=1092169763 rg=magier.urlaub
+~#! tid=1092045995
+Hey, das vLand ist keine Insel mehr
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug (Bambi, 11. Aug 2004, 00:28:12):
+Nachdem ich nun wieder einen Internetzugang habe, bin ich auch wieder
+regelmaessig hier. Ich hoffe nur, dass ich meinem Linuxrechner in absehbarer
+Zeit beibringen kann, dass er nun DSL anstatt ISDN nutzen soll.
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend (Zook, 16. Aug 2004, 09:22:40):
+Von Dienstag, 17. August 2004 bis wohl Sonntag, 22. August 2004 bin ich 
+nicht im MorgenGrauen anzutreffen. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+abgetaucht (Muadib, 23. Aug 2004, 09:45:42):
+werde ich sein von 27.08 bis 10.09 dieses monats
+
+-----------------------------------------------------------------------------
+
+
+
+Re: abgetaucht (Muadib, 23. Aug 2004, 09:49:58):
+~#! rn=Muadib rt=1093247142 rg=magier.urlaub
+~#! tid=1093247142
+jaja
+dieses jahres
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech (Morgoth, 27. Aug 2004, 18:46:51):
+Von Sonntag dem 29.8. bis Freitag dem 3.9. bin ich in Rostock und wenn
+ueberhaupt dann hier nur mit einem grossen J anzutreffen :)
+
+M*
+
+-----------------------------------------------------------------------------
+
+
+
+Uchlaup! (Amaryllis, 27. Aug 2004, 19:01:16):
+Tach!
+
+Ich habe bis zum 12.09. Uchlaup und bin deshalb nur unregelmaessig in dieser
+Sendung anwesend :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+weg (Rikus, 31. Aug 2004, 14:18:10):
+ab 5.9. bin ich fuer 3 Wochen weg (Zelten in Italien). Wer bis diesen Freitag
+noch ZTs, FPs... eingetragen, umgetragen usw. habe will, sollte sich schnell
+melden...
+
+Rikus
+
+-----------------------------------------------------------------------------
+
+
+
+Arbeit ... (Vanion, 31. Aug 2004, 22:42:16):
+Hi,
+
+Studium, Arbeit und Urlaub zwingen mich dazu, bis ca zum 21.09. etwas kuerzer
+zu treten. Danach wirds wohl wieder besser werden.
+
+Gruesse,
+V*
+PS: Der Urlaub ist der kuerzeste Zeitraum in der Geschichte :)
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn,  6. Sep 2004, 10:13:08):
+Wenn so viele andere Urlaub machen, will ich nicht abseits stehen: vom 11.9.
+bis ungefaehr 23.9. bin ich nicht hier.
+
+GdA[ex-R] OHdMuBdE  
+
+-----------------------------------------------------------------------------
+
+
+
+Konferenz/Tagung (Zook,  7. Sep 2004, 10:41:25):
+Bedingt durch eine Konferenz/Tagung bin ich bis Freitag nicht im Mud.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+www.donegal.de (Ark, 27. Sep 2004, 10:52:49):
+Ab Donnerstag bis Sonntag mal Kurzurlaub in Irland zwecks Entlassung eines
+Kollegen in die baldige Ehe. Oder Einpferchung. Je nach Betrachtungsweise.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend... (Zook, 27. Sep 2004, 21:27:56):
+... teils dienstlich teil privat.... auf jeden Fall guck ich mir mal die
+NPD-Waehler in Sachsen an.
+
+Zook bis Sonntag in Dresden.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abwesend... (Arathorn, 27. Sep 2004, 21:28:16):
+~#! rn=Zook rt=1096313276 rg=magier.urlaub
+~#! tid=1096313276
+Klingt bisschen nach Zoobesuch... ;-)
+
+-----------------------------------------------------------------------------
+
+
+
+Wech ... (Vanion,  3. Okt 2004, 16:13:50):
+bin ich in der kommenden Woche und werde Koeln unsicher machen. Vermutlich
+wird eher Koeln mich unsicher machen ... aber lassen wir die Details. Wichtig
+ist, ich bin nicht erreichbar.
+
+V*
+PS: Warum heisst diese Rubrik eigentlich nicht magier.dienstreise?
+
+-----------------------------------------------------------------------------
+
+
+
+Down Under (Ark, 15. Okt 2004, 15:38:56):
+Abflug: 02.11.04
+Rueckflug: 01.12.04 Ankunft.
+Online: No Way.
+Offline: Huzzah.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Ueberwiegend internetlos .. (Vanion, 25. Okt 2004, 17:25:07):
+.. bin ich vom 1. bis zum 12. November. Entsprechend selten werde ich zu sehen
+sein.
+
+Gruesse,
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzurlaub (Nibel,  5. Nov 2004, 08:46:06):
+Bin uebers WE in London, lasst mir den schoenen Wald stehn :) 
+  - Nibel
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn, 17. Nov 2004, 10:06:40):
+Fuer alle, die es nicht interessiert, die diese Rubrik aber trotzdem nicht
+abbestellt haben: Ich bin ab etwa Ende dieser Woche bis Nikolaus weg.
+Weitestgehend noch nichtmal auf derselben Erdhalbkugel wie das MG. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Arathorn, 26. Nov 2004, 00:05:29):
+Hi zusammen,
+
+da ich naechste Woche Urlaub habe, koennt Ihr damit rechnen, dass ich auch
+tagsueber mal anwesend bin, nicht nur abends. ]:->
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+ich bin im urlaub (Muadib, 30. Nov 2004, 10:45:01):
+vom 6.12 bis 13.12 einschliesslich
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ich bin im urlaub (Vanion, 30. Nov 2004, 18:19:03):
+~#! rn=Muadib rt=1101807901 rg=magier.urlaub
+~#! tid=1101807901
+dito. aber vom 3.12. bis zum 14.12. mal schaun ob wir uns treffen, wenn wir ja
+beide im urlaub sind.
+
+v*
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachten -> Urlaub <- Sylvester (Ark, 20. Dez 2004, 20:02:45):
+Ein paar Tage Lissabon vom 27.12. bis 30.12. Rein dienstlich, versteht sich.
+Urlaub gehoert ja quasi dazu. Als EM bin ich in Sachen portugiesische MUDs
+unterwegs. Oder auch nicht. Jedenfalls weg.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+weihnachtsurlaub (Feigling, 22. Dez 2004, 21:47:10):
+Hallo,
+
+ich verzieh mich vom 23.12 bis zum 3ten Januar in den
+verdienten Weihnachtsurlaub. Ich wuensch euch allen ein
+schoenes Weihnachtsfest und nen guten Rutsch ins neue
+Jahr (in dem ich hoffentlich wieder mehr Zeit fuers MG hab).
+
+Feigling
+
+-----------------------------------------------------------------------------
+
+
+
+Frohe Weihnachten! (Zook, 23. Dez 2004, 15:49:23):
+Hallo zusammen, ich wuensche allseits frohe Festtage und einen guten
+Rutsch ins neue Jahr. Ich werde fuer die Feiertage wohl kein Internet
+haben.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frohe Weihnachten! (Vanion, 23. Dez 2004, 18:12:24):
+~#! rn=Zook rt=1103813363 rg=magier.urlaub
+~#! tid=1103813363
+dto.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Oooolllleeee (Ark, 19. Jan 2005, 21:47:53):
+24.01. - 27.01. auf Order Mufti. Da muss man natuerlich gehorchen. Aber
+Barcelona hat sicher etwas Kurzweil ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Mischung (Zook, 26. Jan 2005, 22:57:50):
+Eine Mischung aus Urlaub und dienstlichen Abwesenheiten fuehrt dazu, dass ich
+vom 10. bis ca. 25 Februar nur selten online sein werde.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Zook, 14. Mar 2005, 10:49:06):
+Ich werde vom 26. Maerz bis 2. April 2005 in Suedfrankreich im Urlaub
+weilen.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Und wech! (Grimmborn, 14. Mar 2005, 16:53:41):
+Ich bin, auch wenn das niemanden wirklich interessieren wird, ab morgen
+Nachmittag bis Sonntag frueh weg, mehr oder weniger im Urlaub. Jedenfalls
+dorthin, wos knapp 30 Grad hat.
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub.... (Humni, 18. Mar 2005, 20:52:02):
+Huhu,
+
+meinereiner ist ab Osterdienstag bis zum Sonntag danach im Urlaub und wohl
+ohne Internetzugang.
+
+Miril auch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Tiger on the road (Ark, 18. Mar 2005, 21:01:32):
+Vom 06.04. bis 10.04. bin ich auf Mallorca, um ganz entspannt weiter die
+Saisoneroeffnung auf einem anderen Golfplatz zu eroeffnen. Von haemischen
+Bemerkungen bitte ich abzusehen, ich freue mich naemlich schon wie ein kleines
+Kind :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend bis 10.07. (Grimmborn, 21. Jun 2005, 11:42:14):
+Ich bin ab heute Nachmittag nur noch sporadisch da, und ab Freitag dann gar
+nicht mehr. Wer eine Postkarte aus Island haben will: meldet euch bei jemand
+anderem der dorthin faehrt, ich hab nicht vor welche zu schreiben. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub? (Miril, 27. Jun 2005, 15:33:03):
+Vom 30.6. - 2.7.05 bin ich auf Klassenfahrt in dem Ort, der eigentlich nur
+nen Bahnhof hat. Ob das nun hier in der richtigen Rubrik steht, bleibt
+fraglich. Jedenfalls bin ich nicht hier, soweit ich das ueberblicke.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Endlich! (Ark, 12. Aug 2005, 18:47:21):
+Der Zwerg verschwindet vom 06.09. bis 17.09. nach Spanien (Naehe Alicante).
+Wehe, das Wetter schlaegt jetzt dort wieder um :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Letztendlich (Muadib, 12. Aug 2005, 21:45:16):
+verschwinde ich vom 19.08 fuer 2 Wochen nach Xlendi.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Letztendlich (Vanion, 12. Aug 2005, 21:45:34):
+~#! rn=Muadib rt=1123875916 rg=magier.urlaub
+~#! tid=1123875916
+Komischer Zufall.
+
+Ich auch.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Endlich! (Wurzel, 15. Aug 2005, 12:19:16):
+~#! rn=Zook rt=1123888454 rg=magier.urlaub
+~#! tid=1123865241
+ha. zu gleicher zeit mache ich urlaub im schoenen odenwald. egal welches
+wetter ist.
+
+-----------------------------------------------------------------------------
+
+
+
+In der Zone (Miril, 26. Aug 2005, 14:53:45):
+sind Humni und ich bis Sonntag Abend. Wird bestimmt sehr nett und wie ich
+den Hobbit einschaetze sicherlich auch eine grosse Schlemmerei mit viel
+Bier. 
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+UCHLAUP! (Amaryllis,  9. Sep 2005, 19:58:15):
+Ich bin in ein paar Tagen fuer 14 Tage am Mittelmeer (Toskana).
+Interessiert eh keinen, macht aber vielleicht irgendjemand neidisch :)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend (Muadib, 22. Sep 2005, 13:28:07):
+Aus beruflichen Gruenden bin ich bis Ende des Jahres leider unter der Woche
+mit wenig Freizeit gesegnet und kuendige deshalb eine "kleine Abwesenheit" an.
+
+Gruss
+Muadib
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (endlich) (Feigling, 22. Sep 2005, 23:06:30):
+Huhu,
+
+endlich, das erste mal dieses Jahr schaffe ich Urlaub zu nehmen.
+Ich bin deshalb vom 24.9. bis 3.10. mal nicht im Mud.
+Vertreten tun mich alle Magier die genauso gut ideln wie ich ;-)
+
+Feigling (ist gar nicht Feige, nur vorsichtig)
+
+-----------------------------------------------------------------------------
+
+
+
+anti-urlaub (Wurzel,  5. Okt 2005, 17:26:48):
+so. urlaub ist vorbei, und ich habe mir heute mal zeit genommen den alten
+rechner zu reparieren. mit anderen worten: bin wieder da und gelegentlich
+auch ansprechbar.
+
+wurzel
+
+-----------------------------------------------------------------------------
+
+
+
+14 Tage Teneriffa (Bambulko, 12. Okt 2005, 12:32:07):
+Morgen frueh geht es fuer 14 Tage nach Teneriffa.
+
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 14 Tage Teneriffa (Zook, 12. Okt 2005, 12:39:13):
+~#! rn=Bambulko rt=1129113127 rg=magier.urlaub
+~#! tid=1129113127
+grats
+
+-----------------------------------------------------------------------------
+
+
+
+12.11 - 19.11 (Seleven, 11. Nov 2005, 16:45:31):
+Huhu. Ich bin naechste Woche nicht da.
+
+-----------------------------------------------------------------------------
+
+
+
+27.12.-3.1. (Miril, 27. Dez 2005, 11:04:17):
+Sofern wir gleich hier wegkommen, sind Humni und ich eine Woche in Urlaub.
+Rutscht alle gut (ins neue Jahr, nicht die Strasse entlang) und feiert 
+schoen. Werden wir sicher.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 27.12.-3.1. (Mupfel, 29. Dez 2005, 20:43:50):
+~#! rn=Miril rt=1135677857 rg=magier.urlaub
+~#! tid=1135677857
+Ich kann bestaetigen, dass Miril und Humni im Urlaub sicher angekommen sind :)
+
+-mupfel-
+
+-----------------------------------------------------------------------------
+
+
+
+Wech im Norden (Ark, 30. Dez 2005, 00:24:40):
+Vom 30.12. (hups, schon heut) bis 02. oder 03.01. Lasst mir alles stehen und
+rutscht gut rueber ins neue Jahr ... und nicht auf den Strassen ;^)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Eine Woche Aspen (Bambulko,  3. Feb 2006, 17:45:11):
+So, morgen geht es fuer eine Woche nach Aspen. Leider nur zu einer Konferenz
+und nicht als Urlaub. Dafuer muss ich nichts bezahlen :-)
+
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Fee wird weggeknipst (Amaryllis, 11. Feb 2006, 19:37:43):
+Hi,
+
+ich muss Montag, 13.02., fuer grob geschaetzt 1 Woche bis 10 Tage zur OP ins
+Krankenhaus. Falls nichts dazwischenkommt, sehe ich Euch hoffentlich bald
+wieder.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Klassenfahrt (Miril,  6. Mar 2006, 00:18:10):
+vom 6.3.-9.3. bin ich in Berlin. Lasst die Inseln heil :)
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Gloinson die Piste runterschubse (Gloinson, 17. Mar 2006, 10:28:24):
+~#! rn=Mesirii rt=1142587610 rg=seher.urlaub
+~#! tid=1142587610
+... und dabei Mesirii mitreissend mitreissen. Ebenfalss nur eine Woche.
+
+Stammtisch im Zillertal nach Bedarf, einfach durchSMSen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend  (Zook, 29. Mar 2006, 12:17:14):
+Ich bin vom 3. bis 16. April nahezu dauerhaft nicht online; schaue ggf.
+mal sporadisch herein.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Abwsend (Muadib, 29. Mar 2006, 12:49:45):
+ich bin ab donnerstag mittag ohne privaten internetzugang
+die ansprechbarkeit kann daher etwas leiden
+
+-----------------------------------------------------------------------------
+
+
+
+Weg bis Sonntag (Humni, 17. Apr 2006, 16:56:29):
+Huhu,
+
+Miril und meinereiner sind ab morgen (Dienstag, 18.4.) bis Sonntag (23.4.)
+internetlos im Wendland. Darum dann auch nicht hier. Also, in der Zeit wird
+nicht viel abgewertet, abgelehnt oder abgehaengt. Schade eigentlich.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+.. waere schoen (Seleven, 29. Mai 2006, 17:36:25):
+Mindestens eine Woche ohne Internezugang.
+Seleven.
+
+-----------------------------------------------------------------------------
+
+
+
+Ma uffscheppe... (Zook, 31. Mai 2006, 13:13:10):
+Vom Sonntag, 11. Juni bis Samstag 17. Juni wird meine Expertenmeinung 
+in Kiev benoetigt. 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Schoen waers ... (Vanion,  3. Jun 2006, 00:23:43):
+Ich bin seit Donnerstag im neuen Job und dadurch relativ viel in der Republik
+unterwegs. Ob ich immer gut erreichbar sein werde weiss nur die fuer
+UMTS-Empfang zustaendige Gottheit.
+
+V*
+
+PS: Bis September bin ich erstmal in Mannheim. Vielleicht ergibt sich ja was.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Schoen waers ... (Ark,  3. Jun 2006, 00:55:29):
+~#! rn=Vanion rt=1149287023 rg=magier.urlaub
+~#! tid=1149287023
+Ein Sohn Mannheims ... suess :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Schoen waers ... (Vanion,  3. Jun 2006, 00:57:07):
+~#! rn=Ark rt=1149288929 rg=magier.urlaub
+~#! tid=1149287023
+Brrr.
+
+Warum gibts eigentlich fuer sowas keine Flamewar-Rubrik?
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Frankreich ruft! (Humni,  5. Jun 2006, 16:10:00):
+Ja, es ruft mich. Und darum bin ich ab morgen (Dienstag, 6.6.) bis Sonntag
+(11.6.) abends irgendwann hier nicht zu erreichen. Es sei denn, ich finde
+einen netten Internetanschluss oder sowas, was ich aber derzeit bezweifle.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Schoen waers ... (Boing,  6. Jun 2006, 10:28:12):
+~#! rn=Vanion rt=1149287023 rg=magier.urlaub
+~#! tid=1149287023
+Mannheim ist ja ziemlich nah an Karlsruhe. Du weisst ja bestimmt dass
+es in Karlsruhe jeden Donnerstag den Mud-Stammtisch gibt. :)
+  Boing
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Schoen waers ... (Vanion, 12. Jun 2006, 14:35:37):
+~#! rn=Boing rt=1149582492 rg=magier.urlaub
+~#! tid=1149287023
+Ja, ich erinner mich :)
+
+Mal gucken, wann es zeitlich passt.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Bruessel (Amaryllis, 26. Jun 2006, 12:04:10):
+Hi,
+
+ich bin bis zum 30.06. geschaeftlich in Bruessel und daher erst danach wieder
+erreichbar.
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Endlich Urlaub! (Grimmborn, 26. Jun 2006, 15:31:27):
+Von Samstag an bin ich rund 10 Tage nicht da. Freudenspruenge sind
+unangebracht, meine Informanten werden mich anschliessend detailliert ins Bild
+setzen. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Oeh... Segeln.. (Humni,  3. Jul 2006, 20:23:52):
+
+Miril und ich sind ab morgen (4.7.) eine Woche (bis 11.7.) nicht da.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Kein urlaub... (Humni, 15. Sep 2006, 14:45:51):
+... aber Klassenfahrt....
+
+Ich bin naechste Woche unter der Woche nicht da. Am Wochenende komme ich
+wieder. Also: Kein Humni vom 18.-22.9., es sei denn ich sehe ein Internetcafe.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kein urlaub... (Ark, 15. Sep 2006, 14:54:35):
+~#! rn=Humni rt=1158324351 rg=magier.urlaub
+~#! tid=1158324351
+Sturmfreie Bude :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Kein urlaub... (Humni, 15. Sep 2006, 14:58:57):
+~#! rn=Ark rt=1158324875 rg=magier.urlaub
+~#! tid=1158324351
+Ich such schonmal die Wuppertaler Internetcafes raus...
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Kein urlaub... (Ark, 15. Sep 2006, 15:07:04):
+~#! rn=Humni rt=1158325137 rg=magier.urlaub
+~#! tid=1158324351
+Mift. Karatekageheimaufwertaktion verschieben. Humni eine Klage wegen
+mangelnder Aufsichtspflicht anhaengen. Macht erlangen. Die Weltherrschaft an
+mich reissen. Neue Tabletten besorgen. Schlafen.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Muadib, 20. Sep 2006, 14:44:47):
+bin bis 20.10 weg
+
+-----------------------------------------------------------------------------
+
+
+
+Weg vom 25.9 - 16.10 (Bambulko, 22. Sep 2006, 17:00:42):
+So, bin von Montag bis Mittwoch in Polen bei einer Konferenz und dann von
+Donnerstag bis zum 13.10 im Urlaub.
+
+Bambulko
+
+-----------------------------------------------------------------------------
+
+
+
+Silvesterurlaub (Zesstra, 18. Dez 2006, 22:21:56):
+Huhu,
+
+ich werde in Kuerze auch einige Zeit nicht da sein. Das betrifft erstmal
+Weihnachten (tja, die Familie ruft), d.h. 24., 25. und teilweise den 26.12.
+
+Und ab 27.12. bin ich eine Woche bis zum 3.1. im Silvesterurlaub. :-)
+Netzzugang in der Zeit ist eher unwahrscheinlich, denk ich.
+Waer schoen, wenn ihr das Mud in der Zeit nicht crasht, ich waer beim
+naechsten Reboot gerne dabei (abgesehen davon, dass mir das jetzt noch zu
+frueh ist. *g*). ;-))
+
+Viele Gruesse,
+Zesstra
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Silvesterurlaub (Humni, 27. Dez 2006, 10:05:56):
+~#! rn=Zesstra rt=1166476916 rg=magier.urlaub
+~#! tid=1166476916
+Komisch, ich bin auch bis zum 3.1. nicht da. Also: Kein Spieler fressender
+Drache bis zum 3.1.
+
+Humni
+PS: Ab gleich. Genau.
+
+-----------------------------------------------------------------------------
+
+
+
+Wichtige Geschaeftsreisen ... (Ark,  8. Mar 2007, 21:13:27):
+... fuehren mich vom 04.04. bis 22.04. nach Chiang Mai, Sukhotai, Ko Tao, Ko
+Samui und Bangkok. Strategische Abschluesse sind zu erwarten. Im MG vertreten
+mich souveraen Herr Zook, Herr Rikus, Dr. Zesstra, und der Rest des
+Managements. Bitte sehen sie in dieser Zeit von irrelevanten Rueckfragen ab.
+In 90% aller Faelle handelt es sich um ein Feature. Repfiles werden nicht
+abgearbeitet. Am 23.04. bin ich vielleicht wieder fuer Sie da ... oder auch
+nicht.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Italienische Felsen... (Zook, 30. Mar 2007, 09:29:45):
+... werden von mir vom 1. bis 8. April in Finale nieder gekaempft. Z
+
+-----------------------------------------------------------------------------
+
+
+
+Irgendwo weit draussen im Wendland... (Humni,  8. Apr 2007, 18:07:38):
+... werde ich weilen. Und zwar ab Dienstag, den 10.4. bis Sonntag den 15.4.
+oder so.
+
+Und Miril auch.
+
+Also sind wir beide nicht vor Ort. In der Zeit werden also keine neuen Gilden
+angeschlossen. Haha.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Amaryllis, 27. Apr 2007, 21:24:21):
+Hi,
+
+ja, Urlaub. Muss auch mal sein. Insbesondere, wenns noch Resturlaub von 2006
+ist und ich seit >1,5 Jahren keinen Urlaub mehr hatte.
+
+Ich feiere also Resturlaub ab und bin deshalb vom 05.05.2007-29.05.2007 nicht
+verfuegbar (kann sein, dass ich in der Phase zwischen meinen 2 Wochen
+Teneriffa und einer Woche Muenchen mal nen Tag reinschaue).
+
+Lasst das Mud stehen, ich werde fuer Notfaelle nen Kollegen briefen.
+
+Ama*, urlaubsreif.
+
+-----------------------------------------------------------------------------
+
+
+
+13.6-28.6 in Portugal (Bambulko, 13. Jun 2007, 01:14:24):
+siehe Titel...
+
+-----------------------------------------------------------------------------
+
+
+
+Internet kaputt! (Humni, 14. Jun 2007, 16:47:03):
+Hallo!
+
+Bei mir zuhause ist das Internet kaputt - genauer gesagt, das Modem. Darum bni
+ich derzeit nur sporadisch hier zu erreichen. Da ich bald umziehe und dort
+einen fertigen ANschluss vorfinden werde werde ich mir auch kein neues solches
+mehr kaufen.
+
+Nur, dass Ihr Euch nicht wundert.
+
+Ein boeser, schrecklicher Drache, der Euch eh nur gefressen haette.
+
+-----------------------------------------------------------------------------
+
+
+
+Sommerparty: 21.7. - 29.7. (Zesstra, 19. Jul 2007, 22:07:55):
+Huhu,
+
+ich werde ab Sa zur MG-Sommerparty entschwinden und daher nicht im Mud weilen.
+Ich wuensch allen, die nicht kommen (*sniff*) viel Spass in der Zeit und ein
+stabiles Mud. (waere gut, es in der Zeit nicht zu crashen. *g*)
+Sollte irgendwas wirklich dringendes meine Anwesenheit erfordert, haben
+sicherlich einige Leute meine Mobiltelefonnr (oder die eines anderen auf der
+Party) ich wuerde dann in dem Fall sehen, was ich tun kann, aber ich hoff,
+dergleichen ist nicht noetig. ;-)
+
+Viele Gruessem
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sommerparty: 21.7. - 29.7. (Amaryllis, 19. Jul 2007, 22:10:36):
+~#! rn=Zesstra rt=1184875675 rg=magier.urlaub
+~#! tid=1184875675
+Ich kann wegen Bereitschaft eh nicht, insofern bin ich eh 24/7 verfuegbar :(
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Bin dann mal weg... (Shakedbeer,  1. Aug 2007, 18:51:56):
+...auch wenn ich schon lang nicht mehr da war. :o) Naja. Vielleicht bin ich
+nach 3 Wochen Urlaub mal wieder oefter hier.
+
+Datt Schuettelbier
+
+-----------------------------------------------------------------------------
+
+
+
+Offline (Zook,  1. Aug 2007, 18:57:17):
+Ich bin in den ersten zwei September-Wochen voraussichtlich
+offline. Z
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn, 16. Aug 2007, 17:37:33):
+Von morgen bis Ende des Monats bin ich nicht nur abwesend sondern tatsaechlich
+in Urlaub. Macht was draus!
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend... (Zesstra, 26. Aug 2007, 11:32:24):
+Leider kein Urlaub, aber ich bin die kommende Woche von 28.-1.9. ohne
+Netzzugang unterwegs und vermutlich auch morgen schon nicht oder kaum da.
+
+Bis denne und habt Spass ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+16.09 - 07.10 (Seleven, 15. Sep 2007, 20:10:33):
+Da bin icke mal RL auf d.inseln unterwegs.
+Seleven
+
+-----------------------------------------------------------------------------
+
+
+
+Klassenfahrt (Humni, 16. Sep 2007, 20:36:35):
+huhu.
+
+Urlaub ists wahrlich nicht. Aber vom 17-22.9. bin ich nicht da.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Weg (Humni,  2. Okt 2007, 00:52:35):
+Und nochmal bin ich weg. Vom 3.-7.9. Komische Dinge tun, ihr wollt nicht
+wissen, was.
+
+Miril nehm ich mit, die ist dann auch nicht da. Aetsch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weg (Humni,  2. Okt 2007, 01:01:18):
+~#! rn=Humni rt=1191279155 rg=magier.urlaub
+~#! tid=1191279155
+Ich ersetze 9 durch 10 (also September durch Oktober). Und nein... die Dinge,
+die wir tun, sind zwar komisch. Aber auf was fuer ideen ihr alle kommt, bloss
+weil man fuer ein paar Tage wegfaehrt... tss.....
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Ich hab Urlaub und ihr nicht... (Ark,  1. Nov 2007, 14:01:19):
+Nelson wuerde sagen HAHA ... ich jedenfalls bin vom 08.11. bis 11.11. mal kurz
+in Florenz ... muss da mal was nachforschen ... oder so. Hurra!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Whisky-Tour (Zook,  5. Nov 2007, 10:21:15):
+Vom 5. bis 11. November bin ich in Schottland. 
+
+Zook.
+.,
+
+-----------------------------------------------------------------------------
+
+
+
+Paar Tage weg (Grimmborn, 23. Nov 2007, 15:23:43):
+~#! on=Amaryllis ot=1195827580 og=bekanntmachungen
+s.o.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Paar Tage weg (Grimmborn, 23. Nov 2007, 15:25:05):
+~#! rn=Grimmborn rt=1195827823 rg=magier.urlaub
+~#! tid=1195827823
+Aufgrund von Rechteproblemen konnte ich den urspruenglichen Artikel leidern
+icht loeschen. Aber Abwesenheit von Magiern gehoert tatsaechlich hier hin...
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Vorankuendigung: Zook im Januar (Zook, 27. Nov 2007, 17:01:13):
+Hallo zusammen, im Januar werde ich wenig bis gar nicht online sein
+koennen und mich auch um wenige Dinge kuemmern koennen. Die Vertretung
+fuer etwaige Themen uebernehmen meine Miterzmagier. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Mal weg ;) (Amaryllis, 10. Dez 2007, 19:48:54):
+Hi,
+
+vom 15.12.-29.12. flattere ich nach Teneriffa und bin deshalb
+internet-technisch nicht erreichbar. Nein, ich lese auch kein Webmail, das
+muss mal sein.
+
+Endlich mal diesem kommerziellen seichten obernervigen Weihnachtsgedudel
+entkommen...
+
+Lasst das Mud stehen, die Serververtretung ist auch sporadisch weg.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheit (Grimmborn, 10. Dez 2007, 23:24:10):
+Nicht Teneriffa, aber grob die Richtung (ok, ich gebs zu, ich koennte auf
+einer unbeschrifteten Weltkarte Teneriffa nicht lokalisieren). Vom 11.12.
+abends bis ungefaehr 18.12. morgens bin ich wohl mit eher ohne
+Internetanschluss weg. 
+Nicht dass das wen interessiert, aber diese Rubrik gibts ja nunmal.
+
+GdA[ex-R] OHdMuBdE  
+
+-----------------------------------------------------------------------------
+
+
+
+Weihnachts-Xidle... (Zesstra, 17. Dez 2007, 01:14:30):
+Huhu,
+
+wieder mal solls leider nicht sein, dass ich ueber Weihnachten im Mud bin,
+meine Familie moechte mich sehen. Nur zu schade, dass es dort keinen
+Netzzugang gibt, wuerde ja schon gerne zwischendurch vorbeischauen...
+D.h. ich bin vom 23.12 bis zum 26.12 nicht hier im Mud anzutreffen.
+Ich wuensche euch dann jetzt schonmal angenehme Feiertage, wie auch immer ihr
+sie verbringt. ;-)
+
+Viele Gruesse,
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Eingeschraenkte Verfuegbarkeit bis Maerz (Zesstra,  9. Jan 2008, 22:00:24):
+Huhu,
+
+nein, leider kann ich keinen Urlaub machen, im Gegenteil. 
+Allerdings werde ich die naechsten Wochen (bis Maerz) nicht so verfuegbar sein
+wie bisher, da ich dabei bin, meine Dissertation zuende zu bringen. Ich werde
+abends hoffentlich recht regelmaessig anwesend und ansprechbar sein, aber
+ansonsten eher nicht.
+Bastelarbeiten und Bugfixes meinerseits werden sich auch auf kleinere Sachen
+beschraenken, sofern ich das nicht bereits fertig in der Schublade hab.
+Wenn ihr nen Problem hat, bei dem euch auch ein anderer (Erz)Magier behilflich
+sein kann, faend ichs toll, wenn ihr die zuerst ansprecht, falls nicht, koennt
+ihr natuerlich auf mich zurueckkommen (ggf. per Mail). ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Pruefungsvorbereitung (Esme, 20. Jan 2008, 18:58:01):
+Hallo,
+Da ich mich bis 19. Februar auf eine Pruefung vorbereiten muss, bin ich
+bis dahin gar nicht bis selten da. Arathorn hat sich bereiterklaert
+mich in Notfaellen zu vertreten, wenn es also Probleme gibt, die 
+wirklich nicht warten koennen, wendet Euch bitte bis dahin an ihn.
+
+Viele Gruesse,
+Esme
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug (Rumata,  4. Feb 2008, 23:03:46):
+...ist kein Urlaub
+
+vom 14.2 bis zum 20.2 werde ich deshalb schwer zu erreichen sein.
+Wenn die DSL Bereitstellung wie beim letzten umzug nicht 5 Jahre
+dauert, sollte es bei dieser Pause bleiben :-)
+
+Rum**
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheit bis Maerz (Zesstra, 13. Feb 2008, 22:23:12):
+Huhu,
+
+da sich mein Dissertations-Stress stetig erhoeht und ich daher momentan
+keinerlei Zeit fuer Reboot-Basteleien am Mud eruebrigen kann, verabschiede ich
+mich bis zum Maerz.
+Es tut mir leid, dass das ausgerechnet jetzt sein muss, aber ich kann es mir
+momentan in keinster Weise leisten, mich ablenken zu lassen, auch wenn das
+bedeutet, dass die restliche Magierschaft alleine mit den Reboot-Wehwehchen
+auskommen muss. Ich hoff, dass da nicht besonders viele Probleme auftauchen.
+Leider bedeutet es aber auch, dass ich eine Reihe von Mudlib-Aenderungen nicht
+mehr zum Reboot aktivieren/einspielen kann und wir da wohl weiterhin laengere
+Zeit drauf verzichten muessen. Tut mir leid.
+
+Viele Gruesse,
+Zesstra
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Nichturlaub (Grimmborn, 15. Feb 2008, 09:05:05):
+Auch wenns kein Urlaub ist: vom 22.2. bis 6.3. bin ich zeitlich so weit
+verschoben dass das fast sowas wie Abwesenheit ist. 
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+Fast wieder da (Esme, 22. Feb 2008, 11:37:57):
+Ich bin im Wesentlichen wieder da, und ab ende naechster Woche
+stehe ich dann vollstaendig zur Verfuegung. Also Wuensche,
+Beschwerden, etc bzgl. Vland wieder an mich.
+Gruss, Esme
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Abwesenheit bis Maerz (Arathorn, 26. Feb 2008, 20:54:32):
+~#! rn=Zesstra rt=1202937792 rg=magier.urlaub
+~#! tid=1202937792
+Ich wurde gerade von Zesstra darauf hingewiesen, dass der Abgabetermin fuer
+die Arbeit auf den 7.3. verschoben wurde/werden musste, und sich daher die
+Abwesenheit hier im MG ebenfalls bis dahin verlaengern wird. Nur zur Info
+fuer Euch.
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Abwesenheit bis Maerz (Gloinson, 26. Feb 2008, 21:22:13):
+~#! rn=Arathorn rt=1204055672 rg=magier.urlaub
+~#! tid=1202937792
+Prima. Bis dahin und mehr (9. Maerz) bin ich mindestens auch ab Samstag
+offline, Ich muss dringend Ried (A-6272) und die Gegend inspizieren.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Humni, 14. Mar 2008, 22:46:14):
+Huhu,
+
+meinereiner (und auch Miril) werden ab Sonntag, dem 16.3. bis Mittwoch, den
+26.3., in Urlaub und damit aller drachenweitsichtigen Voraussicht nach, nicht
+im Mud sein.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht so richtig da... (Zook, 15. Apr 2008, 09:35:54):
+Hallo zusammen, derzeit fehlen mir so die rechten
+Moeglichkeiten, oefter im MorgenGrauen anwesend zu
+sein. Ich bin allerdings per E-Mail gut erreichbar
+und dringende Sachen werden auch von mir bearbeitet.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Paging  Mr. Ark (Ark, 16. Apr 2008, 23:42:36):
+Ja, ich komme schon ... ab 29.04. bis einschliesslich 10.05. muss ich ... aeh
+... fuer dringende Geschaefte ... erm ... hmmm ... also kurz und gut, ich bin
+wech. Trinken, rumfahren, Schottland begutachten. Vielleicht nicht in dieser
+Reihenfolge. Aber auf alle Faelle. Bugs gibts dort hoffentlich nicht :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Immer noch kein Urlaub... (Zesstra, 20. Apr 2008, 22:48:06):
+Tach,
+
+ich bin die kommende Woche vermutlich nicht da. Oder wenn, dann nur kurz
+reingucken. Ich werde aber keine Zeit haben, mich um irgendwas zu kuemmern.
+(Gut, das war die letzten 2 Wochen nicht soo viel anders...)
+Ich hoffe, dass ich dann im Mai wieder mehr da bin.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Nur halb da (Chagall, 23. Apr 2008, 21:21:10):
+Ich habe momentan sehr viel RL-Kram zu erledigen, so dass ich in den naechsten
+Tagen/Wochen leider nicht so viel Zeit dem Mud widmen kann, wie ich gerne
+moechte. Dringende Sachen (Bugs etc.) also bitte per Mail schicken.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+6.5 - 21.5 Oesterreich (Bambulko,  2. Mai 2008, 16:49:47):
+siehe Titel
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht online: 4. bis 20. Juli 2008 (Zook, 24. Jun 2008, 11:37:44):
+Bin wohl in der Zeit vom 4. bis 20. Juli 2008 eher nicht online. Z
+
+-----------------------------------------------------------------------------
+
+
+
+Endlich Urlaub... (Zesstra, 15. Jul 2008, 21:12:32):
+Huhu,
+
+endlich ist es soweit: ich habe Urlaub. Vom 21. bis zum 3.8. werde ich in
+Norddeutschland zelten gehen. Da das bedeutet, ohne Verbindung ins Netz
+auszukommen, werde ich dementsprechend nicht anwesend und auch nur schlecht zu
+erreichen sein.
+Ich hoffe mal auf halbwegs Wetter und auf ein nettes Wacken Open Air am Ende
+der 2 Wochen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzurlaub (Amaryllis, 22. Jul 2008, 21:04:14):
+vom 24.07. bis einschliesslich 27.07.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal Urlaub (Humni, 30. Jul 2008, 15:40:51):
+Miril und ich sind nochmal im Urlaub. Bis Sonntag, 3.8.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Kurzweg (Ark, 10. Aug 2008, 21:18:27):
+12.08. - 21.08.
+I'LL BE BACK!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Amaryllis, 27. Aug 2008, 15:38:07):
+Hi,
+
+vom 31.08. bis zum 14.09. bin ich im wohlverdienten Jahresurlaub und hier
+deshalb nicht zugegen.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Chagall, 27. Aug 2008, 20:39:32):
+Bin vom 12.09 bis 22.09 im Italienurlaub und dort ohne Internetzugang.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Frankreisch (Humni, 10. Sep 2008, 20:06:34):
+Leider nur dienstlich, aber ich bin vom 15.9. bis 24.9. nicht da. Vielleicht
+krieg ich da ja was programmiert, was ihr umhauen koennt, wenn ich
+wiederkomme. Oder auch nicht. Versprechen tu ich nix.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frankreisch (Alkohol, 10. Sep 2008, 20:18:06):
+~#! rn=Humni rt=1221069994 rg=magier.urlaub
+~#! tid=1221069994
+du hast zeit, auf dienstreisen zu programmieren?
+
+Alki
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Frankreisch (Zesstra, 10. Sep 2008, 20:19:00):
+~#! rn=Alkohol rt=1221070686 rg=magier.urlaub
+~#! tid=1221069994
+Mhmm, arbeitest Du auf Dienstreisen >18h am Tag?
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Frankreisch (Alkohol, 10. Sep 2008, 20:21:23):
+~#! rn=Zesstra rt=1221070740 rg=magier.urlaub
+~#! tid=1221069994
+schlaefst du da nicht?
+
+Alki
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Frankreisch (Zesstra, 10. Sep 2008, 20:25:59):
+~#! rn=Alkohol rt=1221070883 rg=magier.urlaub
+~#! tid=1221069994
+Naja, 6h-8h reichen doch zum Schlafen. IMHO bleibt auch auf Dienstreisen noch
+etwas Freizeit ueber, auch wenns mal Ausnahmen gibt. Ob man die nun in der
+Hotelbar verbringt oder programmiert... ;-) naja, bei Humni als Lehrer ists
+leicht anders, aber ich denke nicht, dass er rund um die Uhr nur Schueler
+betreut und schlaeft.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^5: Frankreisch (Gloinson, 11. Sep 2008, 01:27:36):
+~#! rn=Zesstra rt=1221071159 rg=magier.urlaub
+~#! tid=1221069994
+Filettier la Franze!
+
+Das ist ja clever. Jour du Patrimoine, effektiv Tag des offenen Denkmals ist
+naemlich am 20.9./21.9. Und zumindest in Paris lohnt sich das wirklich. Ob sie
+anderswo auch so tolle Denkmaeler aufmachen ... bestimmt.
+
+
+-----------------------------------------------------------------------------
+
+
+
+weg (Amaryllis, 19. Sep 2008, 21:48:59):
+Hi,
+
+ich bin beruflich die ganze naechste Woche (21.09.-26.09.) unterwegs und darum
+- wenn ueberhaupt - nur sporadisch anwesend.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Ihr seid nicht allein ... :-) (Zook, 31. Okt 2008, 12:45:01):
+RL-bedingt bin ich die kommenden Wochen sehr wenig online. In allen
+Dingen vertritt mich Rumata. Mach Euch auf pflanzliche Vollwillkuer
+gefasst! ;) 
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Grimmborn,  4. Nov 2008, 21:19:26):
+Tatsaechlich echten Urlaub habe ich, und zwar ab morgen bis zum 17.11. Und
+werde eher kaum hier sein. Lasst mir das MG stehen und so!
+
+Grimmborn der Atheist
+
+-----------------------------------------------------------------------------
+
+
+
+2 Wochen weg (Ark,  2. Dez 2008, 22:00:40):
+19.12. - 03.01. ... bevor ich es vergesse.
+Cochin, Kerala, India.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Laengere Abwesenheit (Esme, 14. Dez 2008, 15:49:15):
+Da das RL mich momentan zu sehr beansprucht, werde ich bis 
+vorraussichtlich Ende Februar im Wesentlichen abwesend sein.
+Ark hat sich bereiterklaert mich zu vertreten, sobald er wieder 
+da ist.
+
+Vielen Dank,
+Esme
+
+-----------------------------------------------------------------------------
+
+
+
+Langes WE (Amaryllis, 29. Dez 2008, 23:09:20):
+Hi,
+
+31.12. - 04.01.2009 (vermutlich) abwesend.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub mehr (Gloinson, 18. Jan 2009, 18:55:04):
+Schade eigentlich. 4 Wochen Urlaub in 6 Wochen waren schon toll ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend (Amaryllis,  4. Feb 2009, 22:45:50):
+Hi,
+
+ich brauche aus persoenlichen Gruenden etwas Abstand und werde darum  -
+vermutlich bis mind. Ende des Monats - abwesend sein.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Osterferien ... (Humni, 25. Mar 2009, 19:11:27):
+... und Humni und Miril werden vom 4.4. oder so bis zum 16.4. oder so nicht da
+sein ....
+
+Lasst das Mud stehen!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub... (Chagall,  6. Apr 2009, 18:08:14):
+...aber ich bin vom 20-25.04 (wenn nix mehr dazwischenkommt) zwecks
+Wohnungssuche und Besichtigungen in Berlin.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend (Zook,  7. Apr 2009, 15:13:43):
+Ca. von 9. April bis 19. April 2009. Z
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Kein Urlaub... (Chagall,  8. Apr 2009, 17:20:51):
+~#! rn=Chagall rt=1239034094 rg=magier.urlaub
+~#! tid=1239034094
+Bin nun doch schon vom 19.04-25.04. abwesend.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub bis 24.4. (Gloinson, 17. Apr 2009, 01:03:32):
+Franzoesisch, Arabisch, gelber Sand. Vielleicht faellt mir ja was fuer
+Djelibeby ein ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Umzug (Chagall, 26. Mai 2009, 19:01:18):
+In der Woche vom 08.06 - 12.06 ziehe ich um, bin also ab da nur sporadisch zu
+erreichen. Die beiden drauffolgenden Wochen muss ich von der neuen Wohnung
+noch zum alten Arbeitsplatz pendeln und werde deswegen wohl auch nicht allzu
+lang anwesend sein.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Ergebnisvermarktung... (Zesstra,  6. Jun 2009, 17:41:45):
+Moin,
+
+ich bin vom 7.6. bis zum 11.6. fuer meinen Arbeitgeber unterwegs und daher
+nicht im Mud anzutreffen.
+Bei akuten Problemen betet einfach Zook an. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Auch mal Urlaub (Humni, 30. Jun 2009, 18:09:01):
+Meinereiner (und Miril) werden etwa vom 3. bis 13.7. nicht hier sein. Seid
+nett zueinander und haut nur die Monster.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Sommerurlaub... 17.7. - 3.8. (Zesstra,  8. Jul 2009, 23:09:04):
+Huhu allerseits,
+
+Juchu, ich habe bald Urlaub. :-)
+Und zwar werde ich vom 17.7. bis zum 3.8. unterwegs sein und unterwegs wenig
+oder keine Gelegenheit zum Einloggen haben.
+Achja, wuenscht mir gutes Wetter zum Zelten in den 2,5 Wochen. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Sommerurlaub (Amaryllis, 22. Jul 2009, 22:07:31):
+Hi,
+
+vom 25.07.2009-08.08.2009 befinde ich mich im wohlverdienten Sommerurlaub an
+Kretas Straenden ;)
+Lasst das Mud stehen ;)
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Mit Verlaub ... mein Urlaub ... (Ark,  4. Aug 2009, 02:39:51):
+Vom 08.08. bis einschliesslich 15.08. ist die Tankstelle Ark aufgrund von
+Urlaubsmassnahmen geschlossen. Tanken Sie bitte bei den Ketten EM, RM oder
+einer kleineren Kette Ihrer Wahl.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Bis 19.8. (Gloinson,  9. Aug 2009, 00:55:27):
+... bin ich voraussichtlich offline. Im Falle des Falles des Fehlers in meinem
+kleinen Aufgabenbereich werden meine Aenderungen notfalls zurueckgerollt
+werden.
+
+Gloin(son)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Zook,  7. Sep 2009, 09:39:04):
+Bin vom 11. bis 20. September 2009 im Urlaub und ohne Netz. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub (Humni, 15. Sep 2009, 17:18:34):
+Aber Arbeits-Nicht-Da: Diese Woche stressbedingt nur wenig hier, naechste
+Woche (21.-25.9.) nicht da.
+
+Berliner fressen.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+abwesend... (Amaryllis, 21. Sep 2009, 20:48:49):
+...vom 27.09.2009 - 02.10.2009
+
+Denkt dran: Waehlen gehen am 27.09.! Und zwar richtig ;-)
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Re: abwesend... (Chagall, 21. Sep 2009, 20:51:23):
+~#! rn=Amaryllis rt=1253558929 rg=magier.urlaub
+~#! tid=1253558929
+Ja, hat mich auch gewundert. Der CDU-Typ hat nur seine Lakaien losgeschickt
+und grinst von nahezu jedem Laternenmast runter. Thierse ist mir bei weitem
+nicht so praesent aufgefallen, nur heute, als er seine Flyer verteilt hat.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: abwesend... (Amaryllis, 21. Sep 2009, 20:53:55):
+~#! rn=Chagall rt=1253559083 rg=magier.urlaub
+~#! tid=1253558929
+Ich habe per Briefwahl gewaehlt. Haette mir vor 20 Jahren nicht vorstellen
+koennen, dass ich einmal _so_ waehlen wuerde. Aber die Deppen wollen es ja
+nicht anders.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub bis 4.1. (Zesstra, 23. Dez 2009, 17:02:03):
+Huhu,
+
+ich werde vom 24.12. bis zum 4.1. kaum oder gar nicht im Mud anzutreffen sein,
+da ich mich zum groessten Teil an Orten aufhalten werden, wo ich keinen
+Netzzugang habe.
+
+Ich wuensch euch ein paar schoene Feiertage und hoffentlich ein paar
+Urlaubstage zum Entspannen nach dem Trubel.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub bis 4.1. (Amaryllis, 23. Dez 2009, 21:20:15):
+~#! rn=Zesstra rt=1261584123 rg=magier.urlaub
+~#! tid=1261584123
+Selber huhu,
+
+da ich leider keinen Lastminute-Urlaub zu bezahlbaren Preisen mehr bekommen
+habe, werde ich in meinem Urlaub vom 24.12. bis 4.1. oefters anwesend sein, zu
+Eurem Leidwesen ;)
+
+Frohes Fest und guten Rutsch von der MG-Serveradministration,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Chagall, 14. Jan 2010, 17:02:07):
+Bin vom 19.01 bis 26.01 auf Gran Canaria.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Ark,  8. Mar 2010, 22:28:52):
+01.03.10 - 23.03.10 Thailand.
+Von Beileidsbekundungen jeglicher Art bitten wir abzusehen.
+Fuer Reparaturen wenden Sie sich bitte an die bewaehrten Instanzen.
+Nach der Erholperiode stehen wir Ihnen voraussichtlich wieder fit zur
+Verfuegung. Wir bitten darum, das MUD pfleglich zu behandeln und besonders
+friedlich zu Werke zu gehen. Ausser bei Monstern und NPC. Die muessen weg.
+Logisch. Unfriedlich. Haut sie um. Sofort.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Ark,  8. Mar 2010, 23:22:38):
+~#! rn=Ark rt=1268083732 rg=magier.urlaub
+~#! tid=1268083732
+Okok, Wunsch -> Vater -> Gedanke.
+01.04.10 - 23.04.10. Zook hat mich durchschaut :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Humni, 12. Mar 2010, 05:59:48):
+Auch ich mache Urlaub. Miril auch.
+
+Grob ab 26.3. bis zur Mudparty.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub (Zesstra, 15. Mar 2010, 23:43:27):
+~#! rn=Humni rt=1268369988 rg=magier.urlaub
+~#! tid=1268369988
+Ich schliesse mich Miril + Humni an und bin vom 27.3. bis zum 11.4. abwesend.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaub (Gloinson, 15. Mar 2010, 23:44:20):
+~#! rn=Zesstra rt=1268693007 rg=magier.urlaub
+~#! tid=1268369988
+Dito. Allerdings vom 17.3. bis zum 28.3. Damit sich das ergaenzt. Probleme im
+Klerus bitte an Arkshat melden ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Amaryllis, 16. Mar 2010, 21:14:25):
+Vor dem neuen Job gehts erstmal nochmal in Urlaub: 30.03.-13.04. - Mallorca
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend 30. Mai bis 6. Juni (Zook, 27. Mai 2010, 10:08:45):
+Vom 30. Mai bis 6. Juni bin ich abwesend. Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ab morgen... (Humni,  2. Jun 2010, 21:58:12):
+.. bin ich bis Sonntag weg. Waere vermutlich eh nicht aufgefallen, aber ich tu
+das mal kund. Also, bis Sonntag, 6.6., hab ich wohl kein Internet.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ab morgen... (Gwen,  2. Jun 2010, 22:13:46):
+~#! rn=Humni rt=1275508692 rg=magier.urlaub
+~#! tid=1275508692
+Faehrst Du auch nach Marburg? ;)
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ab morgen... (Humni,  2. Jun 2010, 22:17:29):
+~#! rn=Gwen rt=1275509626 rg=magier.urlaub
+~#! tid=1275508692
+Nein. Nach Belgien.
+
+Humni
+PS: Miril nehm ich auch mit. Die ist dann auch nicht hier.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Ab morgen... (Gwen,  2. Jun 2010, 22:24:37):
+~#! rn=Humni rt=1275509849 rg=magier.urlaub
+~#! tid=1275508692
+Wenn Du nur keinen Internetanschluss haben willst,
+reicht es aber, einfach nach Marburg zu fahren.
+Hat das letzte Wochenende gezeigt.
+Gwen.
+PS: Hatte schon ueberrlegt, ob Zook darum so selten im MG war...
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Ab morgen... (Humni,  2. Jun 2010, 22:28:15):
+~#! rn=Gwen rt=1275510277 rg=magier.urlaub
+~#! tid=1275508692
+Oh, cool. Nein, ich fahre nach Belgien, da gibts sicher Internet, aber
+vermutlich nicht fuer mich.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Ab morgen... (Zook,  5. Jun 2010, 11:05:34):
+~#! rn=Gwen rt=1275509626 rg=magier.urlaub
+~#! tid=1275508692
+wieso marburg?
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub fuer fleissige Bienen (Ark, 29. Jun 2010, 00:13:07):
+Deshalb eine Woche Urlaub: 09.07. - 16.07. incl.
+Nicht Malle, sondern Mallorca. Sportlich betaetigen und so.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Zesstras Sommerurlaub ;-) (Zesstra,  9. Jul 2010, 00:26:20):
+Huhu allerseits,
+
+auch fuer mich zeichnet sich der Sommerurlaub ab... Ich hoffe (mal wieder) in
+diesem nen bisschen am MG basteln zu koennen.
+Zunaechst einmal werde ich jedoch abwesend sein und zwar vom
+24.7. bis zum 14.8.
+Wer nach Brieselang kommt, kann mich dort treffen, ansonsten wuensch ich euch
+schoene Sommerwochen in der Zeit. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+auch weg (Gabylon, 18. Jul 2010, 12:19:37):
+... und zwar eine ganze woche lang.
+
+gab
+
+-----------------------------------------------------------------------------
+
+
+
+Sommer (Zook, 22. Jul 2010, 11:10:45):
+Ich bin vom 29. Juli bis 15. August 2010 weitgehend internetlos.
+
+Viele Gruesse, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Auch Urlaub (Humni, 22. Jul 2010, 12:02:20):
+Nach der Mudparty, bei der ich auch die ganze Woche sein werde, bin ich
+nochmal vermutlich fuer eine Woche weg. (Und Miril wohl auch). Reinschauen ist
+wenn sehr sporadisch.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auch Urlaub (Ark, 22. Jul 2010, 15:52:17):
+~#! rn=Humni rt=1279792940 rg=magier.urlaub
+~#! tid=1279792940
+Wenn ihr glaubt, ich bin der Hausmann hier, dann ... :)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Auch Urlaub (Zesstra, 22. Jul 2010, 15:53:14):
+~#! rn=Ark rt=1279806737 rg=magier.urlaub
+~#! tid=1279792940
+Sicher doch, Du musst die Baustellen aufkehren, die wir hinterlassen.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Auch Urlaub (Ark, 22. Jul 2010, 20:41:35):
+~#! rn=Zesstra rt=1279806794 rg=magier.urlaub
+~#! tid=1279792940
+Crash oleeeee :)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Auch Urlaub (Shakedbeer, 24. Jul 2010, 14:53:52):
+~#! rn=Ark rt=1279824095 rg=magier.urlaub
+~#! tid=1279792940
+Hi!
+
+Bin genauso fuer zwei Wochen weg.
+
+Shaky.
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal kurz weg (Ark,  9. Aug 2010, 19:22:06):
+15.09. - 22.09.
+Definitiv dort kein Netz :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nochmal kurz weg (Gwen,  9. Aug 2010, 19:23:08):
+~#! rn=Ark rt=1281374526 rg=magier.urlaub
+~#! tid=1281374526
+Das heisst, Du faehrst nicht in ein Fischerdorf.
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nochmal kurz weg (Ark, 20. Sep 2010, 14:49:50):
+~#! rn=Ark rt=1281374526 rg=magier.urlaub
+~#! tid=1281374526
+Da man gemerkt haben duerfte, dass ich noch anwesend bin, folgende Erklaerung:
+Ark musste verschieben in die erste Oktoberwoche ... abwesend 03.10. - 10.10.
+Auf Sizilien mag es vielleicht Netz geben, und man braucht kein Visum ...
+trotzdem bin ich da weg. Total. Macht-was-ihr-wollt-weg sozusagen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+... (Gloinson,  7. Nov 2010, 02:58:29):
+Zurueck aus unangekuendigtem Urlaub.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: ... (Zook,  9. Nov 2010, 11:21:46):
+~#! rn=Gloinson rt=1289095109 rg=magier.urlaub
+~#! tid=1289095109
+War es denn schoen?
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: ... (Gloinson,  9. Nov 2010, 11:30:18):
+~#! rn=Zook rt=1289298106 rg=magier.urlaub
+~#! tid=1289095109
+Ja. Gran Canaria ist eine grossartige Insel mit allen Klimazonen auf 40km
+Durchmesser und wir werden da wohl auch immer mal wieder hinfinden.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Silvesterurlaub (Zesstra, 26. Dez 2010, 12:20:47):
+Oh, ganz vergessen, meinen Urlaub anzukuendigen...
+Ich bin vom 26.12. bis zum 3.1. im Urlaub und allenfalls sporadisch anwesend.
+
+Alles Gute fuers naechste Jahr!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub, aber trotzdem abwesend (Chagall, 28. Dez 2010, 09:27:27):
+Huhu,
+
+aufgrund einer Fortbildungsmassnahme bin ich vom 23.01.2011 bis 24.01.2011 nur
+sporadisch da (wenn ueberhaupt).
+
+MC
+
+PS: Ich will nicht nach Wiesbaden *jammer*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub klein (keine Nachfolgequest von Teleport gross!) (Ark,  4. Feb 2011, 23:03:16):
+Vom 14.02. bis 21.02. in Barcelona. Lasst das MUD stehen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub... (Humni, 27. Feb 2011, 13:09:11):
+...aber die naechsten Wochen bis zum 22.3. evtl. erstmal weniger Anwesenheit
+von mir hier. Man sollte nicht "aus Scheiss" ein Zweitstudium anfangen, wenn
+man auf einmal die Pruefungen vor der Nase hat.
+
+Und Vorankuendigung: Urlaub 17. bis 27.4.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub: 17.4. bis 27.4. (Zesstra, 11. Apr 2011, 21:59:50):
+Huhu,
+
+ich werde in der o.g. Zeit einen hoffentlich entspannenden
+Pen&Paper-Rollenspiel-Urlaub machen. Kann sein, dass ich zwischendurch mal
+reingucke, werde aber groesstenteils weg sein. Bei dringenden Problemen
+(wehe!) haben div. Leute ja meine Telefonnr. ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub: 17.4. bis 27.4. (Humni, 13. Apr 2011, 21:38:27):
+~#! rn=Zesstra rt=1302551990 rg=magier.urlaub
+~#! tid=1302551990
+Huhu,
+
+ich werde auch nicht da sein. Im selben Zeitraum. Miril auch nicht.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend vom 22. April bis 2. Mai (Zook, 20. Apr 2011, 11:14:01):
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub: 2.8. bis 22.8. (Zesstra, 24. Jul 2011, 21:36:20):
+Huhu allerseits,
+
+ich werde am 2.8. mein Zelt packen und 3 Wochen lang unterwegs sein. D.h.
+zwischen 2. und 22.8. muesst ihr ohne mich auskommen. Aber das schafft ihr
+bestimmt! :-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub: 12.8. bis 22.8. (Zook, 24. Jul 2011, 21:37:49):
+Ich habe nicht ganz so viel Urlaub wie Zesstra, packe am 12.8. aber auch
+mein Zelt und bin dann fuer Euch nicht zu erreichen. Ich weiss, schwere
+Zeit, aber ich bin sicher, Ihr kommt damit zurecht!
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub: Ab 2.8. bis nach der Mudparty (Humni, 27. Jul 2011, 19:55:03):
+Bei mir gilt analoges zu Zesstra. Bis dahin verspreche ich aber, die Ferien zu
+nutzen, um oefter (ja, oefter!) da zu sein und neue Dinge zu bauen. Oder
+andere zu reparieren.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Lissabon + Algarve, 13.08.-28.08. (Ark,  3. Aug 2011, 22:55:53):
+Mal schaun, ob da verlaesslicher Sonne scheint als hier. See ya.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub vom Urlaub (Gloinson, 21. Aug 2011, 21:15:13):
+... bis 29. August verreist, daher sedimentieren alle guten und schlechten
+Ideen bei mir, so dass dann nichts mehr zu sehen sein wird ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Sylvesterurlaub 2011... (Zesstra, 28. Dez 2011, 11:36:39):
+Ganz vergessen...
+Ich bin vom 28.12. bis 7.1. in Urlaub und bin allenfalls mal zwischendurch da.
+(Aber vielleicht finde ich da ja mal Zeit, wieder was zu basteln.)
+In dringenden Faellen (Crash oder so) haben einige Leute meine Telefonnr. und
+ich schau dann, was ich machen kann.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Sylvesterurlaub 2011... (Zook, 28. Dez 2011, 15:51:04):
+~#! rn=Zesstra rt=1325068599 rg=magier.urlaub
+~#! tid=1325068599
+Ich werde wohl immer mal hinein sehen; meine Kontaktdaten 
+sind zum Teil ja auch verbreitet. Also sollte alles im
+administrativen Wuergegriff sein.
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Caldra und Gloinson machen Urlaub bis 28.01. (Caldra, 15. Jan 2012, 20:37:10):
+Urlaub im Schnee fuer eine Woche. Leider wird Gloinson nach dem Urlaub fuer
+mindestens eine Woche erschoepft sein und Caldra einen Unfall haben, der ihn
+eine Woche lang an ein internetloses Bett fesselt. Daher zwei Wochen.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Caldra und Gloinson machen Urlaub bis 28.01. (Zook, 15. Jan 2012, 20:40:34):
+~#! rn=Caldra rt=1326656230 rg=magier.urlaub
+~#! tid=1326656230
+Gute Genesung!
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Ausflug Thailand (Ark, 14. Feb 2012, 17:46:45):
+Da mein Freund jetzt nach 8 Jahren mal endlich in die Poette kommt, bin ich
+hochzeitsbedingt nicht da ... und ich muss auch noch ne Rede halten ... gut,
+dass mein Thai nicht vorhanden ist :-) Achja, 6.3.-15.3.
+Immerhin krieg ich schon > 30 Grad und ihr nicht ;)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Ausflug vorbei (Gloinson, 18. Feb 2012, 18:40:54):
+... und wieder da. Tenar ist schuld.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nur kurz... (Humni,  8. Mar 2012, 20:02:12):
+.. und normalerweise melde ich mich fuer solche Zeitraeume nicht ab, aber ich
+bin ab heute bis nach dem Wochenende (vermutlich bis mindestens Dienstag)
+nicht da.
+
+Kann auch noch ein, zwei Tage laenger sein, ist gerade nicht ganz sicher.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Mal wech... (Humni, 22. Mar 2012, 16:12:16):
+Huhu,
+
+Miril und ich werden Anfang April (so richtig ab dem 1.4. - kein Witz, haha)
+fuer 10 Tage verschwinden. Kann aber sogar sein, dass wir da Internet haben,
+aber ob man Zeit zum Reinschauen findet - mal sehen.
+
+Ansonsten verkuende ich nur mal, dass ich Klausurstressbedingt bis naechste
+Woche Freitag (jaja, das ist direkt davor, ich weiss) gepaart mit
+Arbeitsstress erstmal hier evtl. auch idle bzw. wenig da bin.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mal wech... (Zesstra, 27. Mar 2012, 20:03:48):
+~#! rn=Humni rt=1332429136 rg=magier.urlaub
+~#! tid=1332429136
+Ich habe ueber Ostern auch Urlaub und werde definitiv vom 5.4. bis zum 11.4.
+nicht da sein.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Umzugsurlaub... 15.-19.5. (Zesstra, 13. Mai 2012, 23:25:42):
+Leider kein Urlaub, sondern ich ziehe in der zweiten Wochenhaelfte um. Von
+Dienstag bis Samstag (evtl. auch Sonntag) werde ich wohl nicht hier sein und
+groesstenteils auch ohne Zugang zum Mudrechner.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 6.-10.6. (Humni,  5. Jun 2012, 18:47:26):
+Miril und ich werden vom 6. bis zum 10.6. im Urlaub und damit nicht im Mud
+anwesend sein.
+
+Ein Drache
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub vom 15.06 - 04.07 (Chagall,  5. Jun 2012, 18:52:43):
+Huhu,
+
+in der Zeit zwischen 15.06 und 04.07 bin ich im Urlaub. Wahrscheinlich sogar
+ohne geregelten Internetzugang.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+wech... (Gabylon, 19. Jun 2012, 23:33:08):
+... ab morgen fuer 10 tage. so richtig ohne technik und so.
+lasst das struv stehen! :)
+
+gab
+
+-----------------------------------------------------------------------------
+
+
+
+Mal weg fuer 2 Wochen. (Ark, 24. Jun 2012, 21:39:03):
+Vom 1.7. bis einschliesslich 15.7.
+Lasst alles stehen :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Zook, 25. Jun 2012, 07:02:58):
+17.7. bis 24.7. im Urlaub; leider kann ich nicht zur Party
+kommen. 
+
+Seid brav.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 28.7. - 13.8. (Zesstra, 27. Jul 2012, 23:07:07):
+Huhu,
+
+ich habe es tatsaechlich entgegen vieler Befuerchtungen geschafft, Urlaub zu
+bekommen und auch noch ziemlich gut gelegen. D.h. ich bin ab morgen bis zum
+13.8. abwesend und ohne Computer+Netz...
+Also passt gut aufs Morgengrauen auf!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub 28.7. - 13.8. (Amaryllis, 28. Jul 2012, 20:25:44):
+~#! rn=Zesstra rt=1343423227 rg=magier.urlaub
+~#! tid=1343423227
+Ich bin ja auch noch da.
+
+Gruss,
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Weg vom 31.07.-06.08.2012 (Arathorn, 31. Jul 2012, 14:03:21):
+Wacken! Bis naechste Woche! :-)
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Weg vom 31.07.-06.08.2012 (Zook, 31. Jul 2012, 15:34:41):
+~#! rn=Arathorn rt=1343736201 rg=magier.urlaub
+~#! tid=1343736201
+Wenn Du wieder aus dem Matsch aufgetaucht bist?
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 06.-12.08. (Bugfix,  5. Aug 2012, 19:03:56):
+Moin,
+
+Im genannten Zeitraum werde ich wenn ueberhaupt dann nur sporadisch anwesend
+sein. Lasst die Gilde stehen.
+
+BF
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Weg vom 31.07.-06.08.2012 (Gwen,  6. Aug 2012, 00:18:32):
+~#! rn=Zook rt=1343741681 rg=magier.urlaub
+~#! tid=1343736201
+Auftauchen ist das richtige Wort...
+...bin auch wieder aufgetaucht.
+Gwen.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 12.08. bis 19.08. (Caldra, 11. Aug 2012, 13:37:54):
+ich bin dann mal die Sonne geniessen!
+Lasst Polar und Fiebersumpf heile!
+
+Caldra
+
+-----------------------------------------------------------------------------
+
+
+
+Ab auf die Insel ... (Zook,  5. Sep 2012, 10:51:24):
+~#! on=Zook ot=1346834245 og=magier.schmarrn
+... vom 20. bis 29. September 2012. Ja, auch 2 Tage
+zum arbeiten, Rest ist Urlaub. Anwesenheit hier wird
+gegen 0 gehen. Wenn Ihr was kaputt macht, muesst Ihr Euch 
+eben die anderen EM+ greifen! ;) *G* 
+
+Zook verteilt Besen zum Aufraeumen.
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub... (Humni, 12. Sep 2012, 22:12:44):
+aber gerade ein wenig Stress, Arbeit und nebenbei noch anderer Kram.
+
+Denke, ab Oktober habe ich ein wenig mehr Zeit.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Nicht da vom 14.-16.09.2012 (Arathorn, 14. Sep 2012, 01:10:26):
+Moin,
+
+siehe Subject. Spielefeld ruft. ;-)
+
+A*n.
+
+-----------------------------------------------------------------------------
+
+
+
+09.12. - 23.12. (Gloinson,  6. Dez 2012, 06:17:06):
+Ziemlich wahrscheinlich ohne Netz, noch wahrscheinlicher ohne Motivation mich
+an einen Rechner zu setzen.
+
+Frohes verflucht und vergiftet sein! ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 09.12. - 23.12. (Gloinson,  8. Dez 2012, 21:12:46):
+~#! rn=Gloinson rt=1354771026 rg=magier.urlaub
+~#! tid=1354771026
+Streicht das.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Frohe Weihnachtstag! (Zook, 22. Dez 2012, 12:32:30):
+Ich wuensche Euch allen frohe Weihnachtstage, ich entschwinde mal
+ein wenig in die Tour der Feiern. 
+
+Euch allen, Spielen und Magiern, danke ich fuer die vielen 
+schoenen Stunden hier im MorgenGrauen. Und ich freue mich
+auf ein ereignisreiches Jahr 2013!
+
+Viele Gruesse, Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 23.12. - 4.1. (Zesstra, 22. Dez 2012, 14:21:30):
+Huhu,
+
+ich bin jetzt auch ein bisschen im Urlaub. Zuerst Familienbesuche und so und
+dann der Silvesterurlaub.
+Ich werde ueber Weihnachten vermutlich am reinschauen, aber eher nur kurz.
+Also, zusammenfassend: vom 23.12. bis 4.1. bin ich im wesentlichen weg.
+
+Ich wuensche euch ein paar erholsame Tage und schon jetzt ein grandioses 2013!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend 3 Wochen (Ark,  3. Jan 2013, 18:10:00):
+Thailand die vierte. Chiang Mai, Chiang Rai, Khmer Ruinen Suedosten (dies aber
+noch Plan). Essen. Sonne. Relax&Enjoy.
+Zeit: 19.01.-10.02.2013.
+Have fun.
+No bug here.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Potentiell 11.Jan - 19.Jan (Gloinson, 10. Jan 2013, 18:06:22):
+Skidingsbums. Unklar, ob Wifi. Besser waer, wenn nicht.
+
+Wenn kein Wifi, dann ist auch Caldra nicht da. Aetsch!
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Potentiell 11.Jan - 19.Jan (Zook, 12. Jan 2013, 18:47:29):
+~#! rn=Gloinson rt=1357837582 rg=magier.urlaub
+~#! tid=1357837582
+Kommt gesund wieder!
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Potentiell 11.Jan - 19.Jan (Gloinson, 14. Jan 2013, 21:13:18):
+~#! rn=Zook rt=1358012849 rg=magier.urlaub
+~#! tid=1357837582
+Hmja. Danke. Caldra ist ab jetzt nicht mehr zu trauen, der hat heute
+ordentlich einen vor den Kopp bekommen. Seine Story dazu ist langweilig, meine
+viel cooler, jedenfalls ist er wie ein gefaellter Baum umgekippt.
+
+(Nix passiert, er ist genauso gaga wie vorher dank Helm.)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 10.02. - 24.02. (Gloinson,  9. Feb 2013, 12:22:22):
+Genau das.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Osterurlaub 25.3. bis 4.4. (Humni, 17. Mar 2013, 22:26:53):
+Huhu,
+
+meinereiner (und noch ein paar Leute) werden wohl vom 25.3. bis 4.4. in Urlaub
+sein. Es gibt vor Ort wohl ein WLAN, aber das ist wohl laut Aussage der
+Veranwortlichen nicht der Bringer. Rechnet also evtl. mit Abwesenheit.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Osterurlaub 25.3. bis 4.4. (Zesstra, 22. Mar 2013, 19:20:04):
+~#! rn=Humni rt=1363555613 rg=magier.urlaub
+~#! tid=1363555613
+Ich schliesse mich Humni an, d.h. auch ich werde in der Zeit vom 24.3. bis
+zumindest 3.4. hier kaum anwesend sein.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Osterurlaub (Zook, 23. Mar 2013, 12:20:14):
+Ich bin direkt ueber die Osterfeiertage nicht oft online,
+dann vom 6. bis 13. April auch noch mal im Urlaub (bisschen
+nach Ostern, aber man will ja nicht mit den ganzen "Ich muss
+aber in den Schulferien fahren"-Leuten im Hotel herumhaengen.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Osterurlaub 25.3. bis 4.4. (Arathorn, 24. Mar 2013, 13:28:11):
+~#! rn=Zesstra rt=1363976404 rg=magier.urlaub
+~#! tid=1363555613
+Dem schliesse ich mich ebenfalls an. Vielleicht gibts da Netz, aber selbst
+wenn, werd ich das vermutlich nicht besonders intensiv nutzen.
+
+Bis die Tage.
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Osterurlaub 25.3. bis 4.4. (Zook, 24. Mar 2013, 13:34:03):
+~#! rn=Arathorn rt=1364128091 rg=magier.urlaub
+~#! tid=1363555613
+Jaja, lasst mich nur allein!
+Zook
+,.
+,
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 18.06 - 01.07. (Chagall, 12. Jun 2013, 21:26:07):
+Huhu,
+
+vom 18.06 bis 01.07 bin ich irgendwo in einem abgelegenen Ort an der
+Adriakueste.
+
+MC
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub 18.06 - 01.07. (Ark, 12. Jun 2013, 21:52:28):
+~#! rn=Chagall rt=1371065167 rg=magier.urlaub
+~#! tid=1371065167
+Luxus! Ich hab erst August Uchlaup. (*mecker*)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 16.06.-28.06. (Arbeitsurlaub) (Gloinson, 12. Jun 2013, 22:50:33):
+Deutschlandurlaub. Da eine Haelfte davon mit Caldra und Tenar bestritten wird,
+koennte Anwesenheit und Aktivitaet gar gesteigert sein. Saemtliche Projekte
+sofort bei Caldra zum Review vorlegen ... ;)
+
+
+-----------------------------------------------------------------------------
+
+
+
+Slainthe math! (Ark,  9. Jul 2013, 23:12:04):
+Vom 01.08. bis incl. 10.08. bin ich im Lande Lagavulins, Laphroaigs,
+Cragganmores, Taliskers und Bowmores. Highland Games, Edinburgh, Blair Atholl
+(da wohnen wir in der Naehe). Wind, Wetter, Sonne?! Seeluft, Wandern, Essen,
+Sauf^H^H^H^HGeniessen. Kaminabende. Spiele. You get it :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Sommerurlaub... (Zesstra, 10. Jul 2013, 23:23:27):
+Huhu,
+
+bei mir zeichnet sich jetzt auch der Sommerurlaub ab.
+Dieses Mal schaff ich es sogar wieder zur Morgengrauen-Party-Campingwoche!
+Yeay! (Freu mich, ein paar neue Gesichter zum Zelten zu sehen.)
+Insgesamt bin ich vom 19.7. bis 5.8. unterwegs und ziemlich sicher nicht
+online.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mudparty (22.7.-28.7.) (Bugfix, 21. Jul 2013, 15:18:41):
+Dann mach ich mal den Anfang. Vom 22.7.-28.7. werde ich in Hattingen auf der 
+Mudparty und somit eher wenig bis garnicht im MG sein.
+
+Macht nix kaputt wo ich zustaendig bin. ;-)
+
+BF
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Mudparty (22.7.-28.7.) (Zook, 21. Jul 2013, 19:48:22):
+~#! rn=Bugfix rt=1374412721 rg=magier.urlaub
+~#! tid=1374412721
+Ich schliesse mich da an.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Mudparty (22.7.-28.7.) (Humni, 22. Jul 2013, 02:51:34):
+~#! rn=Zook rt=1374428902 rg=magier.urlaub
+~#! tid=1374412721
+Ich auch! Ich auch!
+
+Humni
+PS: Miril auch.
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub (Chagall, 29. Aug 2013, 09:46:00):
+Huhu,
+
+vom 06.10. bis 11.10.2013 bin ich auf einer Schulung in Muenchen und deshalb
+wohl nur sporadisch hier.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Unterwegs... (Zook, 11. Sep 2013, 17:42:44):
+Ich bin bis zum 30. September recht viel dienstlich und so unterwegs
+und habe nur bedingt Internet. Lasst alles stehen und seid lieb zu
+den Erzmagiern.
+
+Und den anderen.
+
+Und untereinander.
+
+Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub bis 4.1. (Zesstra, 22. Dez 2013, 01:19:32):
+Huhu,
+
+ich bin jetzt bis zum 4.1. nur unregelmaessig/wenig/gar nicht online. Zuerst
+die ueblichen Familienbesuche ueber Weihnachten und dann eine gemeinsame
+Urlaubswoche mit diversen Muddern. :-)
+Wenn was ist: eMail an mich und/oder Telefon (Nummer ist ja einigen bekannt.)
+Ich wuensch euch moeglichst viel Ruhe waehrend der Feiertage und nen schoenes
+2014 sofern wir uns nicht mehr bis dahin sprechen/sehen!
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub bis 4.1. (Humni, 22. Dez 2013, 10:50:51):
+~#! rn=Zesstra rt=1387671572 rg=magier.urlaub
+~#! tid=1387671572
+Ich schliesse mich.. aeh.. an. Auch wenn ich ab und an sicher da sein werde.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Urlaub bis 4.1. (Bugfix, 23. Dez 2013, 09:29:01):
+~#! rn=Humni rt=1387705851 rg=magier.urlaub
+~#! tid=1387671572
+Schliesse mich ebenfalls an, werd aber, wie Humni, sicher ab und an anwesend
+sein.
+
+BF
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Urlaub bis 4.1. (Zook, 23. Dez 2013, 09:47:48):
+~#! rn=Bugfix rt=1387787341 rg=magier.urlaub
+~#! tid=1387671572
+Ich reihe mich auch ein, bin aber vll. schon einen Tag frueher 
+wieder da und unterwegs immer mal on.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Urlaub bis 4.1. (Ark, 23. Dez 2013, 16:32:51):
+~#! rn=Zook rt=1387788468 rg=magier.urlaub
+~#! tid=1387671572
+Ich mach auch irgendwas und sag mal, dass ich Urlaub habe, ich bin mal da und
+mal nicht. So. Damit habe ich nun auch etwas zur allgemeinen Ratlosigkeit
+beigetragen. Ich wuensche allen Frohe Weihnachten und einen Guten Rutsch ins
+Neue Jahr 2014 (diesmal auch wieder ohna die Maya, eh alles ein furchtbares
+Missverstaendnis) (Anmerkung: der Weihnachtswunsch war wohl der einzige
+gehaltliche Beitrag dieses Postings). Dann haut mal rein.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Urlaub bis 4.1. (Arathorn, 27. Dez 2013, 14:45:43):
+~#! rn=Bugfix rt=1387787341 rg=magier.urlaub
+~#! tid=1387671572
+Ich schliess mich da auch mal an. Spaetestens am 4.1. wieder am Start.
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Weg bis 16.2. (Gloinson,  1. Feb 2014, 16:34:16):
+Alle Bugs, die in der Zwischenzeit auftreten gehoeren den Goettern (*1).
+
+Gloin(son)
+
+(*1) Den Erzmagiern natuerlich auch. Aetsch.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 298.02.-23.03. (Ark, 10. Feb 2014, 19:56:35):
+Ich bin da dann mal weg, da duerft ihr andere aergern. Ich mach Bildungsreise
+auf den Spuren der Khmer im Isaan (NO Thailand) und der Mon und Pyu (Myanmar).
+Und kurz Spass Stopover in Bangkok. Muss sein. Gehaben sie ich wohl :D
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub und anderes (Humni, 18. Mar 2014, 18:30:45):
+Huhu,
+
+ich bin ueber Ostern im Urlaub, aber evtl. von da aus doch wieder ab und an
+auch mal hier, vom 14.-23.4.
+
+Und gerade staut sich bei mir einiges an Arbeit und Terminen, was ein wenig
+mehr Abwesenheit, als ich gerne haette, nach sich zieht. Ich werde aber
+versuchen, immer mal hier zu sein. Hat sich hoffentlich in ein oder zwei
+Wochen erledigt.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Off vom 22. bis 29. Maerz 2014 (Zook, 21. Mar 2014, 10:05:12):
+
+Ich bin vom 22. bis 29. Maerz eher offline. Ja, es ist Urlaub und
+ja, wenn Ihr neidisch sein wollt, Ihr duerft es gerne sein.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Off vom 22. bis 29. Maerz 2014 (Zook, 21. Mar 2014, 10:05:30):
+~#! rn=Zook rt=1395392712 rg=magier.urlaub
+~#! tid=1395392712
+Ach ja, macht nix kaputt!
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: Off vom 22. bis 29. Maerz 2014 (Vanion, 22. Mar 2014, 22:51:07):
+~#! rn=Zook rt=1395392730 rg=magier.urlaub
+~#! tid=1395392712
+Das sagst Du immer.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: Off vom 22. bis 29. Maerz 2014 (Zook,  1. Apr 2014, 08:56:13):
+~#! rn=Vanion rt=1395525067 rg=magier.urlaub
+~#! tid=1395392712
+Und hat wieder mal geklappt!
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re^4: Off vom 22. bis 29. Maerz 2014 (Gloinson,  1. Apr 2014, 10:26:09):
+~#! rn=Zook rt=1396335373 rg=magier.urlaub
+~#! tid=1395392712
+Jetzt also wieder fit fuer die Tour de Hattingen?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend 11.4. bis 22.4. (Zesstra,  9. Apr 2014, 22:35:25):
+Huhu,
+
+ich bin vom 11.4. bis zum 22.4. wenig bis gar nicht da. Ich fahr naemlich in
+Urlaub. ;-)
+Im Falle dringender Faelle kennen div. EMs und Spieler meine Kontaktdaten...
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+03.08 - 19.08 (Chagall, 11. Apr 2014, 19:18:47):
+Ist zwar noch eine ganze Weile, aber im Zeitraum vom 03.08 bis 19.08 lasse ihc
+mich die Sonne von Florida auf mein Haupt scheinen.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+17.-28. April (Gloinson, 15. Apr 2014, 00:07:20):
+Nicht offiziell da. Saemtliche Bugs des Klerus werden also auf die Zeit
+gelegt, damit die EMs was zum Fixen haben.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Weg und offline 28.5. - 1.6. (Zesstra, 27. Mai 2014, 21:48:17):
+Ich bin mal ein paar Tage (s.o.) Zelten... Und Musik hoeren... ;-)
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub... 19.7. bis 3.8. (Zesstra, 15. Jul 2014, 23:37:16):
+Huhu allerseits,
+
+ich werde vom 19.7. bis zum 3.8. in Urlaub sein.
+Anfangs beim MG-Zelten (da bin ich evtl. sporadisch mal da), die zweite Woche
+eher gar nicht.
+Ich denke, das Mud laeuft auch ohne mich weiter.
+In dringenden Notfaellen haben die EMs und auch einige andere Leute
+Kontaktdaten.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Mudparty (Bugfix, 20. Jul 2014, 23:32:00):
+Moin,
+
+Wegen Mudparty bin ich bis zum 27.7. wenn ueberhaupt dann nur sporadisch
+online.
+
+BF
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub 03.08. - 19.08. (Chagall, 26. Jul 2014, 13:31:06):
+Nur als Erinnerung, vom 03.08 bis 19.08 lasse ich mir die Floridasonne auf
+mein Haupt scheinen.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Urlaub... 19.7. bis 3.8. (Arathorn, 29. Jul 2014, 16:18:55):
+~#! rn=Zesstra rt=1405460236 rg=magier.urlaub
+~#! tid=1405460236
+Bin dann auch mal weg (29.7.-3.8.), Erreichbarkeit aehnlich wie Zesstras
+in dem Zeitraum. ;-)
+
+Lasst das Mud heile.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub, 09.08.-16.08. (Bugfix,  8. Aug 2014, 17:14:26):
+Moin,
+
+Im genannten Zeitraum werde ich mich, ohne verfuegbaren Internetanschluss, im
+Urlaub befinden und somit nicht im Mud anwesend sein.
+
+BF
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal weg... (Humni,  9. Aug 2014, 21:19:34):
+Miril und Humni sind vermutlich nochmal vom 10. bis 12. oder 13.8. in
+Kurzurlaub.
+
+Bis dann!
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nochmal weg... (Ark,  9. Aug 2014, 21:47:00):
+~#! rn=Humni rt=1407611974 rg=magier.urlaub
+~#! tid=1407611974
+Ey voll die freizeitorientierte Magierei hier, was soll das noch werden hier?
+:)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Nochmal weg... (Vanion, 13. Aug 2014, 20:46:31):
+~#! rn=Humni rt=1407611974 rg=magier.urlaub
+~#! tid=1407611974
+Die beiden haben einen Nordwest-Stati organisiert. Das zaehlt wohl als
+arbeiten.
+
+V*
+
+-----------------------------------------------------------------------------
+
+
+
+Kein Urlaub... (Humni,  4. Sep 2014, 21:51:31):
+... aber Dienstreise.
+
+15.-19.9. ist vermutlich kein Drache da.
+
+Ich fresse Euch trotzdem alle, da ich rfresse habe.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+19. bis 27. Sep. 2014 (Zook,  8. Sep 2014, 22:01:52):
+Ich muss da zwei Tage arbeiten. Rest Urlaub. Ja, auf Mallorca
+arbeiten. Wirklich. Ihr koennt mir das glauben.
+
+Zook
+.-
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub (Unbekannte Salzwueste Arktis, USA) (Ark, 15. Okt 2014, 20:44:28):
+Ab morgen bis 28.10., lasst alles heile und schont die Geduld aller Magier.
+So long.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub... (Humni, 11. Nov 2014, 18:00:09):
+... ist es nicht, eher das Gegenteil, aber ich bin den Rest der Woche wohl
+nicht da.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Ueber Weihnachten ... (Notstrom, 17. Dez 2014, 20:25:54):
+... genauer, vom 23.12. bis zum 27.12. bin ich voraussichtlich internetlos
+bei der Familie. Ihr muesstet also in der Zeit mit normalem Strom auskommen.
+
+Frohe Weihnachten!
+                                                      Notstrom.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ueber Weihnachten ... (Ark, 17. Dez 2014, 20:42:06):
+~#! rn=Notstrom rt=1418844354 rg=magier.urlaub
+~#! tid=1418844354
+:hat ein Notstromaggregat.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Auch nicht immer da... (Humni, 19. Dez 2014, 14:45:04):
+Auch ich bin ueber Weihnachten weg, danach dann ... vermutlich im Urlaub, wo
+ich erfahrungsgemaess aber sogar oefter mal hier bin. Erstaunlich, faellt mir
+gerade auf.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Up, up, and awayyyyy (Ark, 18. Feb 2015, 01:14:22):
+Vom 28.02. bis 22.03. bin ich im Urlaub. Bugs und andere Aergerlichkeiten
+werden gebeten, sich an die ueblichen Stellen zu wenden. Haftung wird nur in
+begruendeten Notfaellen uebernommen. Ich bitte, das Morgengrauen nicht zu
+veraergern, damit es morgen noch kraftvoll toeten kann.
+So long.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Up, up, and awayyyyy (Zook, 18. Feb 2015, 11:50:49):
+~#! rn=Ark rt=1424218462 rg=magier.urlaub
+~#! tid=1424218462
+Ich bin vom 21. Feb. bis 2. Mar. ebenfalls urlaubsbedingt abwesend; habe 
+auch tendentiell eher kein Netz.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Auch mal weg (Humni, 27. Mar 2015, 21:07:30):
+Huhu,
+
+einige andere Personen sind auch weg, und auch wenn es am Urlaubsort
+Netzempfang gibt, so mag es doch sein, dass man dort nicht regelmaessig
+anwesend ist. Das Ganze gilt ab dem 29.3. bis zum 7.4. oder so.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Auch mal weg (Zesstra, 27. Mar 2015, 21:37:26):
+~#! rn=Humni rt=1427486850 rg=magier.urlaub
+~#! tid=1427486850
+Ich bin auch weg, vom 29.3. bis 6.4.
+Vielleicht bin ich sporadisch mal da, aber nicht regelmaessig.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Auf einer Insel mit einem Berge ... (Gloinson, 14. Mai 2015, 11:54:40):
+Vom 20. Mai bis 10. Juni. Nicht zwangslaeufig offline.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Zesstra lehnt sich etwas zurueck... (Zesstra, 26. Mai 2015, 22:26:59):
+Huhu,
+
+dies ist (leider) keine Urlaubsankuendigung an sich, aber passt trotzdem
+hierher.
+
+Die letzte Zeit werden die div. Wnsche und Problemchen, die an mich hier
+herangetragen werden, mir etwas zuviel. Hinzu kommen zur Zeit berufliche und
+sonstige private Notwendigkeiten, welche mich Kraft kosten. Diese unguenstige
+Kombination fuehrt auch dazu, dass ich mich nicht mehr konzentriert um die
+Erledigung der anfallenden Problemchen kuemmern kann.
+Daher bin ich zu dem Schluss kommen, dass ich hier eine Weile etwas kuerzer
+treten werde und meine knappe Zeit hier mit Dingen verbringen moechte, die mir
+auch persoenlich Spass und Befriedigung bringen.
+
+Ich moechte euch daher bitten, Anliegen und Wuensche, die meine Funktion hier
+und nicht mich persoenlich betreffen, an die EM-Schaft im ganzen zu richten.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Zesstra lehnt sich etwas zurueck... (Zook, 26. Mai 2015, 22:29:06):
+~#! rn=Zesstra rt=1432672019 rg=magier.urlaub
+~#! tid=1432672019
+Einfach "mail erzmagier" und in der Regel wird das dann 
+auch vom Team aus irgendwie weiter bearbeitet. Wenn 
+es irgendwo klemmt oder Schwierigkeiten auftreten,
+dann sprecht einfach mich direkt an.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub und so (Rhovan,  3. Jun 2015, 08:48:36):
+Huhu, ich mache heute bis Sonntag aufs Out and Loud.
+
+Bis zu meiner rueckkehr, wuensche ich euch viel spass.
+Ich hab auch noch ein sehr detailverliebtes video fuer euch
+https://youtu.be/AQte2nz80Is
+
+Gruss
+Rhovan
+
+-----------------------------------------------------------------------------
+
+
+
+MG-Party und Wacken (Bugfix, 19. Jul 2015, 22:34:48):
+Moin,
+
+vom 20.-26.7. werde ich auf der MG-Sommerparty in Hattingen und vom 28.7.-3.8.
+in Wacken sein. Aus Hattinge werde ich vermutlich das eine oder andere mal
+online sein, aus Wacken eher nicht.
+
+Bugfix
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MG-Party und Wacken (Rhovan, 20. Jul 2015, 00:05:05):
+~#! rn=Bugfix rt=1437338088 rg=magier.urlaub
+~#! tid=1437338088
+Ich schliesse mich an, haenge aber noch 1 Woche so und 1 Woche Summer Breeze
+mit drann.
+
+Gruss
+Rhovan
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MG-Party und Wacken (Zesstra, 20. Jul 2015, 10:42:39):
+~#! rn=Bugfix rt=1437338088 rg=magier.urlaub
+~#! tid=1437338088
+Ich schliesse mich da an. Bin auch auch zwischen Hattingen und Wacken wenig
+da.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Re: MG-Party und Wacken (Ark, 21. Jul 2015, 00:28:35):
+~#! rn=Zesstra rt=1437381759 rg=magier.urlaub
+~#! tid=1437338088
+Tja, ich werde arbeitsbedingt wohl nicht in Hattingen erscheinen. Und am
+Wochenende muss ich noch ein verschobenes Geschenk einloesen. Irgendwie ein
+bisschen ... doof.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re^3: MG-Party und Wacken (Zook, 26. Jul 2015, 20:09:35):
+~#! rn=Ark rt=1437431315 rg=magier.urlaub
+~#! tid=1437338088
+Dabei haben wir uns so auf Dich gefreut!
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Re: MG-Party und Wacken (Arathorn, 28. Jul 2015, 13:03:15):
+~#! rn=Bugfix rt=1437338088 rg=magier.urlaub
+~#! tid=1437338088
+Dem Wacken-Teil schliesse ich mich an und bin dann mal weg. Danach noch
+Dienstreise, kann also sein, dass ich mich die naechsten 10 Tage etwas
+rar mache hier.
+
+Lasst das Mud heile. :-)
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend vom 17.-21.9. (Zesstra, 12. Sep 2015, 00:15:12):
+Huhu,
+
+ich bin in der genannten Zeit nicht da. Und vermutlich auch die 2-3 Abende vor
+dem 17. nur wenig richtig da.
+
+Zesstra
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend 17. bis 27. September (Zook, 14. Sep 2015, 18:44:51):
+Hi, ich bin einmal 10 Tage eher offline.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Nur regulaerer Strom dieses Wochenende! (Notstrom,  1. Okt 2015, 17:30:37):
+Huhu,
+
+ich bin von heute abend bis Sonntag dort, wo ich keine Internetanbindung
+habe. Falls Ihr trotzdem Strom benoetigt, nutzt bitte den normalen Strom
+aus der Steckdose.
+
+Lasst mir die Wueste heile!
+Notstrom.
+
+-----------------------------------------------------------------------------
+
+
+
+Mal ein paar Tage nicht da (Humni, 11. Okt 2015, 23:33:31):
+Huhu ihr,
+
+ich werde so ab morgen oder uebermorgen bis zum kommenden Wochenende wohl gar
+nicht oder deutlich weniger hier sein. Fuer Miril gilt dasselbe.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Kurz ma wech. (Ark, 22. Okt 2015, 23:17:53):
+Bis naechsten Mittwoch. CU.
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesend vom 13.11-16.11 (Chagall,  9. Nov 2015, 20:23:51):
+Huhu,
+
+in der im Betreff genannten Zeit bin ich nicht im Mud, sondern in Hamburg
+anzutreffen. Dort verschiess ich Unmengen von X8-Burstern und 8US und setze
+auch diverse Resos.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+Abwesenheit (Notstrom, 20. Dez 2015, 11:08:09):
+    Huhu,
+
+ich werde vom 23.12 bis zum 26.12. meinen Urlaub unterbrechen und zu meinen
+Eltern fahren. Bin die Zeit ohne Internet und somit auch nicht eingeloggt.
+
+Notstrom.
+
+-----------------------------------------------------------------------------
+
+
+
+Uchlaup! (Amaryllis, 21. Dez 2015, 01:28:23):
+Hi,
+
+vom 25.12.2015 bis 02.01.2016 bin ich im verdienten Weihnachtsurlaub.
+
+Ama*
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub vom 27.12.15-03.01.16 (Arathorn, 27. Dez 2015, 13:50:31):
+Hallo zusammen,
+
+ich bin im o.g. Zeitraum nicht zu Hause. Internetzugang vor Ort gibt's nicht,
+aber kann sein, dass wir ueber Mobildinge irgendwie online sein koennen.
+Ich will mal nicht zuviel versprechen, also lasst das Mud heile - fuer
+Humni, Miril und Zesstra gilt naemlich dasselbe. ;-)
+
+Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Uchlaup! (Zook,  3. Jan 2016, 20:36:44):
+~#! rn=Amaryllis rt=1450657703 rg=magier.urlaub
+~#! tid=1450657703
+So tat ich es gleich.
+
+Zook
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub vom 12.03. - 02.04. (Ark,  9. Jan 2016, 09:25:33):
+Hi,
+
+in dieser Zeit bin ich weit weg, wahrscheinlich ohne Zugang zu irgendwas. Da
+ich schusselig bin, schreib ich das lieber schonmal, denn nun gibt es kein
+Zurueck mehr :-)
+
+Endlich erfuellt sich ein kleiner Traum!
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+Beruflich weg (Ark, 24. Jan 2016, 16:26:04):
+Vom 29.-31. bin ich beruflich weg und nicht erreichbar (suedspanisches
+Ausland).
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+30.03.16 - 03.04.16 (Chagall, 14. Mar 2016, 11:29:35):
+Huhu,
+
+im Zeitraum vom 30.03.16 - 03.04.16 mache ich Kopenhagen unsicher und bin
+deswegen hier nicht anzutreffen.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+20.-30.3.2016 (Arathorn, 20. Mar 2016, 12:59:41):
+Bin im o.g. Zeitraum im Urlaub, habe aber gelegentlich Netz und kann 
+reinschauen. Vermutlich werde ich aber nur dazu kommen, mich um wirklich
+Dringendes zu kuemmern.
+
+Gruss, Arathorn.
+
+-----------------------------------------------------------------------------
+
+
+
+Re: 20.-30.3.2016 (Humni, 20. Mar 2016, 13:01:31):
+~#! rn=Arathorn rt=1458475181 rg=magier.urlaub
+~#! tid=1458475181
+Schliesse mich an. Wie merkwuerdig. Fuer Miril gilt dasselbe.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Urlaub Ostern Sa/So (Notstrom, 26. Mar 2016, 00:00:50):
+Huhu,
+
+ich fahre morgen frueh weg und bin erst Sonntag abend wieder da. Bitte in der
+Zwischenzeit nichts kaputtspielen, auch nicht bei Chilana. ;)
+
+Frohe Ostern!
+Notstrom.
+
+-----------------------------------------------------------------------------
+
+
+
+Kurz mal weg. (Ark,  3. Mai 2016, 23:25:22):
+5.5.-8.5. mal kleinen Kurzurlaub nach Den Haag. Nix kaputtmachen. Bitte :)
+
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
+27.05-30.05 (Chagall, 10. Mai 2016, 20:31:34):
+Huhu,
+
+in der im Betreff genannten Zeit bin ich mal wieder abwesend. Muss Burster
+einsetzen, Resos deployen und noch viel anderes tun, z.B. viel Bier trinken.
+
+MC
+
+-----------------------------------------------------------------------------
+
+
+
+14.5.-30.05. (Gloinson, 10. Mai 2016, 21:59:46):
+Ebenso abwesend. Vielleicht habe ich Netz, vielleicht habe ich auch Lust oder
+Zeit mich einzuloggen, wenn nicht, dann lasst doch bitte die Gilde stehen.
+
+
+-----------------------------------------------------------------------------
+
+
+
+Nochmal ein bisgen Urlaub (Ark, 11. Mai 2016, 22:23:17):
+
+24.05.-29.05. kurz mal weg gen Osten. Dann leider erstmal dauer-hier :-)
+
+
+              *** ARK * the * Magnificent ***
+
+
+-----------------------------------------------------------------------------
+
+
+
